@vkontakte/vkui 4.33.4 → 4.34.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1574) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +526 -460
  4. package/.cache/ts/src/components/ActionSheet/ActionSheet.d.ts +1 -1
  5. package/.cache/ts/src/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  6. package/.cache/ts/src/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  7. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  8. package/.cache/ts/src/components/Alert/Alert.d.ts +1 -1
  9. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +7 -1
  10. package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -0
  11. package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +4 -2
  12. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +7 -6
  13. package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  14. package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -1
  15. package/.cache/ts/src/components/Badge/Badge.d.ts +1 -1
  16. package/.cache/ts/src/components/BaseGallery/helpers.d.ts +2 -2
  17. package/.cache/ts/src/components/BaseGallery/types.d.ts +1 -1
  18. package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  19. package/.cache/ts/src/components/Calendar/Calendar.d.ts +1 -1
  20. package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +1 -1
  21. package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +1 -1
  22. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  23. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
  24. package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +2 -2
  25. package/.cache/ts/src/components/Card/Card.d.ts +1 -1
  26. package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +8 -2
  27. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +1 -1
  28. package/.cache/ts/src/components/Cell/Cell.d.ts +2 -2
  29. package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  30. package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  31. package/.cache/ts/src/components/CellButton/CellButton.d.ts +2 -2
  32. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +1 -1
  33. package/.cache/ts/src/components/Chip/Chip.d.ts +1 -1
  34. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  35. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  36. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  37. package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  38. package/.cache/ts/src/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  39. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +4 -3
  40. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -2
  41. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  42. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  43. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  44. package/.cache/ts/src/components/Div/Div.d.ts +1 -1
  45. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +2 -2
  46. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  47. package/.cache/ts/src/components/Epic/Epic.d.ts +1 -1
  48. package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +2 -1
  49. package/.cache/ts/src/components/File/File.d.ts +1 -1
  50. package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +1 -1
  51. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
  52. package/.cache/ts/src/components/Footer/Footer.d.ts +1 -1
  53. package/.cache/ts/src/components/FormField/FormField.d.ts +3 -3
  54. package/.cache/ts/src/components/FormItem/FormItem.d.ts +1 -1
  55. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -1
  56. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  57. package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +1 -1
  58. package/.cache/ts/src/components/Gradient/Gradient.d.ts +7 -1
  59. package/.cache/ts/src/components/Group/Group.d.ts +1 -0
  60. package/.cache/ts/src/components/Header/Header.d.ts +1 -1
  61. package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  62. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  63. package/.cache/ts/src/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  64. package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +1 -1
  65. package/.cache/ts/src/components/InfoRow/InfoRow.d.ts +1 -1
  66. package/.cache/ts/src/components/InputLike/InputLike.d.ts +4 -1
  67. package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +1 -1
  68. package/.cache/ts/src/components/Link/Link.d.ts +8 -3
  69. package/.cache/ts/src/components/List/List.d.ts +1 -1
  70. package/.cache/ts/src/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  71. package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  72. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +2 -1
  73. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  74. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  75. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +2 -1
  76. package/.cache/ts/src/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  77. package/.cache/ts/src/components/Pagination/Pagination.d.ts +1 -1
  78. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  79. package/.cache/ts/src/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  80. package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  81. package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  82. package/.cache/ts/src/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  83. package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  84. package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  85. package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +1 -1
  86. package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +4 -1
  87. package/.cache/ts/src/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  88. package/.cache/ts/src/components/Popper/Popper.d.ts +1 -1
  89. package/.cache/ts/src/components/Progress/Progress.d.ts +1 -1
  90. package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +1 -1
  91. package/.cache/ts/src/components/RadioGroup/RadioGroup.d.ts +1 -1
  92. package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +2 -2
  93. package/.cache/ts/src/components/Removable/Removable.d.ts +1 -1
  94. package/.cache/ts/src/components/RichCell/RichCell.d.ts +18 -9
  95. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +2 -2
  96. package/.cache/ts/src/components/Root/Root.d.ts +1 -1
  97. package/.cache/ts/src/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  98. package/.cache/ts/src/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  99. package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  100. package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  101. package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  102. package/.cache/ts/src/components/Select/Select.d.ts +2 -2
  103. package/.cache/ts/src/components/Separator/Separator.d.ts +2 -2
  104. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  105. package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  106. package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  107. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +1 -1
  108. package/.cache/ts/src/components/Spacing/Spacing.d.ts +1 -1
  109. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -1
  110. package/.cache/ts/src/components/SplitLayout/SplitLayout.d.ts +1 -1
  111. package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  112. package/.cache/ts/src/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  113. package/.cache/ts/src/components/Switch/Switch.d.ts +2 -2
  114. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +1 -1
  115. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -1
  116. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +1 -1
  117. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +1 -1
  118. package/.cache/ts/src/components/Textarea/Textarea.d.ts +3 -0
  119. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +3 -2
  120. package/.cache/ts/src/components/Touch/Touch.d.ts +1 -1
  121. package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +1 -1
  122. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +1 -1
  123. package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  124. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +1 -1
  125. package/.cache/ts/src/components/Typography/Text/Text.d.ts +1 -1
  126. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -1
  127. package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  128. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +1 -1
  129. package/.cache/ts/src/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  130. package/.cache/ts/src/hoc/withInsets.d.ts +1 -1
  131. package/.cache/ts/src/hooks/useEnsuredControl.d.ts +2 -1
  132. package/.cache/ts/src/index.d.ts +1 -1
  133. package/.cache/ts/src/lib/SSR.d.ts +2 -1
  134. package/.cache/ts/src/testing/utils.d.ts +3 -2
  135. package/.cache/ts/src/tokenized/index.d.ts +28 -0
  136. package/.cache/ts/src/types.d.ts +3 -0
  137. package/.eslintignore +1 -0
  138. package/.eslintrc.json +4 -1
  139. package/.prettierignore +1 -1
  140. package/README.md +3 -4
  141. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -4
  142. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  143. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  144. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  145. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  146. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  147. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  148. package/dist/cjs/components/AppRoot/AppRoot.js +40 -23
  149. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  150. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  151. package/dist/cjs/components/AppRoot/AppRootPortal.js +3 -2
  152. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  153. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  154. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  155. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  156. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  157. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  158. package/dist/cjs/components/BaseGallery/BaseGallery.js +9 -9
  159. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  160. package/dist/cjs/components/BaseGallery/helpers.js +8 -8
  161. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  162. package/dist/cjs/components/Button/Button.js +33 -31
  163. package/dist/cjs/components/Button/Button.js.map +1 -1
  164. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +4 -2
  165. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  166. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  167. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  168. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  169. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  170. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  171. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  172. package/dist/cjs/components/Card/Card.js.map +1 -1
  173. package/dist/cjs/components/CardGrid/CardGrid.js +15 -19
  174. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  175. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  176. package/dist/cjs/components/Cell/Cell.js +3 -11
  177. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  178. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  179. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  180. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  181. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  182. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  183. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -0
  184. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  185. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  186. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +24 -22
  187. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  188. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +36 -5
  189. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  190. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js +90 -0
  191. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  192. package/dist/cjs/components/CustomSelect/CustomSelect.js +8 -3
  193. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  194. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +76 -34
  195. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  196. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  197. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  198. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  199. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  200. package/dist/cjs/components/Div/Div.js.map +1 -1
  201. package/dist/cjs/components/Dropdown/Dropdown.js +1 -6
  202. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  203. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  204. package/dist/cjs/components/Epic/Epic.js +10 -10
  205. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  206. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  207. package/dist/cjs/components/File/File.js.map +1 -1
  208. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  209. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  210. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  211. package/dist/cjs/components/FormField/FormField.js +4 -10
  212. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  213. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  214. package/dist/cjs/components/FormLayout/FormLayout.js +8 -8
  215. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  216. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  217. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  218. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  219. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  220. package/dist/cjs/components/Group/Group.js +28 -19
  221. package/dist/cjs/components/Group/Group.js.map +1 -1
  222. package/dist/cjs/components/Header/Header.js.map +1 -1
  223. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  224. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +13 -9
  225. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  226. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +33 -11
  227. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  228. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  229. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  230. package/dist/cjs/components/Input/Input.js +3 -6
  231. package/dist/cjs/components/Input/Input.js.map +1 -1
  232. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  233. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
  234. package/dist/cjs/components/Link/Link.js +8 -10
  235. package/dist/cjs/components/Link/Link.js.map +1 -1
  236. package/dist/cjs/components/List/List.js +1 -9
  237. package/dist/cjs/components/List/List.js.map +1 -1
  238. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +14 -26
  239. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  240. package/dist/cjs/components/ModalCard/ModalCard.js +2 -5
  241. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  242. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +5 -13
  243. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  244. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  245. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  246. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  247. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  248. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  249. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  250. package/dist/cjs/components/NativeSelect/NativeSelect.js +1 -0
  251. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  252. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  253. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  254. package/dist/cjs/components/Panel/Panel.js +1 -0
  255. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  256. package/dist/cjs/components/PanelHeader/PanelHeader.js +1 -0
  257. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  258. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  259. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  260. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  261. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  262. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  263. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  264. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  265. package/dist/cjs/components/Placeholder/Placeholder.js +10 -13
  266. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  267. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +9 -9
  268. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  269. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  270. package/dist/cjs/components/Popper/Popper.js +5 -3
  271. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  272. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  273. package/dist/cjs/components/PromoBanner/PromoBanner.js +9 -8
  274. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  275. package/dist/cjs/components/Radio/Radio.js +9 -8
  276. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  277. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  278. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  279. package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -0
  280. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  281. package/dist/cjs/components/Removable/Removable.js +2 -4
  282. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  283. package/dist/cjs/components/RichCell/RichCell.js +25 -25
  284. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  285. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  286. package/dist/cjs/components/Root/Root.js.map +1 -1
  287. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js +31 -0
  288. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  289. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js +32 -0
  290. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  291. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +28 -8
  292. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  293. package/dist/cjs/components/Search/Search.js.map +1 -1
  294. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  295. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  296. package/dist/cjs/components/Select/Select.js +1 -0
  297. package/dist/cjs/components/Select/Select.js.map +1 -1
  298. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +4 -1
  299. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  300. package/dist/cjs/components/Separator/Separator.js +2 -1
  301. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  302. package/dist/cjs/components/SimpleCell/SimpleCell.js +1 -0
  303. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  304. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  305. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  306. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  307. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -1
  308. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  309. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +6 -6
  310. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  311. package/dist/cjs/components/Snackbar/Snackbar.js +13 -16
  312. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  313. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  314. package/dist/cjs/components/SplitCol/SplitCol.js +11 -11
  315. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  316. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  317. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  318. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +11 -13
  319. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  320. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  321. package/dist/cjs/components/Tabbar/Tabbar.js +3 -6
  322. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  323. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  324. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  325. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  326. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  327. package/dist/cjs/components/Textarea/Textarea.js +5 -4
  328. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  329. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  330. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  331. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  332. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  333. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  334. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  335. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  336. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  337. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  338. package/dist/cjs/components/WriteBar/WriteBar.js +12 -12
  339. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  340. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  341. package/dist/cjs/helpers/scheme.js +4 -4
  342. package/dist/cjs/helpers/scheme.js.map +1 -1
  343. package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
  344. package/dist/cjs/hoc/withInsets.js.map +1 -1
  345. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  346. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  347. package/dist/cjs/index.js +2 -4
  348. package/dist/cjs/index.js.map +1 -1
  349. package/dist/cjs/lib/SSR.js +4 -4
  350. package/dist/cjs/lib/SSR.js.map +1 -1
  351. package/dist/cjs/lib/classScopingMode.js +1 -0
  352. package/dist/cjs/lib/classScopingMode.js.map +1 -1
  353. package/dist/cjs/lib/dom.js.map +1 -1
  354. package/dist/cjs/tokenized/index.js +112 -0
  355. package/dist/cjs/tokenized/index.js.map +1 -1
  356. package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
  357. package/dist/components/ActionSheet/ActionSheet.js +4 -4
  358. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  359. package/dist/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  360. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  361. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  362. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  363. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  364. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  365. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  366. package/dist/components/Alert/Alert.d.ts +1 -1
  367. package/dist/components/Alert/Alert.js.map +1 -1
  368. package/dist/components/AppRoot/AppRoot.d.ts +7 -1
  369. package/dist/components/AppRoot/AppRoot.js +39 -23
  370. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  371. package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
  372. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  373. package/dist/components/AppRoot/AppRootPortal.d.ts +4 -2
  374. package/dist/components/AppRoot/AppRootPortal.js +3 -2
  375. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  376. package/dist/components/AppRoot/ScrollContext.d.ts +7 -6
  377. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  378. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  379. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  380. package/dist/components/Avatar/Avatar.d.ts +1 -1
  381. package/dist/components/Avatar/Avatar.js.map +1 -1
  382. package/dist/components/Badge/Badge.d.ts +1 -1
  383. package/dist/components/Badge/Badge.js.map +1 -1
  384. package/dist/components/Banner/Banner.js.map +1 -1
  385. package/dist/components/BaseGallery/BaseGallery.js +7 -7
  386. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  387. package/dist/components/BaseGallery/helpers.d.ts +2 -2
  388. package/dist/components/BaseGallery/helpers.js +8 -8
  389. package/dist/components/BaseGallery/helpers.js.map +1 -1
  390. package/dist/components/BaseGallery/types.d.ts +1 -1
  391. package/dist/components/Button/Button.js +33 -31
  392. package/dist/components/Button/Button.js.map +1 -1
  393. package/dist/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  394. package/dist/components/ButtonGroup/ButtonGroup.js +4 -2
  395. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  396. package/dist/components/Calendar/Calendar.d.ts +1 -1
  397. package/dist/components/Calendar/Calendar.js.map +1 -1
  398. package/dist/components/CalendarDay/CalendarDay.d.ts +1 -1
  399. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  400. package/dist/components/CalendarDays/CalendarDays.d.ts +1 -1
  401. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  402. package/dist/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  403. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  404. package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
  405. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  406. package/dist/components/CalendarTime/CalendarTime.d.ts +2 -2
  407. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  408. package/dist/components/Card/Card.d.ts +1 -1
  409. package/dist/components/Card/Card.js.map +1 -1
  410. package/dist/components/CardGrid/CardGrid.d.ts +8 -2
  411. package/dist/components/CardGrid/CardGrid.js +13 -14
  412. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  413. package/dist/components/CardScroll/CardScroll.d.ts +1 -1
  414. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  415. package/dist/components/Cell/Cell.d.ts +2 -2
  416. package/dist/components/Cell/Cell.js +4 -11
  417. package/dist/components/Cell/Cell.js.map +1 -1
  418. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  419. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  420. package/dist/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  421. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  422. package/dist/components/CellButton/CellButton.d.ts +2 -2
  423. package/dist/components/CellButton/CellButton.js.map +1 -1
  424. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  425. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  426. package/dist/components/Chip/Chip.d.ts +1 -1
  427. package/dist/components/Chip/Chip.js.map +1 -1
  428. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  429. package/dist/components/ChipsSelect/ChipsSelect.js +5 -0
  430. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  431. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  432. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  433. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  434. package/dist/components/ConfigProvider/ConfigProvider.js +25 -21
  435. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  436. package/dist/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  437. package/dist/components/CustomScrollView/CustomScrollView.js +33 -4
  438. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  439. package/dist/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  440. package/dist/components/CustomScrollView/useTrackerVisibility.js +75 -0
  441. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  442. package/dist/components/CustomSelect/CustomSelect.d.ts +4 -3
  443. package/dist/components/CustomSelect/CustomSelect.js +8 -3
  444. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  445. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -2
  446. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +74 -34
  447. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  448. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  449. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  450. package/dist/components/DateInput/DateInput.d.ts +1 -1
  451. package/dist/components/DateInput/DateInput.js.map +1 -1
  452. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  453. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  454. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  455. package/dist/components/Div/Div.d.ts +1 -1
  456. package/dist/components/Div/Div.js.map +1 -1
  457. package/dist/components/Dropdown/Dropdown.d.ts +2 -2
  458. package/dist/components/Dropdown/Dropdown.js +1 -4
  459. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  460. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  461. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  462. package/dist/components/Epic/Epic.d.ts +1 -1
  463. package/dist/components/Epic/Epic.js +10 -10
  464. package/dist/components/Epic/Epic.js.map +1 -1
  465. package/dist/components/Epic/ScrollSaver.d.ts +2 -1
  466. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  467. package/dist/components/File/File.d.ts +1 -1
  468. package/dist/components/File/File.js.map +1 -1
  469. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -1
  470. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  471. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  472. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  473. package/dist/components/Footer/Footer.d.ts +1 -1
  474. package/dist/components/Footer/Footer.js.map +1 -1
  475. package/dist/components/FormField/FormField.d.ts +3 -3
  476. package/dist/components/FormField/FormField.js +4 -8
  477. package/dist/components/FormField/FormField.js.map +1 -1
  478. package/dist/components/FormItem/FormItem.d.ts +1 -1
  479. package/dist/components/FormItem/FormItem.js.map +1 -1
  480. package/dist/components/FormLayout/FormLayout.d.ts +1 -1
  481. package/dist/components/FormLayout/FormLayout.js +8 -8
  482. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  483. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  484. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  485. package/dist/components/FormStatus/FormStatus.d.ts +1 -1
  486. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  487. package/dist/components/Gallery/Gallery.js.map +1 -1
  488. package/dist/components/Gradient/Gradient.d.ts +7 -1
  489. package/dist/components/Gradient/Gradient.js.map +1 -1
  490. package/dist/components/Group/Group.d.ts +1 -0
  491. package/dist/components/Group/Group.js +27 -19
  492. package/dist/components/Group/Group.js.map +1 -1
  493. package/dist/components/Header/Header.d.ts +1 -1
  494. package/dist/components/Header/Header.js.map +1 -1
  495. package/dist/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  496. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  497. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  498. package/dist/components/HorizontalScroll/HorizontalScroll.js +10 -5
  499. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  500. package/dist/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  501. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +26 -12
  502. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  503. package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
  504. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  505. package/dist/components/InfoRow/InfoRow.d.ts +1 -1
  506. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  507. package/dist/components/Input/Input.js +3 -4
  508. package/dist/components/Input/Input.js.map +1 -1
  509. package/dist/components/InputLike/InputLike.d.ts +4 -1
  510. package/dist/components/InputLike/InputLike.js.map +1 -1
  511. package/dist/components/InputLike/InputLikeDivider.d.ts +1 -1
  512. package/dist/components/InputLike/InputLikeDivider.js.map +1 -1
  513. package/dist/components/Link/Link.d.ts +8 -3
  514. package/dist/components/Link/Link.js +8 -9
  515. package/dist/components/Link/Link.js.map +1 -1
  516. package/dist/components/List/List.d.ts +1 -1
  517. package/dist/components/List/List.js +1 -8
  518. package/dist/components/List/List.js.map +1 -1
  519. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  520. package/dist/components/MiniInfoCell/MiniInfoCell.js +13 -23
  521. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  522. package/dist/components/ModalCard/ModalCard.js +2 -5
  523. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  524. package/dist/components/ModalCardBase/ModalCardBase.js +6 -14
  525. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  526. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  527. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  528. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  529. package/dist/components/ModalRoot/ModalRoot.d.ts +2 -1
  530. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  531. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  532. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  533. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  534. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  535. package/dist/components/ModalRoot/useModalManager.d.ts +2 -1
  536. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  537. package/dist/components/NativeSelect/NativeSelect.js +1 -0
  538. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  539. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  540. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  541. package/dist/components/Pagination/Pagination.d.ts +1 -1
  542. package/dist/components/Pagination/Pagination.js.map +1 -1
  543. package/dist/components/Panel/Panel.js +1 -0
  544. package/dist/components/Panel/Panel.js.map +1 -1
  545. package/dist/components/PanelHeader/PanelHeader.js +1 -0
  546. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  547. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  548. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  549. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  550. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  551. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  552. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  553. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  554. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  555. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  556. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  557. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  558. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  559. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  560. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  561. package/dist/components/Placeholder/Placeholder.d.ts +1 -1
  562. package/dist/components/Placeholder/Placeholder.js +10 -13
  563. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  564. package/dist/components/PopoutRoot/PopoutRoot.d.ts +4 -1
  565. package/dist/components/PopoutRoot/PopoutRoot.js +9 -9
  566. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  567. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  568. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  569. package/dist/components/Popper/Popper.d.ts +1 -1
  570. package/dist/components/Popper/Popper.js +5 -3
  571. package/dist/components/Popper/Popper.js.map +1 -1
  572. package/dist/components/Progress/Progress.d.ts +1 -1
  573. package/dist/components/Progress/Progress.js.map +1 -1
  574. package/dist/components/PromoBanner/PromoBanner.d.ts +1 -1
  575. package/dist/components/PromoBanner/PromoBanner.js +10 -10
  576. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  577. package/dist/components/Radio/Radio.js +9 -8
  578. package/dist/components/Radio/Radio.js.map +1 -1
  579. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  580. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  581. package/dist/components/RangeSlider/RangeSlider.d.ts +2 -2
  582. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  583. package/dist/components/RangeSlider/UniversalSlider.js +1 -0
  584. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  585. package/dist/components/Removable/Removable.d.ts +1 -1
  586. package/dist/components/Removable/Removable.js +3 -4
  587. package/dist/components/Removable/Removable.js.map +1 -1
  588. package/dist/components/RichCell/RichCell.d.ts +18 -9
  589. package/dist/components/RichCell/RichCell.js +25 -21
  590. package/dist/components/RichCell/RichCell.js.map +1 -1
  591. package/dist/components/RichTooltip/RichTooltip.d.ts +2 -2
  592. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  593. package/dist/components/Root/Root.d.ts +1 -1
  594. package/dist/components/Root/Root.js.map +1 -1
  595. package/dist/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  596. package/dist/components/ScreenSpinner/Icon48CancelCircle.js +18 -0
  597. package/dist/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  598. package/dist/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  599. package/dist/components/ScreenSpinner/Icon48DoneOutline.js +19 -0
  600. package/dist/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  601. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  602. package/dist/components/ScreenSpinner/ScreenSpinner.js +25 -7
  603. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  604. package/dist/components/Search/Search.js.map +1 -1
  605. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  606. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  607. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  608. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  609. package/dist/components/Select/Select.d.ts +2 -2
  610. package/dist/components/Select/Select.js +1 -0
  611. package/dist/components/Select/Select.js.map +1 -1
  612. package/dist/components/SelectMimicry/SelectMimicry.js +4 -1
  613. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  614. package/dist/components/Separator/Separator.d.ts +2 -2
  615. package/dist/components/Separator/Separator.js +2 -1
  616. package/dist/components/Separator/Separator.js.map +1 -1
  617. package/dist/components/SimpleCell/SimpleCell.js +1 -0
  618. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  619. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  620. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  621. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  622. package/dist/components/Slider/Slider.js.map +1 -1
  623. package/dist/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  624. package/dist/components/SliderSwitch/SliderSwitch.js +1 -1
  625. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  626. package/dist/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  627. package/dist/components/SliderSwitch/SliderSwitchButton.js +6 -6
  628. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  629. package/dist/components/Snackbar/Snackbar.d.ts +1 -1
  630. package/dist/components/Snackbar/Snackbar.js +13 -16
  631. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  632. package/dist/components/Spacing/Spacing.d.ts +1 -1
  633. package/dist/components/Spacing/Spacing.js.map +1 -1
  634. package/dist/components/SplitCol/SplitCol.d.ts +1 -1
  635. package/dist/components/SplitCol/SplitCol.js +11 -11
  636. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  637. package/dist/components/SplitLayout/SplitLayout.d.ts +1 -1
  638. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  639. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  640. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  641. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  642. package/dist/components/SubnavigationButton/SubnavigationButton.js +12 -15
  643. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  644. package/dist/components/Switch/Switch.d.ts +2 -2
  645. package/dist/components/Switch/Switch.js.map +1 -1
  646. package/dist/components/Tabbar/Tabbar.d.ts +1 -1
  647. package/dist/components/Tabbar/Tabbar.js +2 -5
  648. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  649. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  650. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  651. package/dist/components/Tabs/Tabs.js.map +1 -1
  652. package/dist/components/TabsItem/TabsItem.d.ts +1 -1
  653. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  654. package/dist/components/TextTooltip/TextTooltip.d.ts +1 -1
  655. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  656. package/dist/components/Textarea/Textarea.d.ts +3 -0
  657. package/dist/components/Textarea/Textarea.js +5 -4
  658. package/dist/components/Textarea/Textarea.js.map +1 -1
  659. package/dist/components/Tooltip/Tooltip.d.ts +3 -2
  660. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  661. package/dist/components/Touch/Touch.d.ts +1 -1
  662. package/dist/components/Touch/Touch.js.map +1 -1
  663. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  664. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  665. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  666. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  667. package/dist/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  668. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  669. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -1
  670. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  671. package/dist/components/Typography/Text/Text.d.ts +1 -1
  672. package/dist/components/Typography/Text/Text.js.map +1 -1
  673. package/dist/components/Typography/Title/Title.d.ts +1 -1
  674. package/dist/components/Typography/Title/Title.js.map +1 -1
  675. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  676. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  677. package/dist/components/WriteBar/WriteBar.d.ts +1 -1
  678. package/dist/components/WriteBar/WriteBar.js +13 -14
  679. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  680. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  681. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  682. package/dist/components.css +21 -14
  683. package/dist/components.css.map +1 -1
  684. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +1 -1
  685. package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -4
  686. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  687. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  688. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  689. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  690. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  691. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  692. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  693. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  694. package/dist/cssm/components/Alert/Alert.d.ts +1 -1
  695. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  696. package/dist/cssm/components/AppRoot/AppRoot.d.ts +7 -1
  697. package/dist/cssm/components/AppRoot/AppRoot.js +39 -23
  698. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  699. package/dist/cssm/components/AppRoot/AppRootContext.d.ts +1 -0
  700. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  701. package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +4 -2
  702. package/dist/cssm/components/AppRoot/AppRootPortal.js +3 -2
  703. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  704. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +7 -6
  705. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  706. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  707. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  708. package/dist/cssm/components/Avatar/Avatar.css +1 -1
  709. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
  710. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  711. package/dist/cssm/components/Badge/Badge.d.ts +1 -1
  712. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  713. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  714. package/dist/cssm/components/BaseGallery/BaseGallery.js +7 -7
  715. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  716. package/dist/cssm/components/BaseGallery/helpers.d.ts +2 -2
  717. package/dist/cssm/components/BaseGallery/helpers.js +8 -8
  718. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  719. package/dist/cssm/components/BaseGallery/types.d.ts +1 -1
  720. package/dist/cssm/components/Button/Button.css +1 -1
  721. package/dist/cssm/components/Button/Button.js +33 -31
  722. package/dist/cssm/components/Button/Button.js.map +1 -1
  723. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
  724. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  725. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +4 -2
  726. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  727. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  728. package/dist/cssm/components/Calendar/Calendar.d.ts +1 -1
  729. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  730. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +1 -1
  731. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  732. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +1 -1
  733. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  734. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  735. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  736. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
  737. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  738. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +2 -2
  739. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  740. package/dist/cssm/components/Card/Card.d.ts +1 -1
  741. package/dist/cssm/components/Card/Card.js.map +1 -1
  742. package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
  743. package/dist/cssm/components/CardGrid/CardGrid.d.ts +8 -2
  744. package/dist/cssm/components/CardGrid/CardGrid.js +13 -14
  745. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  746. package/dist/cssm/components/CardScroll/CardScroll.d.ts +1 -1
  747. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  748. package/dist/cssm/components/Cell/Cell.css +3 -1
  749. package/dist/cssm/components/Cell/Cell.d.ts +2 -2
  750. package/dist/cssm/components/Cell/Cell.js +4 -11
  751. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  752. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  753. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  754. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  755. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  756. package/dist/cssm/components/CellButton/CellButton.d.ts +2 -2
  757. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  758. package/dist/cssm/components/Checkbox/Checkbox.d.ts +1 -1
  759. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  760. package/dist/cssm/components/Chip/Chip.d.ts +1 -1
  761. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  762. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  763. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -0
  764. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  765. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
  766. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  767. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  768. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +25 -21
  769. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  770. package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
  771. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  772. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +33 -4
  773. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  774. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  775. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +75 -0
  776. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  777. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +4 -3
  778. package/dist/cssm/components/CustomSelect/CustomSelect.js +8 -3
  779. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  780. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -2
  781. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +74 -34
  782. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  783. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  784. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  785. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  786. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  787. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  788. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  789. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  790. package/dist/cssm/components/Div/Div.d.ts +1 -1
  791. package/dist/cssm/components/Div/Div.js.map +1 -1
  792. package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
  793. package/dist/cssm/components/Dropdown/Dropdown.d.ts +2 -2
  794. package/dist/cssm/components/Dropdown/Dropdown.js +1 -4
  795. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  796. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  797. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  798. package/dist/cssm/components/Epic/Epic.d.ts +1 -1
  799. package/dist/cssm/components/Epic/Epic.js +10 -10
  800. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  801. package/dist/cssm/components/Epic/ScrollSaver.d.ts +2 -1
  802. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  803. package/dist/cssm/components/File/File.d.ts +1 -1
  804. package/dist/cssm/components/File/File.js.map +1 -1
  805. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -1
  806. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  807. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  808. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  809. package/dist/cssm/components/Footer/Footer.d.ts +1 -1
  810. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  811. package/dist/cssm/components/FormField/FormField.css +2 -2
  812. package/dist/cssm/components/FormField/FormField.d.ts +3 -3
  813. package/dist/cssm/components/FormField/FormField.js +4 -8
  814. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  815. package/dist/cssm/components/FormItem/FormItem.d.ts +1 -1
  816. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  817. package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -1
  818. package/dist/cssm/components/FormLayout/FormLayout.js +8 -8
  819. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  820. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  821. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  822. package/dist/cssm/components/FormStatus/FormStatus.d.ts +1 -1
  823. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  824. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  825. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  826. package/dist/cssm/components/Gradient/Gradient.d.ts +7 -1
  827. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  828. package/dist/cssm/components/Group/Group.css +1 -1
  829. package/dist/cssm/components/Group/Group.d.ts +1 -0
  830. package/dist/cssm/components/Group/Group.js +27 -19
  831. package/dist/cssm/components/Group/Group.js.map +1 -1
  832. package/dist/cssm/components/Header/Header.d.ts +1 -1
  833. package/dist/cssm/components/Header/Header.js.map +1 -1
  834. package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
  835. package/dist/cssm/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  836. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  837. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
  838. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  839. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +10 -5
  840. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  841. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +2 -5
  842. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  843. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +26 -12
  844. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  845. package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +1 -1
  846. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  847. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  848. package/dist/cssm/components/InfoRow/InfoRow.d.ts +1 -1
  849. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  850. package/dist/cssm/components/Input/Input.css +1 -1
  851. package/dist/cssm/components/Input/Input.js +3 -4
  852. package/dist/cssm/components/Input/Input.js.map +1 -1
  853. package/dist/cssm/components/InputLike/InputLike.d.ts +4 -1
  854. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  855. package/dist/cssm/components/InputLike/InputLikeDivider.d.ts +1 -1
  856. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
  857. package/dist/cssm/components/Link/Link.css +1 -1
  858. package/dist/cssm/components/Link/Link.d.ts +8 -3
  859. package/dist/cssm/components/Link/Link.js +8 -9
  860. package/dist/cssm/components/Link/Link.js.map +1 -1
  861. package/dist/cssm/components/List/List.d.ts +1 -1
  862. package/dist/cssm/components/List/List.js +1 -8
  863. package/dist/cssm/components/List/List.js.map +1 -1
  864. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
  865. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  866. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +13 -23
  867. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  868. package/dist/cssm/components/ModalCard/ModalCard.js +2 -5
  869. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  870. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -1
  871. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +6 -14
  872. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  873. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  874. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  875. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  876. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +2 -1
  877. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  878. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  879. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  880. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  881. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  882. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +2 -1
  883. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  884. package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -0
  885. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  886. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  887. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  888. package/dist/cssm/components/Pagination/Pagination.d.ts +1 -1
  889. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  890. package/dist/cssm/components/Panel/Panel.js +1 -0
  891. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  892. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -0
  893. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  894. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  895. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  896. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  897. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  898. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  899. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  900. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  901. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  902. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  903. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  904. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  905. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  906. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  907. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  908. package/dist/cssm/components/Placeholder/Placeholder.css +3 -1
  909. package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -1
  910. package/dist/cssm/components/Placeholder/Placeholder.js +10 -13
  911. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  912. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +4 -1
  913. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +9 -9
  914. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  915. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  916. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  917. package/dist/cssm/components/Popper/Popper.d.ts +1 -1
  918. package/dist/cssm/components/Popper/Popper.js +5 -3
  919. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  920. package/dist/cssm/components/Progress/Progress.d.ts +1 -1
  921. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  922. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +1 -1
  923. package/dist/cssm/components/PromoBanner/PromoBanner.js +10 -10
  924. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  925. package/dist/cssm/components/Radio/Radio.js +9 -8
  926. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  927. package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +1 -1
  928. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  929. package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +2 -2
  930. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  931. package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -0
  932. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  933. package/dist/cssm/components/Removable/Removable.css +1 -1
  934. package/dist/cssm/components/Removable/Removable.d.ts +1 -1
  935. package/dist/cssm/components/Removable/Removable.js +3 -4
  936. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  937. package/dist/cssm/components/RichCell/RichCell.css +3 -1
  938. package/dist/cssm/components/RichCell/RichCell.d.ts +18 -9
  939. package/dist/cssm/components/RichCell/RichCell.js +25 -21
  940. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  941. package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +2 -2
  942. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  943. package/dist/cssm/components/Root/Root.d.ts +1 -1
  944. package/dist/cssm/components/Root/Root.js.map +1 -1
  945. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  946. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js +18 -0
  947. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  948. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  949. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js +19 -0
  950. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  951. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
  952. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  953. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +25 -7
  954. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  955. package/dist/cssm/components/Search/Search.css +1 -1
  956. package/dist/cssm/components/Search/Search.js.map +1 -1
  957. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  958. package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  959. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  960. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  961. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  962. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  963. package/dist/cssm/components/Select/Select.css +1 -1
  964. package/dist/cssm/components/Select/Select.d.ts +2 -2
  965. package/dist/cssm/components/Select/Select.js +1 -0
  966. package/dist/cssm/components/Select/Select.js.map +1 -1
  967. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -1
  968. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  969. package/dist/cssm/components/Separator/Separator.css +1 -1
  970. package/dist/cssm/components/Separator/Separator.d.ts +2 -2
  971. package/dist/cssm/components/Separator/Separator.js +2 -1
  972. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  973. package/dist/cssm/components/SimpleCell/SimpleCell.js +1 -0
  974. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  975. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  976. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  977. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  978. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  979. package/dist/cssm/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  980. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -1
  981. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  982. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  983. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +6 -6
  984. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  985. package/dist/cssm/components/Snackbar/Snackbar.d.ts +1 -1
  986. package/dist/cssm/components/Snackbar/Snackbar.js +13 -16
  987. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  988. package/dist/cssm/components/Spacing/Spacing.d.ts +1 -1
  989. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  990. package/dist/cssm/components/SplitCol/SplitCol.css +1 -1
  991. package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -1
  992. package/dist/cssm/components/SplitCol/SplitCol.js +11 -11
  993. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  994. package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +1 -1
  995. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  996. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  997. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  998. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  999. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +12 -15
  1000. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  1001. package/dist/cssm/components/Switch/Switch.css +2 -2
  1002. package/dist/cssm/components/Switch/Switch.d.ts +2 -2
  1003. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  1004. package/dist/cssm/components/Tabbar/Tabbar.css +3 -1
  1005. package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -1
  1006. package/dist/cssm/components/Tabbar/Tabbar.js +2 -5
  1007. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  1008. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  1009. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1010. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  1011. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1012. package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -1
  1013. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1014. package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +1 -1
  1015. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  1016. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  1017. package/dist/cssm/components/Textarea/Textarea.d.ts +3 -0
  1018. package/dist/cssm/components/Textarea/Textarea.js +5 -4
  1019. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  1020. package/dist/cssm/components/Tooltip/Tooltip.d.ts +3 -2
  1021. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1022. package/dist/cssm/components/Touch/Touch.d.ts +1 -1
  1023. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  1024. package/dist/cssm/components/Typography/Caption/Caption.d.ts +1 -1
  1025. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1026. package/dist/cssm/components/Typography/Headline/Headline.d.ts +1 -1
  1027. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1028. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  1029. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  1030. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -1
  1031. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  1032. package/dist/cssm/components/Typography/Text/Text.d.ts +1 -1
  1033. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  1034. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -1
  1035. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1036. package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
  1037. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  1038. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  1039. package/dist/cssm/components/WriteBar/WriteBar.d.ts +1 -1
  1040. package/dist/cssm/components/WriteBar/WriteBar.js +13 -14
  1041. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  1042. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  1043. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1044. package/dist/cssm/helpers/scheme.js +4 -4
  1045. package/dist/cssm/helpers/scheme.js.map +1 -1
  1046. package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
  1047. package/dist/cssm/hoc/withInsets.d.ts +1 -1
  1048. package/dist/cssm/hoc/withInsets.js.map +1 -1
  1049. package/dist/cssm/hooks/useEnsuredControl.d.ts +2 -1
  1050. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  1051. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  1052. package/dist/cssm/index.d.ts +1 -1
  1053. package/dist/cssm/index.js +1 -1
  1054. package/dist/cssm/index.js.map +1 -1
  1055. package/dist/cssm/lib/SSR.d.ts +2 -1
  1056. package/dist/cssm/lib/SSR.js +4 -4
  1057. package/dist/cssm/lib/SSR.js.map +1 -1
  1058. package/dist/cssm/lib/classScopingMode.js +1 -0
  1059. package/dist/cssm/lib/classScopingMode.js.map +1 -1
  1060. package/dist/cssm/lib/dom.js.map +1 -1
  1061. package/dist/cssm/styles/components.css +21 -14
  1062. package/dist/cssm/styles/themes.css +1 -1
  1063. package/dist/cssm/styles/unstable.css +1 -1
  1064. package/dist/cssm/tokenized/index.d.ts +28 -0
  1065. package/dist/cssm/tokenized/index.js +14 -0
  1066. package/dist/cssm/tokenized/index.js.map +1 -1
  1067. package/dist/cssm/types.d.ts +3 -0
  1068. package/dist/helpers/scheme.js +4 -4
  1069. package/dist/helpers/scheme.js.map +1 -1
  1070. package/dist/hoc/withAdaptivity.js.map +1 -1
  1071. package/dist/hoc/withInsets.d.ts +1 -1
  1072. package/dist/hoc/withInsets.js.map +1 -1
  1073. package/dist/hooks/useEnsuredControl.d.ts +2 -1
  1074. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1075. package/dist/hooks/useEventListener.js.map +1 -1
  1076. package/dist/index.d.ts +1 -1
  1077. package/dist/index.js +1 -1
  1078. package/dist/index.js.map +1 -1
  1079. package/dist/lib/SSR.d.ts +2 -1
  1080. package/dist/lib/SSR.js +4 -4
  1081. package/dist/lib/SSR.js.map +1 -1
  1082. package/dist/lib/classScopingMode.js +1 -0
  1083. package/dist/lib/classScopingMode.js.map +1 -1
  1084. package/dist/lib/dom.js.map +1 -1
  1085. package/dist/tokenized/index.d.ts +28 -0
  1086. package/dist/tokenized/index.js +14 -0
  1087. package/dist/tokenized/index.js.map +1 -1
  1088. package/dist/types.d.ts +3 -0
  1089. package/dist/unstable.css +1 -1
  1090. package/dist/unstable.css.map +1 -1
  1091. package/dist/vkui.css +22 -15
  1092. package/dist/vkui.css.map +1 -1
  1093. package/package.json +16 -15
  1094. package/src/components/ActionSheet/ActionSheet.tsx +4 -6
  1095. package/src/components/ActionSheet/ActionSheetDropdown.tsx +2 -2
  1096. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +6 -3
  1097. package/src/components/ActionSheet/Readme.md +1 -1
  1098. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  1099. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +3 -1
  1100. package/src/components/Alert/Alert.tsx +7 -6
  1101. package/src/components/Alert/Readme.md +1 -1
  1102. package/src/components/AppRoot/AppRoot.tsx +42 -17
  1103. package/src/components/AppRoot/AppRootContext.ts +1 -0
  1104. package/src/components/AppRoot/AppRootPortal.tsx +13 -5
  1105. package/src/components/AppRoot/Readme.md +1 -1
  1106. package/src/components/AppRoot/ScrollContext.tsx +8 -9
  1107. package/src/components/AppearanceProvider/AppearanceProvider.tsx +3 -2
  1108. package/src/components/Avatar/Avatar.css +0 -14
  1109. package/src/components/Avatar/Avatar.tsx +1 -1
  1110. package/src/components/Badge/Badge.tsx +1 -1
  1111. package/src/components/Banner/Banner.tsx +5 -6
  1112. package/src/components/BaseGallery/BaseGallery.tsx +7 -7
  1113. package/src/components/BaseGallery/helpers.ts +7 -7
  1114. package/src/components/BaseGallery/types.ts +1 -1
  1115. package/src/components/Button/Button.css +0 -4
  1116. package/src/components/Button/Button.tsx +12 -8
  1117. package/src/components/Button/Readme.md +30 -59
  1118. package/src/components/ButtonGroup/ButtonGroup.css +12 -1
  1119. package/src/components/ButtonGroup/ButtonGroup.tsx +8 -5
  1120. package/src/components/ButtonGroup/Readme.md +15 -1
  1121. package/src/components/Calendar/Calendar.css +2 -2
  1122. package/src/components/Calendar/Calendar.tsx +2 -2
  1123. package/src/components/CalendarDay/CalendarDay.tsx +2 -2
  1124. package/src/components/CalendarDays/CalendarDays.tsx +2 -2
  1125. package/src/components/CalendarHeader/CalendarHeader.tsx +2 -2
  1126. package/src/components/CalendarRange/CalendarRange.tsx +2 -2
  1127. package/src/components/CalendarTime/CalendarTime.tsx +2 -2
  1128. package/src/components/Card/Card.tsx +1 -1
  1129. package/src/components/CardGrid/CardGrid.css +12 -20
  1130. package/src/components/CardGrid/CardGrid.tsx +15 -16
  1131. package/src/components/CardGrid/Readme.md +5 -0
  1132. package/src/components/CardScroll/CardScroll.tsx +1 -1
  1133. package/src/components/Cell/Cell.css +10 -3
  1134. package/src/components/Cell/Cell.tsx +11 -11
  1135. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +2 -2
  1136. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1137. package/src/components/CellButton/CellButton.tsx +1 -2
  1138. package/src/components/Checkbox/Checkbox.tsx +2 -2
  1139. package/src/components/Chip/Chip.tsx +1 -1
  1140. package/src/components/ChipsSelect/ChipsSelect.tsx +12 -4
  1141. package/src/components/ChipsSelect/Readme.md +1 -1
  1142. package/src/components/ClickPopper/ClickPopper.tsx +1 -1
  1143. package/src/components/ConfigProvider/ConfigProvider.tsx +22 -15
  1144. package/src/components/ConfigProvider/Readme.md +1 -1
  1145. package/src/components/CustomScrollView/CustomScrollView.css +5 -0
  1146. package/src/components/CustomScrollView/CustomScrollView.tsx +38 -4
  1147. package/src/components/CustomScrollView/useTrackerVisibility.ts +109 -0
  1148. package/src/components/CustomSelect/CustomSelect.tsx +10 -3
  1149. package/src/components/CustomSelect/Readme.md +228 -170
  1150. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +54 -25
  1151. package/src/components/CustomSelectOption/CustomSelectOption.tsx +1 -1
  1152. package/src/components/DateInput/DateInput.tsx +2 -2
  1153. package/src/components/DatePicker/DatePicker.tsx +6 -10
  1154. package/src/components/DateRangeInput/DateRangeInput.tsx +2 -2
  1155. package/src/components/Div/Div.tsx +1 -5
  1156. package/src/components/Dropdown/Dropdown.css +3 -16
  1157. package/src/components/Dropdown/Dropdown.tsx +2 -11
  1158. package/src/components/Dropdown/Readme.md +1 -1
  1159. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -3
  1160. package/src/components/Epic/Epic.tsx +7 -4
  1161. package/src/components/Epic/ScrollSaver.tsx +3 -2
  1162. package/src/components/File/File.tsx +2 -2
  1163. package/src/components/FixedLayout/FixedLayout.tsx +1 -1
  1164. package/src/components/FocusTrap/FocusTrap.tsx +2 -2
  1165. package/src/components/Footer/Footer.tsx +1 -4
  1166. package/src/components/FormField/FormField.css +31 -22
  1167. package/src/components/FormField/FormField.tsx +7 -11
  1168. package/src/components/FormField/Readme.md +10 -83
  1169. package/src/components/FormItem/FormItem.tsx +1 -1
  1170. package/src/components/FormLayout/FormLayout.tsx +7 -11
  1171. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -1
  1172. package/src/components/FormStatus/FormStatus.tsx +1 -1
  1173. package/src/components/Gallery/Gallery.tsx +1 -1
  1174. package/src/components/Gradient/Gradient.css +14 -76
  1175. package/src/components/Gradient/Gradient.tsx +8 -2
  1176. package/src/components/Gradient/Readme.md +53 -15
  1177. package/src/components/Group/Group.css +10 -14
  1178. package/src/components/Group/Group.tsx +32 -23
  1179. package/src/components/Group/Readme.md +1 -1
  1180. package/src/components/Header/Header.tsx +3 -3
  1181. package/src/components/HorizontalCell/HorizontalCell.css +2 -2
  1182. package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
  1183. package/src/components/HorizontalScroll/HorizontalScroll.css +14 -5
  1184. package/src/components/HorizontalScroll/HorizontalScroll.tsx +23 -9
  1185. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +28 -24
  1186. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +28 -9
  1187. package/src/components/HorizontalScroll/Readme.md +1 -0
  1188. package/src/components/HoverPopper/HoverPopper.tsx +1 -1
  1189. package/src/components/IconButton/IconButton.css +46 -25
  1190. package/src/components/InfoRow/InfoRow.tsx +1 -5
  1191. package/src/components/InitialsAvatar/Readme.md +1 -1
  1192. package/src/components/Input/Input.css +18 -9
  1193. package/src/components/Input/Input.tsx +7 -6
  1194. package/src/components/Input/Readme.md +128 -24
  1195. package/src/components/InputLike/InputLike.tsx +2 -2
  1196. package/src/components/InputLike/InputLikeDivider.tsx +4 -3
  1197. package/src/components/Link/Link.css +21 -1
  1198. package/src/components/Link/Link.tsx +12 -14
  1199. package/src/components/Link/Readme.md +36 -4
  1200. package/src/components/List/List.tsx +5 -10
  1201. package/src/components/MiniInfoCell/MiniInfoCell.css +6 -14
  1202. package/src/components/MiniInfoCell/MiniInfoCell.tsx +13 -22
  1203. package/src/components/ModalCard/ModalCard.tsx +6 -8
  1204. package/src/components/ModalCardBase/ModalCardBase.css +13 -9
  1205. package/src/components/ModalCardBase/ModalCardBase.tsx +17 -19
  1206. package/src/components/ModalCardBase/Readme.md +1 -1
  1207. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1208. package/src/components/ModalPage/ModalPage.tsx +2 -4
  1209. package/src/components/ModalRoot/ModalRoot.tsx +1 -0
  1210. package/src/components/ModalRoot/ModalRootAdaptive.tsx +4 -3
  1211. package/src/components/ModalRoot/ModalRootDesktop.tsx +1 -0
  1212. package/src/components/ModalRoot/Readme.md +1 -1
  1213. package/src/components/ModalRoot/useModalManager.tsx +5 -2
  1214. package/src/components/NativeSelect/NativeSelect.tsx +4 -4
  1215. package/src/components/NavTransitionContext/NavTransitionContext.tsx +2 -2
  1216. package/src/components/Pagination/Pagination.tsx +2 -2
  1217. package/src/components/Panel/Panel.tsx +2 -0
  1218. package/src/components/PanelHeader/PanelHeader.tsx +4 -2
  1219. package/src/components/PanelHeader/Readme.md +1 -1
  1220. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -3
  1221. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +2 -5
  1222. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +4 -4
  1223. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
  1224. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +2 -2
  1225. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -2
  1226. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +4 -4
  1227. package/src/components/Placeholder/Placeholder.css +7 -8
  1228. package/src/components/Placeholder/Placeholder.tsx +31 -40
  1229. package/src/components/Placeholder/Readme.md +77 -90
  1230. package/src/components/PopoutRoot/PopoutRoot.tsx +10 -13
  1231. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -1
  1232. package/src/components/PopoutWrapper/Readme.md +1 -1
  1233. package/src/components/Popper/Popper.tsx +5 -3
  1234. package/src/components/Popper/Readme.md +2 -2
  1235. package/src/components/Progress/Progress.tsx +1 -1
  1236. package/src/components/PromoBanner/PromoBanner.tsx +8 -4
  1237. package/src/components/Radio/Radio.tsx +11 -10
  1238. package/src/components/RadioGroup/RadioGroup.tsx +2 -2
  1239. package/src/components/RangeSlider/RangeSlider.tsx +3 -2
  1240. package/src/components/RangeSlider/UniversalSlider.tsx +4 -2
  1241. package/src/components/Removable/Removable.css +2 -2
  1242. package/src/components/Removable/Removable.tsx +8 -7
  1243. package/src/components/RichCell/Readme.md +78 -19
  1244. package/src/components/RichCell/RichCell.css +76 -59
  1245. package/src/components/RichCell/RichCell.tsx +49 -43
  1246. package/src/components/RichTooltip/Readme.md +2 -2
  1247. package/src/components/RichTooltip/RichTooltip.tsx +1 -2
  1248. package/src/components/Root/Root.tsx +1 -1
  1249. package/src/components/ScreenSpinner/Icon48CancelCircle.tsx +18 -0
  1250. package/src/components/ScreenSpinner/Icon48DoneOutline.tsx +19 -0
  1251. package/src/components/ScreenSpinner/Readme.md +57 -36
  1252. package/src/components/ScreenSpinner/ScreenSpinner.css +44 -9
  1253. package/src/components/ScreenSpinner/ScreenSpinner.tsx +27 -9
  1254. package/src/components/Search/Search.css +6 -2
  1255. package/src/components/Search/Search.tsx +7 -5
  1256. package/src/components/SegmentedControl/SegmentedControl.css +1 -1
  1257. package/src/components/SegmentedControl/SegmentedControl.tsx +2 -2
  1258. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  1259. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +2 -3
  1260. package/src/components/Select/Select.css +23 -9
  1261. package/src/components/Select/Select.tsx +9 -5
  1262. package/src/components/SelectMimicry/SelectMimicry.tsx +8 -4
  1263. package/src/components/Separator/Separator.css +11 -11
  1264. package/src/components/Separator/Separator.tsx +3 -6
  1265. package/src/components/SimpleCell/SimpleCell.tsx +4 -4
  1266. package/src/components/SimpleCheckbox/Readme.md +1 -1
  1267. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +12 -15
  1268. package/src/components/Slider/Slider.tsx +2 -1
  1269. package/src/components/SliderSwitch/Readme.md +1 -1
  1270. package/src/components/SliderSwitch/SliderSwitch.tsx +1 -1
  1271. package/src/components/SliderSwitch/SliderSwitchButton.tsx +7 -4
  1272. package/src/components/Snackbar/Snackbar.tsx +13 -22
  1273. package/src/components/Spacing/Spacing.tsx +1 -1
  1274. package/src/components/SplitCol/SplitCol.css +1 -1
  1275. package/src/components/SplitCol/SplitCol.tsx +11 -12
  1276. package/src/components/SplitLayout/SplitLayout.tsx +1 -1
  1277. package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -1
  1278. package/src/components/SubnavigationButton/Readme.md +1 -1
  1279. package/src/components/SubnavigationButton/SubnavigationButton.tsx +14 -21
  1280. package/src/components/Switch/Switch.css +9 -5
  1281. package/src/components/Switch/Switch.tsx +1 -2
  1282. package/src/components/Tabbar/Tabbar.css +12 -10
  1283. package/src/components/Tabbar/Tabbar.tsx +5 -7
  1284. package/src/components/TabbarItem/TabbarItem.tsx +1 -1
  1285. package/src/components/Tabs/Tabs.css +12 -0
  1286. package/src/components/Tabs/Tabs.tsx +1 -1
  1287. package/src/components/TabsItem/TabsItem.tsx +1 -1
  1288. package/src/components/Tappable/Readme.md +1 -1
  1289. package/src/components/TextTooltip/Readme.md +1 -1
  1290. package/src/components/TextTooltip/TextTooltip.tsx +1 -1
  1291. package/src/components/Textarea/Textarea.css +5 -3
  1292. package/src/components/Textarea/Textarea.tsx +6 -5
  1293. package/src/components/Tooltip/Readme.md +1 -1
  1294. package/src/components/Tooltip/Tooltip.css +2 -2
  1295. package/src/components/Tooltip/Tooltip.tsx +6 -3
  1296. package/src/components/Touch/Touch.tsx +1 -1
  1297. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1298. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1299. package/src/components/Typography/Paragraph/Paragraph.tsx +2 -2
  1300. package/src/components/Typography/Subhead/Subhead.tsx +2 -2
  1301. package/src/components/Typography/Text/Text.tsx +1 -1
  1302. package/src/components/Typography/Title/Title.tsx +2 -2
  1303. package/src/components/UsersStack/UsersStack.css +0 -8
  1304. package/src/components/View/Readme.md +1 -1
  1305. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +2 -2
  1306. package/src/components/WriteBar/WriteBar.css +1 -0
  1307. package/src/components/WriteBar/WriteBar.tsx +13 -17
  1308. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  1309. package/src/helpers/scheme.ts +4 -3
  1310. package/src/hoc/withAdaptivity.tsx +3 -3
  1311. package/src/hoc/withInsets.tsx +1 -1
  1312. package/src/hooks/useEnsuredControl.ts +2 -2
  1313. package/src/hooks/useEventListener.ts +4 -1
  1314. package/src/index.ts +1 -1
  1315. package/src/lib/SSR.tsx +6 -3
  1316. package/src/lib/classScopingMode.ts +1 -0
  1317. package/src/lib/dom.tsx +1 -1
  1318. package/src/lib/jsxRuntime.d.ts +2 -2
  1319. package/src/testing/setup.ts +3 -0
  1320. package/src/testing/utils.tsx +3 -5
  1321. package/src/tokenized/index.ts +42 -0
  1322. package/src/types.ts +4 -0
  1323. package/stylelint.config.js +22 -1
  1324. package/tasks/{styleint-atomic.js → stylelint-atomic.js} +1 -1
  1325. package/tasks/stylelint-bad-multiplication.js +69 -0
  1326. package/CONTRIBUTING.md +0 -66
  1327. package/CSS_GUIDE.md +0 -145
  1328. package/TESTING.md +0 -58
  1329. package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -76
  1330. package/dist/cjs/appearance/constants.d.ts +0 -1
  1331. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +0 -29
  1332. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +0 -8
  1333. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.d.ts +0 -4
  1334. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +0 -4
  1335. package/dist/cjs/components/ActionSheet/types.d.ts +0 -9
  1336. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +0 -23
  1337. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +0 -46
  1338. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +0 -13
  1339. package/dist/cjs/components/Alert/Alert.d.ts +0 -25
  1340. package/dist/cjs/components/AppRoot/AppRoot.d.ts +0 -17
  1341. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +0 -9
  1342. package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +0 -5
  1343. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +0 -26
  1344. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +0 -10
  1345. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +0 -3
  1346. package/dist/cjs/components/Avatar/Avatar.d.ts +0 -24
  1347. package/dist/cjs/components/Badge/Badge.d.ts +0 -9
  1348. package/dist/cjs/components/Banner/Banner.d.ts +0 -67
  1349. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +0 -4
  1350. package/dist/cjs/components/BaseGallery/helpers.d.ts +0 -12
  1351. package/dist/cjs/components/BaseGallery/types.d.ts +0 -43
  1352. package/dist/cjs/components/Button/Button.d.ts +0 -22
  1353. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +0 -23
  1354. package/dist/cjs/components/Calendar/Calendar.d.ts +0 -33
  1355. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +0 -22
  1356. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +0 -22
  1357. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +0 -24
  1358. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +0 -19
  1359. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +0 -11
  1360. package/dist/cjs/components/Card/Card.d.ts +0 -10
  1361. package/dist/cjs/components/CardGrid/CardGrid.d.ts +0 -8
  1362. package/dist/cjs/components/CardScroll/CardScroll.d.ts +0 -15
  1363. package/dist/cjs/components/Cell/Cell.d.ts +0 -50
  1364. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +0 -5
  1365. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +0 -6
  1366. package/dist/cjs/components/Cell/useDraggable.d.ts +0 -15
  1367. package/dist/cjs/components/CellButton/CellButton.d.ts +0 -11
  1368. package/dist/cjs/components/Checkbox/Checkbox.d.ts +0 -15
  1369. package/dist/cjs/components/Chip/Chip.d.ts +0 -19
  1370. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +0 -32
  1371. package/dist/cjs/components/ChipsInput/useChipsInput.d.ts +0 -14
  1372. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +0 -43
  1373. package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts +0 -22
  1374. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +0 -21
  1375. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +0 -18
  1376. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +0 -36
  1377. package/dist/cjs/components/ContentCard/ContentCard.d.ts +0 -36
  1378. package/dist/cjs/components/Counter/Counter.d.ts +0 -13
  1379. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +0 -10
  1380. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +0 -61
  1381. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +0 -15
  1382. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +0 -47
  1383. package/dist/cjs/components/DateInput/DateInput.d.ts +0 -15
  1384. package/dist/cjs/components/DatePicker/DatePicker.d.ts +0 -23
  1385. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +0 -21
  1386. package/dist/cjs/components/Div/Div.d.ts +0 -9
  1387. package/dist/cjs/components/Dropdown/Dropdown.d.ts +0 -11
  1388. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +0 -3
  1389. package/dist/cjs/components/Epic/Epic.d.ts +0 -11
  1390. package/dist/cjs/components/Epic/ScrollSaver.d.ts +0 -9
  1391. package/dist/cjs/components/File/File.d.ts +0 -13
  1392. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +0 -21
  1393. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +0 -11
  1394. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +0 -10
  1395. package/dist/cjs/components/Footer/Footer.d.ts +0 -8
  1396. package/dist/cjs/components/FormField/FormField.d.ts +0 -36
  1397. package/dist/cjs/components/FormItem/FormItem.d.ts +0 -17
  1398. package/dist/cjs/components/FormLayout/FormLayout.d.ts +0 -8
  1399. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +0 -15
  1400. package/dist/cjs/components/FormStatus/FormStatus.d.ts +0 -10
  1401. package/dist/cjs/components/Gallery/Gallery.d.ts +0 -10
  1402. package/dist/cjs/components/Gradient/Gradient.d.ts +0 -10
  1403. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +0 -15
  1404. package/dist/cjs/components/Group/Group.d.ts +0 -25
  1405. package/dist/cjs/components/Header/Header.d.ts +0 -20
  1406. package/dist/cjs/components/HorizontalCell/HorizontalCell.d.ts +0 -13
  1407. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +0 -21
  1408. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +0 -8
  1409. package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +0 -29
  1410. package/dist/cjs/components/IconButton/IconButton.d.ts +0 -14
  1411. package/dist/cjs/components/InfoRow/InfoRow.d.ts +0 -9
  1412. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +0 -35
  1413. package/dist/cjs/components/Input/Input.d.ts +0 -11
  1414. package/dist/cjs/components/InputLike/InputLike.d.ts +0 -10
  1415. package/dist/cjs/components/InputLike/InputLikeDivider.d.ts +0 -3
  1416. package/dist/cjs/components/Link/Link.d.ts +0 -8
  1417. package/dist/cjs/components/List/List.d.ts +0 -6
  1418. package/dist/cjs/components/List/ListContext.d.ts +0 -4
  1419. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +0 -2
  1420. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.d.ts +0 -42
  1421. package/dist/cjs/components/ModalCard/ModalCard.d.ts +0 -12
  1422. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +0 -39
  1423. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +0 -7
  1424. package/dist/cjs/components/ModalPage/ModalPage.d.ts +0 -39
  1425. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts +0 -10
  1426. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +0 -28
  1427. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +0 -25
  1428. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +0 -20
  1429. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +0 -28
  1430. package/dist/cjs/components/ModalRoot/constants.d.ts +0 -3
  1431. package/dist/cjs/components/ModalRoot/types.d.ts +0 -60
  1432. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +0 -38
  1433. package/dist/cjs/components/ModalRoot/withModalRootContext.d.ts +0 -5
  1434. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +0 -19
  1435. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.d.ts +0 -6
  1436. package/dist/cjs/components/Pagination/Pagination.d.ts +0 -45
  1437. package/dist/cjs/components/Panel/Panel.d.ts +0 -12
  1438. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +0 -31
  1439. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +0 -12
  1440. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.d.ts +0 -11
  1441. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +0 -6
  1442. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +0 -11
  1443. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +0 -10
  1444. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +0 -20
  1445. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +0 -6
  1446. package/dist/cjs/components/PanelSpinner/PanelSpinner.d.ts +0 -9
  1447. package/dist/cjs/components/Placeholder/Placeholder.d.ts +0 -25
  1448. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +0 -10
  1449. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +0 -13
  1450. package/dist/cjs/components/Popper/Popper.d.ts +0 -40
  1451. package/dist/cjs/components/Progress/Progress.d.ts +0 -10
  1452. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +0 -43
  1453. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +0 -22
  1454. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.d.ts +0 -10
  1455. package/dist/cjs/components/Radio/Radio.d.ts +0 -11
  1456. package/dist/cjs/components/RadioGroup/RadioGroup.d.ts +0 -9
  1457. package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +0 -8
  1458. package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +0 -16
  1459. package/dist/cjs/components/Removable/Removable.d.ts +0 -24
  1460. package/dist/cjs/components/RichCell/RichCell.d.ts +0 -47
  1461. package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +0 -8
  1462. package/dist/cjs/components/Root/Root.d.ts +0 -33
  1463. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +0 -8
  1464. package/dist/cjs/components/Search/Search.d.ts +0 -16
  1465. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +0 -20
  1466. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +0 -7
  1467. package/dist/cjs/components/Select/Select.d.ts +0 -18
  1468. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +0 -15
  1469. package/dist/cjs/components/Separator/Separator.d.ts +0 -16
  1470. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +0 -41
  1471. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -12
  1472. package/dist/cjs/components/Slider/Slider.d.ts +0 -7
  1473. package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +0 -48
  1474. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +0 -11
  1475. package/dist/cjs/components/Snackbar/Snackbar.d.ts +0 -38
  1476. package/dist/cjs/components/Spacing/Spacing.d.ts +0 -23
  1477. package/dist/cjs/components/Spinner/Spinner.d.ts +0 -9
  1478. package/dist/cjs/components/SplitCol/SplitCol.d.ts +0 -25
  1479. package/dist/cjs/components/SplitLayout/SplitLayout.d.ts +0 -18
  1480. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +0 -10
  1481. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.d.ts +0 -24
  1482. package/dist/cjs/components/Switch/Switch.d.ts +0 -10
  1483. package/dist/cjs/components/Tabbar/Tabbar.d.ts +0 -13
  1484. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +0 -23
  1485. package/dist/cjs/components/Tabs/Tabs.d.ts +0 -12
  1486. package/dist/cjs/components/TabsItem/TabsItem.d.ts +0 -10
  1487. package/dist/cjs/components/Tappable/Tappable.d.ts +0 -45
  1488. package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +0 -17
  1489. package/dist/cjs/components/Textarea/Textarea.d.ts +0 -10
  1490. package/dist/cjs/components/Tooltip/Tooltip.d.ts +0 -57
  1491. package/dist/cjs/components/Tooltip/TooltipContainer.d.ts +0 -5
  1492. package/dist/cjs/components/Touch/Touch.d.ts +0 -52
  1493. package/dist/cjs/components/Touch/TouchContext.d.ts +0 -7
  1494. package/dist/cjs/components/Typography/Caption/Caption.d.ts +0 -17
  1495. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +0 -14
  1496. package/dist/cjs/components/Typography/Headline/Headline.d.ts +0 -16
  1497. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +0 -13
  1498. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +0 -15
  1499. package/dist/cjs/components/Typography/Text/Text.d.ts +0 -15
  1500. package/dist/cjs/components/Typography/Title/Title.d.ts +0 -16
  1501. package/dist/cjs/components/UsersStack/UsersStack.d.ts +0 -25
  1502. package/dist/cjs/components/UsersStack/masks.d.ts +0 -1
  1503. package/dist/cjs/components/View/View.d.ts +0 -83
  1504. package/dist/cjs/components/View/ViewInfinite.d.ts +0 -66
  1505. package/dist/cjs/components/View/utils.d.ts +0 -2
  1506. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +0 -12
  1507. package/dist/cjs/components/WriteBar/WriteBar.d.ts +0 -26
  1508. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.d.ts +0 -21
  1509. package/dist/cjs/helpers/avatar.d.ts +0 -5
  1510. package/dist/cjs/helpers/getClassName.d.ts +0 -2
  1511. package/dist/cjs/helpers/getScheme.d.ts +0 -8
  1512. package/dist/cjs/helpers/math.d.ts +0 -5
  1513. package/dist/cjs/helpers/scheme.d.ts +0 -34
  1514. package/dist/cjs/hoc/withAdaptivity.d.ts +0 -13
  1515. package/dist/cjs/hoc/withContext.d.ts +0 -2
  1516. package/dist/cjs/hoc/withInsets.d.ts +0 -3
  1517. package/dist/cjs/hoc/withPlatform.d.ts +0 -3
  1518. package/dist/cjs/hooks/useAdaptivity.d.ts +0 -4
  1519. package/dist/cjs/hooks/useAppearance.d.ts +0 -1
  1520. package/dist/cjs/hooks/useBooleanState.d.ts +0 -6
  1521. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +0 -6
  1522. package/dist/cjs/hooks/useBrowserInfo.d.ts +0 -2
  1523. package/dist/cjs/hooks/useCalendar.d.ts +0 -19
  1524. package/dist/cjs/hooks/useDateInput.d.ts +0 -30
  1525. package/dist/cjs/hooks/useEffectDev.d.ts +0 -2
  1526. package/dist/cjs/hooks/useEnsuredControl.d.ts +0 -6
  1527. package/dist/cjs/hooks/useEventListener.d.ts +0 -7
  1528. package/dist/cjs/hooks/useExternRef.d.ts +0 -2
  1529. package/dist/cjs/hooks/useFocusVisible.d.ts +0 -6
  1530. package/dist/cjs/hooks/useGlobalEventListener.d.ts +0 -2
  1531. package/dist/cjs/hooks/useInsets.d.ts +0 -8
  1532. package/dist/cjs/hooks/useKeyboard.d.ts +0 -10
  1533. package/dist/cjs/hooks/useKeyboardInputTracker.d.ts +0 -3
  1534. package/dist/cjs/hooks/useObjectMemo.d.ts +0 -2
  1535. package/dist/cjs/hooks/useOrientationChange.d.ts +0 -7
  1536. package/dist/cjs/hooks/usePagination.d.ts +0 -34
  1537. package/dist/cjs/hooks/usePatchChildrenRef.d.ts +0 -6
  1538. package/dist/cjs/hooks/usePlatform.d.ts +0 -2
  1539. package/dist/cjs/hooks/usePrevious.d.ts +0 -1
  1540. package/dist/cjs/hooks/useTimeout.d.ts +0 -4
  1541. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +0 -3
  1542. package/dist/cjs/index.d.ts +0 -305
  1543. package/dist/cjs/lib/SSR.d.ts +0 -17
  1544. package/dist/cjs/lib/accessibility.d.ts +0 -10
  1545. package/dist/cjs/lib/animate.d.ts +0 -15
  1546. package/dist/cjs/lib/browser.d.ts +0 -11
  1547. package/dist/cjs/lib/calendar.d.ts +0 -14
  1548. package/dist/cjs/lib/callMultiple.d.ts +0 -1
  1549. package/dist/cjs/lib/classNames.d.ts +0 -6
  1550. package/dist/cjs/lib/classScopingMode.d.ts +0 -8
  1551. package/dist/cjs/lib/date.d.ts +0 -29
  1552. package/dist/cjs/lib/dom.d.ts +0 -21
  1553. package/dist/cjs/lib/fx.d.ts +0 -5
  1554. package/dist/cjs/lib/getNavId.d.ts +0 -7
  1555. package/dist/cjs/lib/is.d.ts +0 -1
  1556. package/dist/cjs/lib/isRefObject.d.ts +0 -2
  1557. package/dist/cjs/lib/jsxRuntime.d.ts +0 -8
  1558. package/dist/cjs/lib/offset.d.ts +0 -7
  1559. package/dist/cjs/lib/platform.d.ts +0 -19
  1560. package/dist/cjs/lib/polyfills.d.ts +0 -6
  1561. package/dist/cjs/lib/prefixClass.d.ts +0 -1
  1562. package/dist/cjs/lib/removeObjectKeys.d.ts +0 -1
  1563. package/dist/cjs/lib/select.d.ts +0 -9
  1564. package/dist/cjs/lib/styles.d.ts +0 -1
  1565. package/dist/cjs/lib/supportEvents.d.ts +0 -9
  1566. package/dist/cjs/lib/taptic.d.ts +0 -2
  1567. package/dist/cjs/lib/testing.d.ts +0 -1
  1568. package/dist/cjs/lib/touch.d.ts +0 -9
  1569. package/dist/cjs/lib/useIsomorphicLayoutEffect.d.ts +0 -2
  1570. package/dist/cjs/lib/utils.d.ts +0 -16
  1571. package/dist/cjs/lib/warnOnce.d.ts +0 -2
  1572. package/dist/cjs/tokenized/index.d.ts +0 -126
  1573. package/dist/cjs/types.d.ts +0 -34
  1574. package/dist/cjs/unstable/index.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","chipsInputDefaultProps","emptyText","creatableText","onChangeStart","noop","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","defaultFilterFn","renderOption","option","restProps","ChipsSelectComponent","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","React","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter","ChipsSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport {\n ChipsInput,\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport {\n CustomSelectOption,\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype focusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: focusActionType = \"next\";\nconst FOCUS_ACTION_PREV: focusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelectComponent = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: focusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames(\n opened && \"Select--open\",\n opened &&\n (isPopperDirectionTop ? \"Select--pop-up\" : \"Select--pop-down\")\n )}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption vkuiClass=\"ChipsSelect__empty\">{emptyText}</Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ChipsSelect\n */\nexport const ChipsSelect = withAdaptivity(ChipsSelectComponent, {\n sizeY: true,\n});\n"],"file":"ChipsSelect.js"}
1
+ {"version":3,"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","chipsInputDefaultProps","emptyText","creatableText","onChangeStart","noop","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","defaultFilterFn","renderOption","option","restProps","ChipsSelectComponent","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","React","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","observableRefs","useMemo","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter","ChipsSelect","displayName"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport {\n ChipsInput,\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport {\n CustomSelectOption,\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype FocusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: FocusActionType = \"next\";\nconst FOCUS_ACTION_PREV: FocusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelectComponent = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: FocusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n const observableRefs = React.useMemo(\n () => [scrollBoxRef, rootRef],\n [rootRef, scrollBoxRef]\n );\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames(\n opened && \"Select--open\",\n opened &&\n (isPopperDirectionTop ? \"Select--pop-up\" : \"Select--pop-down\")\n )}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n observableRefs={observableRefs}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption vkuiClass=\"ChipsSelect__empty\">{emptyText}</Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ChipsSelect\n */\nexport const ChipsSelect = withAdaptivity(ChipsSelectComponent, {\n sizeY: true,\n});\n\nChipsSelect.displayName = \"ChipsSelect\";\n"],"file":"ChipsSelect.js"}
@@ -1 +1 @@
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,WAAuC,GAAG,SAA1CA,WAA0C,OAO/B;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: React.FC<ClickPopperProps> = ({\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
+ {"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"}
@@ -15,8 +15,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
15
15
 
16
16
  var React = _interopRequireWildcard(require("react"));
17
17
 
18
- var _vkBridge = _interopRequireDefault(require("@vkontakte/vk-bridge"));
19
-
20
18
  var _dom = require("../../lib/dom");
21
19
 
22
20
  var _ConfigProviderContext = require("./ConfigProviderContext");
@@ -35,8 +33,6 @@ var _AppearanceProvider = require("../AppearanceProvider/AppearanceProvider");
35
33
 
36
34
  var _LocaleProviderContext = require("../LocaleProviderContext/LocaleProviderContext");
37
35
 
38
- var _platform = require("../../lib/platform");
39
-
40
36
  var warn = (0, _warnOnce.warnOnce)("ConfigProvider");
41
37
 
42
38
  function useSchemeDetector(node, _scheme) {
@@ -82,22 +78,25 @@ var deriveAppearance = function deriveAppearance(scheme) {
82
78
  */
83
79
 
84
80
 
85
- var ConfigProvider = function ConfigProvider(_ref) {
86
- var children = _ref.children,
87
- _ref$webviewType = _ref.webviewType,
88
- webviewType = _ref$webviewType === void 0 ? _ConfigProviderContext.WebviewType.VKAPPS : _ref$webviewType,
89
- _ref$isWebView = _ref.isWebView,
90
- isWebView = _ref$isWebView === void 0 ? _vkBridge.default.isWebView() : _ref$isWebView,
91
- _ref$transitionMotion = _ref.transitionMotionEnabled,
92
- transitionMotionEnabled = _ref$transitionMotion === void 0 ? true : _ref$transitionMotion,
93
- _ref$platform = _ref.platform,
94
- platform = _ref$platform === void 0 ? (0, _platform.platform)() : _ref$platform,
95
- _ref$hasNewTokens = _ref.hasNewTokens,
96
- hasNewTokens = _ref$hasNewTokens === void 0 ? false : _ref$hasNewTokens,
97
- appearance = _ref.appearance,
98
- scheme = _ref.scheme,
99
- _ref$locale = _ref.locale,
100
- locale = _ref$locale === void 0 ? "ru" : _ref$locale;
81
+ var ConfigProvider = function ConfigProvider(props) {
82
+ var parentLocale = React.useContext(_LocaleProviderContext.LocaleProviderContext);
83
+ var parentConfig = React.useContext(_ConfigProviderContext.ConfigProviderContext);
84
+ var children = props.children,
85
+ _props$webviewType = props.webviewType,
86
+ webviewType = _props$webviewType === void 0 ? parentConfig.webviewType : _props$webviewType,
87
+ _props$isWebView = props.isWebView,
88
+ isWebView = _props$isWebView === void 0 ? parentConfig.isWebView : _props$isWebView,
89
+ _props$transitionMoti = props.transitionMotionEnabled,
90
+ transitionMotionEnabled = _props$transitionMoti === void 0 ? parentConfig.transitionMotionEnabled : _props$transitionMoti,
91
+ _props$platform = props.platform,
92
+ platform = _props$platform === void 0 ? parentConfig.platform : _props$platform,
93
+ _props$hasNewTokens = props.hasNewTokens,
94
+ hasNewTokens = _props$hasNewTokens === void 0 ? parentConfig.hasNewTokens : _props$hasNewTokens,
95
+ _props$appearance = props.appearance,
96
+ appearance = _props$appearance === void 0 ? parentConfig.appearance : _props$appearance,
97
+ scheme = props.scheme,
98
+ _props$locale = props.locale,
99
+ locale = _props$locale === void 0 ? parentLocale !== null && parentLocale !== void 0 ? parentLocale : "ru" : _props$locale;
101
100
  var normalizedScheme = (0, _scheme2.normalizeScheme)({
102
101
  scheme: scheme,
103
102
  platform: platform,
@@ -113,7 +112,8 @@ var ConfigProvider = function ConfigProvider(_ref) {
113
112
  return _utils.noop;
114
113
  }
115
114
 
116
- if (process.env.NODE_ENV === "development" && target !== null && target !== void 0 && target.hasAttribute("scheme")) {
115
+ if (process.env.NODE_ENV === "development" && target !== null && target !== void 0 && target.hasAttribute("scheme") && parentConfig.appearance === undefined // appearance не была вычислена в родительском конфиге, @deprecated будет удалено в 5.0.0
116
+ ) {
117
117
  warn('<body scheme> был установлен перед монтированием VKUI - вы не забыли scheme="inherit"?');
118
118
  }
119
119
 
@@ -125,9 +125,11 @@ var ConfigProvider = function ConfigProvider(_ref) {
125
125
  var realScheme = useSchemeDetector(target, normalizedScheme);
126
126
  var derivedAppearance = deriveAppearance(realScheme);
127
127
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
128
- var VKUITokensClassName = (0, _AppearanceProvider.generateVKUITokensClassName)(platform, derivedAppearance);
128
+ var VKUITokensClassName = (0, _AppearanceProvider.generateVKUITokensClassName)(platform, derivedAppearance); // eslint-disable-next-line no-restricted-properties
129
+
129
130
  target === null || target === void 0 ? void 0 : target.classList.add(VKUITokensClassName);
130
131
  return function () {
132
+ // eslint-disable-next-line no-restricted-properties
131
133
  target === null || target === void 0 ? void 0 : target.classList.remove(VKUITokensClassName);
132
134
  };
133
135
  }, [platform, derivedAppearance]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProvider.tsx"],"names":["warn","useSchemeDetector","node","_scheme","inherit","getScheme","React","useCallback","canUseDOM","undefined","getAttribute","useState","resolvedScheme","setScheme","useEffect","noop","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","deriveAppearance","scheme","Scheme","SPACE_GRAY","VKCOM_DARK","ConfigProvider","children","webviewType","WebviewType","VKAPPS","isWebView","vkBridge","transitionMotionEnabled","platform","hasNewTokens","appearance","locale","normalizedScheme","document","target","body","process","env","NODE_ENV","hasAttribute","setAttribute","removeAttribute","realScheme","derivedAppearance","VKUITokensClassName","classList","add","remove","configContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { canUseDOM, useDOM } from \"../../lib/dom\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n WebviewType,\n} from \"./ConfigProviderContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n normalizeScheme,\n AppearanceScheme,\n Scheme,\n} from \"../../helpers/scheme\";\nimport {\n AppearanceProvider,\n generateVKUITokensClassName,\n} from \"../AppearanceProvider/AppearanceProvider\";\nimport { LocaleProviderContext } from \"../LocaleProviderContext/LocaleProviderContext\";\nimport { platform as resolvePlatform } from \"../../lib/platform\";\n\nexport interface ConfigProviderProps\n extends Partial<ConfigProviderContextInterface> {\n /**\n * @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance\n * Цветовая схема приложения\n */\n scheme?: AppearanceScheme;\n /**\n Локаль ([список](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry))\n */\n locale?: string;\n}\n\nconst warn = warnOnce(\"ConfigProvider\");\n\nfunction useSchemeDetector(\n node: HTMLElement | undefined | null,\n _scheme: Scheme | \"inherit\"\n) {\n const inherit = _scheme === \"inherit\";\n const getScheme = React.useCallback(() => {\n if (!inherit || !canUseDOM || !node) {\n return undefined;\n }\n return node.getAttribute(\"scheme\") as Scheme;\n }, [inherit, node]);\n const [resolvedScheme, setScheme] = React.useState(getScheme());\n\n React.useEffect(() => {\n if (!inherit || !node) {\n return noop;\n }\n setScheme(getScheme());\n const observer = new MutationObserver(() => setScheme(getScheme()));\n observer.observe(node, { attributes: true, attributeFilter: [\"scheme\"] });\n return () => observer.disconnect();\n }, [getScheme, inherit, node]);\n\n return _scheme === \"inherit\" ? resolvedScheme : _scheme;\n}\n\nconst deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK\n ? \"dark\"\n : \"light\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ConfigProvider\n */\nexport const ConfigProvider: React.FC<ConfigProviderProps> = ({\n children,\n webviewType = WebviewType.VKAPPS,\n isWebView = vkBridge.isWebView(),\n transitionMotionEnabled = true,\n platform = resolvePlatform(),\n hasNewTokens = false,\n appearance,\n scheme,\n locale = \"ru\",\n}) => {\n const normalizedScheme = normalizeScheme({\n scheme,\n platform,\n appearance,\n });\n const { document } = useDOM();\n const target = document?.body;\n\n useIsomorphicLayoutEffect(() => {\n if (normalizedScheme === \"inherit\") {\n return noop;\n }\n if (\n process.env.NODE_ENV === \"development\" &&\n target?.hasAttribute(\"scheme\")\n ) {\n warn(\n '<body scheme> был установлен перед монтированием VKUI - вы не забыли scheme=\"inherit\"?'\n );\n }\n target?.setAttribute(\"scheme\", normalizedScheme);\n return () => target?.removeAttribute(\"scheme\");\n }, [normalizedScheme]);\n\n const realScheme = useSchemeDetector(target, normalizedScheme);\n const derivedAppearance = deriveAppearance(realScheme);\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(\n platform,\n derivedAppearance\n );\n\n target?.classList.add(VKUITokensClassName);\n\n return () => {\n target?.classList.remove(VKUITokensClassName);\n };\n }, [platform, derivedAppearance]);\n\n const configContext = useObjectMemo({\n webviewType,\n isWebView,\n transitionMotionEnabled,\n hasNewTokens,\n platform,\n scheme,\n appearance: appearance || derivedAppearance,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <LocaleProviderContext.Provider value={locale}>\n <AppearanceProvider appearance={configContext.appearance}>\n {children}\n </AppearanceProvider>\n </LocaleProviderContext.Provider>\n </ConfigProviderContext.Provider>\n );\n};\n"],"file":"ConfigProvider.js"}
1
+ {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProvider.tsx"],"names":["warn","useSchemeDetector","node","_scheme","inherit","getScheme","React","useCallback","canUseDOM","undefined","getAttribute","useState","resolvedScheme","setScheme","useEffect","noop","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","deriveAppearance","scheme","Scheme","SPACE_GRAY","VKCOM_DARK","ConfigProvider","props","parentLocale","useContext","LocaleProviderContext","parentConfig","ConfigProviderContext","children","webviewType","isWebView","transitionMotionEnabled","platform","hasNewTokens","appearance","locale","normalizedScheme","document","target","body","process","env","NODE_ENV","hasAttribute","setAttribute","removeAttribute","realScheme","derivedAppearance","VKUITokensClassName","classList","add","remove","configContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { canUseDOM, useDOM } from \"../../lib/dom\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"./ConfigProviderContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n normalizeScheme,\n AppearanceScheme,\n Scheme,\n} from \"../../helpers/scheme\";\nimport {\n AppearanceProvider,\n generateVKUITokensClassName,\n} from \"../AppearanceProvider/AppearanceProvider\";\nimport { LocaleProviderContext } from \"../LocaleProviderContext/LocaleProviderContext\";\n\nexport interface ConfigProviderProps\n extends Partial<ConfigProviderContextInterface> {\n /**\n * @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance\n * Цветовая схема приложения\n */\n scheme?: AppearanceScheme;\n /**\n Локаль ([список](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry))\n */\n locale?: string;\n children?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"ConfigProvider\");\n\nfunction useSchemeDetector(\n node: HTMLElement | undefined | null,\n _scheme: Scheme | \"inherit\"\n) {\n const inherit = _scheme === \"inherit\";\n const getScheme = React.useCallback(() => {\n if (!inherit || !canUseDOM || !node) {\n return undefined;\n }\n return node.getAttribute(\"scheme\") as Scheme;\n }, [inherit, node]);\n const [resolvedScheme, setScheme] = React.useState(getScheme());\n\n React.useEffect(() => {\n if (!inherit || !node) {\n return noop;\n }\n setScheme(getScheme());\n const observer = new MutationObserver(() => setScheme(getScheme()));\n observer.observe(node, { attributes: true, attributeFilter: [\"scheme\"] });\n return () => observer.disconnect();\n }, [getScheme, inherit, node]);\n\n return _scheme === \"inherit\" ? resolvedScheme : _scheme;\n}\n\nconst deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK\n ? \"dark\"\n : \"light\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ConfigProvider\n */\nexport const ConfigProvider = (props: ConfigProviderProps) => {\n const parentLocale = React.useContext(LocaleProviderContext);\n const parentConfig = React.useContext(ConfigProviderContext);\n\n const {\n children,\n webviewType = parentConfig.webviewType,\n isWebView = parentConfig.isWebView,\n transitionMotionEnabled = parentConfig.transitionMotionEnabled,\n platform = parentConfig.platform,\n hasNewTokens = parentConfig.hasNewTokens,\n appearance = parentConfig.appearance,\n scheme,\n locale = parentLocale ?? \"ru\",\n } = props;\n\n const normalizedScheme = normalizeScheme({\n scheme,\n platform,\n appearance,\n });\n const { document } = useDOM();\n const target = document?.body;\n\n useIsomorphicLayoutEffect(() => {\n if (normalizedScheme === \"inherit\") {\n return noop;\n }\n if (\n process.env.NODE_ENV === \"development\" &&\n target?.hasAttribute(\"scheme\") &&\n parentConfig.appearance === undefined // appearance не была вычислена в родительском конфиге, @deprecated будет удалено в 5.0.0\n ) {\n warn(\n '<body scheme> был установлен перед монтированием VKUI - вы не забыли scheme=\"inherit\"?'\n );\n }\n target?.setAttribute(\"scheme\", normalizedScheme);\n return () => target?.removeAttribute(\"scheme\");\n }, [normalizedScheme]);\n\n const realScheme = useSchemeDetector(target, normalizedScheme);\n const derivedAppearance = deriveAppearance(realScheme);\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(\n platform,\n derivedAppearance\n );\n\n // eslint-disable-next-line no-restricted-properties\n target?.classList.add(VKUITokensClassName);\n\n return () => {\n // eslint-disable-next-line no-restricted-properties\n target?.classList.remove(VKUITokensClassName);\n };\n }, [platform, derivedAppearance]);\n\n const configContext = useObjectMemo({\n webviewType,\n isWebView,\n transitionMotionEnabled,\n hasNewTokens,\n platform,\n scheme,\n appearance: appearance || derivedAppearance,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <LocaleProviderContext.Provider value={locale}>\n <AppearanceProvider appearance={configContext.appearance}>\n {children}\n </AppearanceProvider>\n </LocaleProviderContext.Provider>\n </ConfigProviderContext.Provider>\n );\n};\n"],"file":"ConfigProvider.js"}
@@ -9,21 +9,28 @@ exports.CustomScrollView = void 0;
9
9
 
10
10
  var _jsxRuntime = require("../../lib/jsxRuntime");
11
11
 
12
- var _dom = require("../../lib/dom");
13
-
14
12
  var React = _interopRequireWildcard(require("react"));
15
13
 
16
- var _useExternRef = require("../../hooks/useExternRef");
14
+ var _dom = require("../../lib/dom");
15
+
16
+ var _classNames = require("../../lib/classNames");
17
17
 
18
18
  var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
19
19
 
20
+ var _useExternRef = require("../../hooks/useExternRef");
21
+
20
22
  var _useEventListener = require("../../hooks/useEventListener");
21
23
 
24
+ var _useTrackerVisibility2 = require("./useTrackerVisibility");
25
+
22
26
  var CustomScrollView = function CustomScrollView(_ref) {
23
27
  var className = _ref.className,
24
28
  children = _ref.children,
25
29
  externalBoxRef = _ref.boxRef,
26
- windowResize = _ref.windowResize;
30
+ windowResize = _ref.windowResize,
31
+ _ref$autoHideScrollba = _ref.autoHideScrollbar,
32
+ autoHideScrollbar = _ref$autoHideScrollba === void 0 ? false : _ref$autoHideScrollba,
33
+ autoHideScrollbarDelay = _ref.autoHideScrollbarDelay;
27
34
 
28
35
  var _useDOM = (0, _dom.useDOM)(),
29
36
  document = _useDOM.document,
@@ -116,8 +123,21 @@ var CustomScrollView = function CustomScrollView(_ref) {
116
123
  setScrollPositionFromTracker(position);
117
124
  };
118
125
 
126
+ var _useTrackerVisibility = (0, _useTrackerVisibility2.useTrackerVisibility)(autoHideScrollbar, autoHideScrollbarDelay),
127
+ trackerVisible = _useTrackerVisibility.trackerVisible,
128
+ onTargetScroll = _useTrackerVisibility.onTargetScroll,
129
+ onTrackerDragStart = _useTrackerVisibility.onTrackerDragStart,
130
+ onTrackerDragStop = _useTrackerVisibility.onTrackerDragStop,
131
+ onTrackerMouseEnter = _useTrackerVisibility.onTrackerMouseEnter,
132
+ onTrackerMouseLeave = _useTrackerVisibility.onTrackerMouseLeave;
133
+
119
134
  var onUp = function onUp(e) {
120
135
  e.preventDefault();
136
+
137
+ if (autoHideScrollbar) {
138
+ onTrackerDragStop();
139
+ }
140
+
121
141
  unsubscribe();
122
142
  };
123
143
 
@@ -126,6 +146,10 @@ var CustomScrollView = function CustomScrollView(_ref) {
126
146
  return;
127
147
  }
128
148
 
149
+ if (autoHideScrollbar) {
150
+ onTargetScroll();
151
+ }
152
+
129
153
  setTrackerPositionFromScroll(boxRef.current.scrollTop);
130
154
  };
131
155
 
@@ -149,6 +173,11 @@ var CustomScrollView = function CustomScrollView(_ref) {
149
173
  e.preventDefault();
150
174
  startY.current = e.clientY;
151
175
  trackerTop.current = lastTrackerTop.current;
176
+
177
+ if (autoHideScrollbar) {
178
+ onTrackerDragStart();
179
+ }
180
+
152
181
  subscribe(document);
153
182
  };
154
183
 
@@ -159,7 +188,9 @@ var CustomScrollView = function CustomScrollView(_ref) {
159
188
  vkuiClass: "CustomScrollView__barY",
160
189
  ref: barY
161
190
  }, (0, _jsxRuntime.createScopedElement)("div", {
162
- vkuiClass: "CustomScrollView__trackerY",
191
+ vkuiClass: (0, _classNames.classNames)("CustomScrollView__trackerY", !trackerVisible && "CustomScrollView__trackerY--hidden"),
192
+ onMouseEnter: autoHideScrollbar ? onTrackerMouseEnter : undefined,
193
+ onMouseLeave: autoHideScrollbar ? onTrackerMouseLeave : undefined,
163
194
  ref: trackerY,
164
195
  onMouseDown: onDragStart
165
196
  })), (0, _jsxRuntime.createScopedElement)("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"names":["CustomScrollView","className","children","externalBoxRef","boxRef","windowResize","document","window","ratio","React","useRef","NaN","lastTrackerTop","clientHeight","trackerHeight","scrollHeight","transformProp","startY","trackerTop","barY","trackerY","setTrackerPosition","scrollTop","current","style","setTrackerPositionFromScroll","progress","resize","localClientHeight","localScrollHeight","localRatio","localTrackerHeight","Math","max","display","height","resizeHandler","add","prop","undefined","setScrollPositionFromTracker","onMove","e","preventDefault","diff","clientY","position","min","onUp","unsubscribe","scroll","listeners","subscribe","el","forEach","l","remove","onDragStart"],"mappings":"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","sourcesContent":["import { DOMProps, useDOM } from \"../../lib/dom\";\nimport * as React from \"react\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport \"./CustomScrollView.css\";\n\nexport interface CustomScrollViewProps extends DOMProps {\n windowResize?: boolean;\n boxRef?: React.Ref<HTMLDivElement>;\n className?: HTMLDivElement[\"className\"];\n children: React.ReactNode;\n}\n\nexport const CustomScrollView = ({\n className,\n children,\n boxRef: externalBoxRef,\n windowResize,\n}: CustomScrollViewProps) => {\n const { document, window } = useDOM();\n\n const ratio = React.useRef(NaN);\n const lastTrackerTop = React.useRef(0);\n const clientHeight = React.useRef(0);\n const trackerHeight = React.useRef(0);\n const scrollHeight = React.useRef(0);\n const transformProp = React.useRef(\"\");\n const startY = React.useRef(0);\n const trackerTop = React.useRef(0);\n\n const boxRef = useExternRef(externalBoxRef);\n\n const barY = React.useRef<HTMLDivElement>(null);\n const trackerY = React.useRef<HTMLDivElement>(null);\n\n const setTrackerPosition = (scrollTop: number) => {\n lastTrackerTop.current = scrollTop;\n if (trackerY.current !== null) {\n (trackerY.current.style as any)[\n transformProp.current\n ] = `translate(0, ${scrollTop}px)`;\n }\n };\n\n const setTrackerPositionFromScroll = (scrollTop: number) => {\n const progress = scrollTop / (scrollHeight.current - clientHeight.current);\n setTrackerPosition(\n (clientHeight.current - trackerHeight.current) * progress\n );\n };\n\n const resize = () => {\n if (!boxRef.current || !barY.current || !trackerY.current) {\n return;\n }\n const localClientHeight = boxRef.current.clientHeight;\n const localScrollHeight = boxRef.current.scrollHeight;\n const localRatio = localClientHeight / localScrollHeight;\n const localTrackerHeight = Math.max(localClientHeight * localRatio, 40);\n\n ratio.current = localRatio;\n clientHeight.current = localClientHeight;\n scrollHeight.current = localScrollHeight;\n trackerHeight.current = localTrackerHeight;\n\n if (localRatio >= 1) {\n barY.current.style.display = \"none\";\n } else {\n barY.current.style.display = \"\";\n trackerY.current.style.height = `${localTrackerHeight}px`;\n setTrackerPositionFromScroll(boxRef.current.scrollTop);\n }\n };\n\n const resizeHandler = useEventListener(\"resize\", resize);\n\n useIsomorphicLayoutEffect(() => {\n if (windowResize && window) {\n resizeHandler.add(window);\n }\n }, [windowResize, window]);\n\n useIsomorphicLayoutEffect(() => {\n let style = trackerY.current?.style;\n let prop = \"\";\n if (style !== undefined) {\n if (\"transform\" in style) {\n prop = \"transform\";\n } else if (\"webkitTransform\" in style) {\n prop = \"webkitTransform\";\n }\n }\n transformProp.current = prop;\n }, []);\n\n useIsomorphicLayoutEffect(resize);\n\n const setScrollPositionFromTracker = (trackerTop: number) => {\n const progress =\n trackerTop / (clientHeight.current - trackerHeight.current);\n if (boxRef.current !== null) {\n boxRef.current.scrollTop =\n (scrollHeight.current - clientHeight.current) * progress;\n }\n };\n\n const onMove = (e: MouseEvent) => {\n e.preventDefault();\n const diff = e.clientY - startY.current;\n const position = Math.min(\n Math.max(trackerTop.current + diff, 0),\n clientHeight.current - trackerHeight.current\n );\n\n setScrollPositionFromTracker(position);\n };\n\n const onUp = (e: MouseEvent) => {\n e.preventDefault();\n unsubscribe();\n };\n\n const scroll = () => {\n if (ratio.current >= 1 || !boxRef.current) {\n return;\n }\n\n setTrackerPositionFromScroll(boxRef.current.scrollTop);\n };\n\n const listeners = [\n useEventListener(\"mousemove\", onMove),\n useEventListener(\"mouseup\", onUp),\n ];\n\n function subscribe(el: Document | undefined) {\n if (el) {\n listeners.forEach((l) => l.add(el));\n }\n }\n\n function unsubscribe() {\n listeners.forEach((l) => l.remove());\n }\n\n const onDragStart = (e: React.MouseEvent) => {\n e.preventDefault();\n startY.current = e.clientY;\n trackerTop.current = lastTrackerTop.current;\n\n subscribe(document);\n };\n\n return (\n <div vkuiClass=\"CustomScrollView\" className={className}>\n <div vkuiClass=\"CustomScrollView__barY\" ref={barY}>\n <div\n vkuiClass=\"CustomScrollView__trackerY\"\n ref={trackerY}\n onMouseDown={onDragStart}\n />\n </div>\n\n <div\n vkuiClass=\"CustomScrollView__box\"\n tabIndex={-1}\n ref={boxRef}\n onScroll={scroll}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"file":"CustomScrollView.js"}
1
+ {"version":3,"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"names":["CustomScrollView","className","children","externalBoxRef","boxRef","windowResize","autoHideScrollbar","autoHideScrollbarDelay","document","window","ratio","React","useRef","NaN","lastTrackerTop","clientHeight","trackerHeight","scrollHeight","transformProp","startY","trackerTop","barY","trackerY","setTrackerPosition","scrollTop","current","style","setTrackerPositionFromScroll","progress","resize","localClientHeight","localScrollHeight","localRatio","localTrackerHeight","Math","max","display","height","resizeHandler","add","prop","undefined","setScrollPositionFromTracker","onMove","e","preventDefault","diff","clientY","position","min","trackerVisible","onTargetScroll","onTrackerDragStart","onTrackerDragStop","onTrackerMouseEnter","onTrackerMouseLeave","onUp","unsubscribe","scroll","listeners","subscribe","el","forEach","l","remove","onDragStart"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,OAOH;AAAA,MAN3BC,SAM2B,QAN3BA,SAM2B;AAAA,MAL3BC,QAK2B,QAL3BA,QAK2B;AAAA,MAJnBC,cAImB,QAJ3BC,MAI2B;AAAA,MAH3BC,YAG2B,QAH3BA,YAG2B;AAAA,mCAF3BC,iBAE2B;AAAA,MAF3BA,iBAE2B,sCAFP,KAEO;AAAA,MAD3BC,sBAC2B,QAD3BA,sBAC2B;;AAC3B,gBAA6B,kBAA7B;AAAA,MAAQC,QAAR,WAAQA,QAAR;AAAA,MAAkBC,MAAlB,WAAkBA,MAAlB;;AAEA,MAAMC,KAAK,GAAGC,KAAK,CAACC,MAAN,CAAaC,GAAb,CAAd;AACA,MAAMC,cAAc,GAAGH,KAAK,CAACC,MAAN,CAAa,CAAb,CAAvB;AACA,MAAMG,YAAY,GAAGJ,KAAK,CAACC,MAAN,CAAa,CAAb,CAArB;AACA,MAAMI,aAAa,GAAGL,KAAK,CAACC,MAAN,CAAa,CAAb,CAAtB;AACA,MAAMK,YAAY,GAAGN,KAAK,CAACC,MAAN,CAAa,CAAb,CAArB;AACA,MAAMM,aAAa,GAAGP,KAAK,CAACC,MAAN,CAAa,EAAb,CAAtB;AACA,MAAMO,MAAM,GAAGR,KAAK,CAACC,MAAN,CAAa,CAAb,CAAf;AACA,MAAMQ,UAAU,GAAGT,KAAK,CAACC,MAAN,CAAa,CAAb,CAAnB;AAEA,MAAMR,MAAM,GAAG,gCAAaD,cAAb,CAAf;AAEA,MAAMkB,IAAI,GAAGV,KAAK,CAACC,MAAN,CAA6B,IAA7B,CAAb;AACA,MAAMU,QAAQ,GAAGX,KAAK,CAACC,MAAN,CAA6B,IAA7B,CAAjB;;AAEA,MAAMW,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,SAAD,EAAuB;AAChDV,IAAAA,cAAc,CAACW,OAAf,GAAyBD,SAAzB;;AACA,QAAIF,QAAQ,CAACG,OAAT,KAAqB,IAAzB,EAA+B;AAC5BH,MAAAA,QAAQ,CAACG,OAAT,CAAiBC,KAAlB,CACER,aAAa,CAACO,OADhB,2BAEoBD,SAFpB;AAGD;AACF,GAPD;;AASA,MAAMG,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACH,SAAD,EAAuB;AAC1D,QAAMI,QAAQ,GAAGJ,SAAS,IAAIP,YAAY,CAACQ,OAAb,GAAuBV,YAAY,CAACU,OAAxC,CAA1B;AACAF,IAAAA,kBAAkB,CAChB,CAACR,YAAY,CAACU,OAAb,GAAuBT,aAAa,CAACS,OAAtC,IAAiDG,QADjC,CAAlB;AAGD,GALD;;AAOA,MAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB,QAAI,CAACzB,MAAM,CAACqB,OAAR,IAAmB,CAACJ,IAAI,CAACI,OAAzB,IAAoC,CAACH,QAAQ,CAACG,OAAlD,EAA2D;AACzD;AACD;;AACD,QAAMK,iBAAiB,GAAG1B,MAAM,CAACqB,OAAP,CAAeV,YAAzC;AACA,QAAMgB,iBAAiB,GAAG3B,MAAM,CAACqB,OAAP,CAAeR,YAAzC;AACA,QAAMe,UAAU,GAAGF,iBAAiB,GAAGC,iBAAvC;AACA,QAAME,kBAAkB,GAAGC,IAAI,CAACC,GAAL,CAASL,iBAAiB,GAAGE,UAA7B,EAAyC,EAAzC,CAA3B;AAEAtB,IAAAA,KAAK,CAACe,OAAN,GAAgBO,UAAhB;AACAjB,IAAAA,YAAY,CAACU,OAAb,GAAuBK,iBAAvB;AACAb,IAAAA,YAAY,CAACQ,OAAb,GAAuBM,iBAAvB;AACAf,IAAAA,aAAa,CAACS,OAAd,GAAwBQ,kBAAxB;;AAEA,QAAID,UAAU,IAAI,CAAlB,EAAqB;AACnBX,MAAAA,IAAI,CAACI,OAAL,CAAaC,KAAb,CAAmBU,OAAnB,GAA6B,MAA7B;AACD,KAFD,MAEO;AACLf,MAAAA,IAAI,CAACI,OAAL,CAAaC,KAAb,CAAmBU,OAAnB,GAA6B,EAA7B;AACAd,MAAAA,QAAQ,CAACG,OAAT,CAAiBC,KAAjB,CAAuBW,MAAvB,aAAmCJ,kBAAnC;AACAN,MAAAA,4BAA4B,CAACvB,MAAM,CAACqB,OAAP,CAAeD,SAAhB,CAA5B;AACD;AACF,GArBD;;AAuBA,MAAMc,aAAa,GAAG,wCAAiB,QAAjB,EAA2BT,MAA3B,CAAtB;AAEA,4DAA0B,YAAM;AAC9B,QAAIxB,YAAY,IAAII,MAApB,EAA4B;AAC1B6B,MAAAA,aAAa,CAACC,GAAd,CAAkB9B,MAAlB;AACD;AACF,GAJD,EAIG,CAACJ,YAAD,EAAeI,MAAf,CAJH;AAMA,4DAA0B,YAAM;AAAA;;AAC9B,QAAIiB,KAAK,wBAAGJ,QAAQ,CAACG,OAAZ,sDAAG,kBAAkBC,KAA9B;AACA,QAAIc,IAAI,GAAG,EAAX;;AACA,QAAId,KAAK,KAAKe,SAAd,EAAyB;AACvB,UAAI,eAAef,KAAnB,EAA0B;AACxBc,QAAAA,IAAI,GAAG,WAAP;AACD,OAFD,MAEO,IAAI,qBAAqBd,KAAzB,EAAgC;AACrCc,QAAAA,IAAI,GAAG,iBAAP;AACD;AACF;;AACDtB,IAAAA,aAAa,CAACO,OAAd,GAAwBe,IAAxB;AACD,GAXD,EAWG,EAXH;AAaA,4DAA0BX,MAA1B;;AAEA,MAAMa,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACtB,UAAD,EAAwB;AAC3D,QAAMQ,QAAQ,GACZR,UAAU,IAAIL,YAAY,CAACU,OAAb,GAAuBT,aAAa,CAACS,OAAzC,CADZ;;AAEA,QAAIrB,MAAM,CAACqB,OAAP,KAAmB,IAAvB,EAA6B;AAC3BrB,MAAAA,MAAM,CAACqB,OAAP,CAAeD,SAAf,GACE,CAACP,YAAY,CAACQ,OAAb,GAAuBV,YAAY,CAACU,OAArC,IAAgDG,QADlD;AAED;AACF,GAPD;;AASA,MAAMe,MAAM,GAAG,SAATA,MAAS,CAACC,CAAD,EAAmB;AAChCA,IAAAA,CAAC,CAACC,cAAF;AACA,QAAMC,IAAI,GAAGF,CAAC,CAACG,OAAF,GAAY5B,MAAM,CAACM,OAAhC;AACA,QAAMuB,QAAQ,GAAGd,IAAI,CAACe,GAAL,CACff,IAAI,CAACC,GAAL,CAASf,UAAU,CAACK,OAAX,GAAqBqB,IAA9B,EAAoC,CAApC,CADe,EAEf/B,YAAY,CAACU,OAAb,GAAuBT,aAAa,CAACS,OAFtB,CAAjB;AAKAiB,IAAAA,4BAA4B,CAACM,QAAD,CAA5B;AACD,GATD;;AAWA,8BAOI,iDAAqB1C,iBAArB,EAAwCC,sBAAxC,CAPJ;AAAA,MACE2C,cADF,yBACEA,cADF;AAAA,MAEEC,cAFF,yBAEEA,cAFF;AAAA,MAGEC,kBAHF,yBAGEA,kBAHF;AAAA,MAIEC,iBAJF,yBAIEA,iBAJF;AAAA,MAKEC,mBALF,yBAKEA,mBALF;AAAA,MAMEC,mBANF,yBAMEA,mBANF;;AASA,MAAMC,IAAI,GAAG,SAAPA,IAAO,CAACZ,CAAD,EAAmB;AAC9BA,IAAAA,CAAC,CAACC,cAAF;;AAEA,QAAIvC,iBAAJ,EAAuB;AACrB+C,MAAAA,iBAAiB;AAClB;;AAEDI,IAAAA,WAAW;AACZ,GARD;;AAUA,MAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB,QAAIhD,KAAK,CAACe,OAAN,IAAiB,CAAjB,IAAsB,CAACrB,MAAM,CAACqB,OAAlC,EAA2C;AACzC;AACD;;AAED,QAAInB,iBAAJ,EAAuB;AACrB6C,MAAAA,cAAc;AACf;;AAEDxB,IAAAA,4BAA4B,CAACvB,MAAM,CAACqB,OAAP,CAAeD,SAAhB,CAA5B;AACD,GAVD;;AAYA,MAAMmC,SAAS,GAAG,CAChB,wCAAiB,WAAjB,EAA8BhB,MAA9B,CADgB,EAEhB,wCAAiB,SAAjB,EAA4Ba,IAA5B,CAFgB,CAAlB;;AAKA,WAASI,SAAT,CAAmBC,EAAnB,EAA6C;AAC3C,QAAIA,EAAJ,EAAQ;AACNF,MAAAA,SAAS,CAACG,OAAV,CAAkB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACxB,GAAF,CAAMsB,EAAN,CAAP;AAAA,OAAlB;AACD;AACF;;AAED,WAASJ,WAAT,GAAuB;AACrBE,IAAAA,SAAS,CAACG,OAAV,CAAkB,UAACC,CAAD;AAAA,aAAOA,CAAC,CAACC,MAAF,EAAP;AAAA,KAAlB;AACD;;AAED,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACrB,CAAD,EAAyB;AAC3CA,IAAAA,CAAC,CAACC,cAAF;AACA1B,IAAAA,MAAM,CAACM,OAAP,GAAiBmB,CAAC,CAACG,OAAnB;AACA3B,IAAAA,UAAU,CAACK,OAAX,GAAqBX,cAAc,CAACW,OAApC;;AAEA,QAAInB,iBAAJ,EAAuB;AACrB8C,MAAAA,kBAAkB;AACnB;;AAEDQ,IAAAA,SAAS,CAACpD,QAAD,CAAT;AACD,GAVD;;AAYA,SACE;AAAK,IAAA,SAAS,EAAC,kBAAf;AAAkC,IAAA,SAAS,EAAEP;AAA7C,KACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAwC,IAAA,GAAG,EAAEoB;AAA7C,KACE;AACE,IAAA,SAAS,EAAE,4BACT,4BADS,EAET,CAAC6B,cAAD,wCAFS,CADb;AAKE,IAAA,YAAY,EAAE5C,iBAAiB,GAAGgD,mBAAH,GAAyBb,SAL1D;AAME,IAAA,YAAY,EAAEnC,iBAAiB,GAAGiD,mBAAH,GAAyBd,SAN1D;AAOE,IAAA,GAAG,EAAEnB,QAPP;AAQE,IAAA,WAAW,EAAE2C;AARf,IADF,CADF,EAcE;AACE,IAAA,SAAS,EAAC,uBADZ;AAEE,IAAA,QAAQ,EAAE,CAAC,CAFb;AAGE,IAAA,GAAG,EAAE7D,MAHP;AAIE,IAAA,QAAQ,EAAEsD;AAJZ,KAMGxD,QANH,CAdF,CADF;AAyBD,CA7LM","sourcesContent":["import * as React from \"react\";\nimport { DOMProps, useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport {\n TrackerOptionsProps,\n useTrackerVisibility,\n} from \"./useTrackerVisibility\";\nimport \"./CustomScrollView.css\";\n\nexport interface CustomScrollViewProps extends DOMProps, TrackerOptionsProps {\n windowResize?: boolean;\n boxRef?: React.Ref<HTMLDivElement>;\n className?: HTMLDivElement[\"className\"];\n children: React.ReactNode;\n}\n\nexport const CustomScrollView = ({\n className,\n children,\n boxRef: externalBoxRef,\n windowResize,\n autoHideScrollbar = false,\n autoHideScrollbarDelay,\n}: CustomScrollViewProps) => {\n const { document, window } = useDOM();\n\n const ratio = React.useRef(NaN);\n const lastTrackerTop = React.useRef(0);\n const clientHeight = React.useRef(0);\n const trackerHeight = React.useRef(0);\n const scrollHeight = React.useRef(0);\n const transformProp = React.useRef(\"\");\n const startY = React.useRef(0);\n const trackerTop = React.useRef(0);\n\n const boxRef = useExternRef(externalBoxRef);\n\n const barY = React.useRef<HTMLDivElement>(null);\n const trackerY = React.useRef<HTMLDivElement>(null);\n\n const setTrackerPosition = (scrollTop: number) => {\n lastTrackerTop.current = scrollTop;\n if (trackerY.current !== null) {\n (trackerY.current.style as any)[\n transformProp.current\n ] = `translate(0, ${scrollTop}px)`;\n }\n };\n\n const setTrackerPositionFromScroll = (scrollTop: number) => {\n const progress = scrollTop / (scrollHeight.current - clientHeight.current);\n setTrackerPosition(\n (clientHeight.current - trackerHeight.current) * progress\n );\n };\n\n const resize = () => {\n if (!boxRef.current || !barY.current || !trackerY.current) {\n return;\n }\n const localClientHeight = boxRef.current.clientHeight;\n const localScrollHeight = boxRef.current.scrollHeight;\n const localRatio = localClientHeight / localScrollHeight;\n const localTrackerHeight = Math.max(localClientHeight * localRatio, 40);\n\n ratio.current = localRatio;\n clientHeight.current = localClientHeight;\n scrollHeight.current = localScrollHeight;\n trackerHeight.current = localTrackerHeight;\n\n if (localRatio >= 1) {\n barY.current.style.display = \"none\";\n } else {\n barY.current.style.display = \"\";\n trackerY.current.style.height = `${localTrackerHeight}px`;\n setTrackerPositionFromScroll(boxRef.current.scrollTop);\n }\n };\n\n const resizeHandler = useEventListener(\"resize\", resize);\n\n useIsomorphicLayoutEffect(() => {\n if (windowResize && window) {\n resizeHandler.add(window);\n }\n }, [windowResize, window]);\n\n useIsomorphicLayoutEffect(() => {\n let style = trackerY.current?.style;\n let prop = \"\";\n if (style !== undefined) {\n if (\"transform\" in style) {\n prop = \"transform\";\n } else if (\"webkitTransform\" in style) {\n prop = \"webkitTransform\";\n }\n }\n transformProp.current = prop;\n }, []);\n\n useIsomorphicLayoutEffect(resize);\n\n const setScrollPositionFromTracker = (trackerTop: number) => {\n const progress =\n trackerTop / (clientHeight.current - trackerHeight.current);\n if (boxRef.current !== null) {\n boxRef.current.scrollTop =\n (scrollHeight.current - clientHeight.current) * progress;\n }\n };\n\n const onMove = (e: MouseEvent) => {\n e.preventDefault();\n const diff = e.clientY - startY.current;\n const position = Math.min(\n Math.max(trackerTop.current + diff, 0),\n clientHeight.current - trackerHeight.current\n );\n\n setScrollPositionFromTracker(position);\n };\n\n const {\n trackerVisible,\n onTargetScroll,\n onTrackerDragStart,\n onTrackerDragStop,\n onTrackerMouseEnter,\n onTrackerMouseLeave,\n } = useTrackerVisibility(autoHideScrollbar, autoHideScrollbarDelay);\n\n const onUp = (e: MouseEvent) => {\n e.preventDefault();\n\n if (autoHideScrollbar) {\n onTrackerDragStop();\n }\n\n unsubscribe();\n };\n\n const scroll = () => {\n if (ratio.current >= 1 || !boxRef.current) {\n return;\n }\n\n if (autoHideScrollbar) {\n onTargetScroll();\n }\n\n setTrackerPositionFromScroll(boxRef.current.scrollTop);\n };\n\n const listeners = [\n useEventListener(\"mousemove\", onMove),\n useEventListener(\"mouseup\", onUp),\n ];\n\n function subscribe(el: Document | undefined) {\n if (el) {\n listeners.forEach((l) => l.add(el));\n }\n }\n\n function unsubscribe() {\n listeners.forEach((l) => l.remove());\n }\n\n const onDragStart = (e: React.MouseEvent) => {\n e.preventDefault();\n startY.current = e.clientY;\n trackerTop.current = lastTrackerTop.current;\n\n if (autoHideScrollbar) {\n onTrackerDragStart();\n }\n\n subscribe(document);\n };\n\n return (\n <div vkuiClass=\"CustomScrollView\" className={className}>\n <div vkuiClass=\"CustomScrollView__barY\" ref={barY}>\n <div\n vkuiClass={classNames(\n \"CustomScrollView__trackerY\",\n !trackerVisible && `CustomScrollView__trackerY--hidden`\n )}\n onMouseEnter={autoHideScrollbar ? onTrackerMouseEnter : undefined}\n onMouseLeave={autoHideScrollbar ? onTrackerMouseLeave : undefined}\n ref={trackerY}\n onMouseDown={onDragStart}\n />\n </div>\n\n <div\n vkuiClass=\"CustomScrollView__box\"\n tabIndex={-1}\n ref={boxRef}\n onScroll={scroll}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"file":"CustomScrollView.js"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.useTrackerVisibility = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var React = _interopRequireWildcard(require("react"));
15
+
16
+ var _useTimeout2 = require("../../hooks/useTimeout");
17
+
18
+ /**
19
+ * Хук, который позволяет управлять видимостью ползунка скроллбара.
20
+ * @param autoHideScrollbar - скрывать ли ползунок скроллбара
21
+ * @param autoHideScrollbarDelay - через какое кол-во миллисекунд ползунок скроллбара скрывается
22
+ * @returns Объект, содержащий параметры, которые позволяют управлять видимостью ползунка
23
+ */
24
+ var useTrackerVisibility = function useTrackerVisibility() {
25
+ var autoHideScrollbar = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
26
+ var autoHideScrollbarDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
27
+
28
+ var _React$useState = React.useState(!autoHideScrollbar),
29
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
30
+ trackerVisible = _React$useState2[0],
31
+ setTrackerVisible = _React$useState2[1];
32
+
33
+ var isMouseOver = React.useRef(false);
34
+ var isTrackerDragging = React.useRef(false);
35
+
36
+ var _useTimeout = (0, _useTimeout2.useTimeout)(function () {
37
+ return setTrackerVisible(false);
38
+ }, autoHideScrollbarDelay),
39
+ setVisibilityTimeout = _useTimeout.set,
40
+ clearVisibilityTimeout = _useTimeout.clear;
41
+
42
+ var onTrackerDragStart = React.useCallback(function () {
43
+ clearVisibilityTimeout();
44
+ setTrackerVisible(true);
45
+ isTrackerDragging.current = true;
46
+ }, [clearVisibilityTimeout]);
47
+ var onTrackerDragStop = React.useCallback(function () {
48
+ isTrackerDragging.current = false;
49
+
50
+ if (!isMouseOver.current) {
51
+ setVisibilityTimeout();
52
+ }
53
+ }, [setVisibilityTimeout, isMouseOver]);
54
+ /**
55
+ * Позволяет "запланировать" скрытие ползунка через delay миллисекунд. Если тайм-аут не успевает сработать, то каждый
56
+ * последующий вызов функции откладывает скрытие ползунка на delay миллисекунд
57
+ */
58
+
59
+ var queueTrackerVisibility = React.useCallback(function () {
60
+ if (isTrackerDragging.current) {
61
+ return;
62
+ }
63
+
64
+ setTrackerVisible(true);
65
+ setVisibilityTimeout();
66
+ }, [setVisibilityTimeout]);
67
+ var onTrackerMouseEnter = React.useCallback(function () {
68
+ clearVisibilityTimeout();
69
+ isMouseOver.current = true;
70
+ setTrackerVisible(true);
71
+ }, [clearVisibilityTimeout]);
72
+ var onTrackerMouseLeave = React.useCallback(function () {
73
+ queueTrackerVisibility();
74
+ isMouseOver.current = false;
75
+ }, [queueTrackerVisibility]);
76
+ var onTargetScroll = React.useCallback(function () {
77
+ queueTrackerVisibility();
78
+ }, [queueTrackerVisibility]);
79
+ return {
80
+ trackerVisible: trackerVisible,
81
+ onTrackerDragStart: onTrackerDragStart,
82
+ onTrackerDragStop: onTrackerDragStop,
83
+ onTrackerMouseEnter: onTrackerMouseEnter,
84
+ onTrackerMouseLeave: onTrackerMouseLeave,
85
+ onTargetScroll: onTargetScroll
86
+ };
87
+ };
88
+
89
+ exports.useTrackerVisibility = useTrackerVisibility;
90
+ //# sourceMappingURL=useTrackerVisibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/CustomScrollView/useTrackerVisibility.ts"],"names":["useTrackerVisibility","autoHideScrollbar","autoHideScrollbarDelay","React","useState","trackerVisible","setTrackerVisible","isMouseOver","useRef","isTrackerDragging","setVisibilityTimeout","set","clearVisibilityTimeout","clear","onTrackerDragStart","useCallback","current","onTrackerDragStop","queueTrackerVisibility","onTrackerMouseEnter","onTrackerMouseLeave","onTargetScroll"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,GAGP;AAAA,MAF3BC,iBAE2B,uEAFP,KAEO;AAAA,MAD3BC,sBAC2B,uEADF,GACE;;AAC3B,wBAA4CC,KAAK,CAACC,QAAN,CAC1C,CAACH,iBADyC,CAA5C;AAAA;AAAA,MAAOI,cAAP;AAAA,MAAuBC,iBAAvB;;AAGA,MAAMC,WAAW,GAAGJ,KAAK,CAACK,MAAN,CAAa,KAAb,CAApB;AACA,MAAMC,iBAAiB,GAAGN,KAAK,CAACK,MAAN,CAAa,KAAb,CAA1B;;AAEA,oBACE,6BAAW;AAAA,WAAMF,iBAAiB,CAAC,KAAD,CAAvB;AAAA,GAAX,EAA2CJ,sBAA3C,CADF;AAAA,MAAaQ,oBAAb,eAAQC,GAAR;AAAA,MAA0CC,sBAA1C,eAAmCC,KAAnC;;AAGA,MAAMC,kBAAkB,GAAGX,KAAK,CAACY,WAAN,CAAkB,YAAM;AACjDH,IAAAA,sBAAsB;AACtBN,IAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACAG,IAAAA,iBAAiB,CAACO,OAAlB,GAA4B,IAA5B;AACD,GAJ0B,EAIxB,CAACJ,sBAAD,CAJwB,CAA3B;AAMA,MAAMK,iBAAiB,GAAGd,KAAK,CAACY,WAAN,CAAkB,YAAM;AAChDN,IAAAA,iBAAiB,CAACO,OAAlB,GAA4B,KAA5B;;AACA,QAAI,CAACT,WAAW,CAACS,OAAjB,EAA0B;AACxBN,MAAAA,oBAAoB;AACrB;AACF,GALyB,EAKvB,CAACA,oBAAD,EAAuBH,WAAvB,CALuB,CAA1B;AAOA;AACF;AACA;AACA;;AACE,MAAMW,sBAAsB,GAAGf,KAAK,CAACY,WAAN,CAAkB,YAAM;AACrD,QAAIN,iBAAiB,CAACO,OAAtB,EAA+B;AAC7B;AACD;;AACDV,IAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACAI,IAAAA,oBAAoB;AACrB,GAN8B,EAM5B,CAACA,oBAAD,CAN4B,CAA/B;AAQA,MAAMS,mBAAmB,GAAGhB,KAAK,CAACY,WAAN,CAAkB,YAAM;AAClDH,IAAAA,sBAAsB;AACtBL,IAAAA,WAAW,CAACS,OAAZ,GAAsB,IAAtB;AACAV,IAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,GAJ2B,EAIzB,CAACM,sBAAD,CAJyB,CAA5B;AAMA,MAAMQ,mBAAmB,GAAGjB,KAAK,CAACY,WAAN,CAAkB,YAAM;AAClDG,IAAAA,sBAAsB;AACtBX,IAAAA,WAAW,CAACS,OAAZ,GAAsB,KAAtB;AACD,GAH2B,EAGzB,CAACE,sBAAD,CAHyB,CAA5B;AAKA,MAAMG,cAAc,GAAGlB,KAAK,CAACY,WAAN,CAAkB,YAAM;AAC7CG,IAAAA,sBAAsB;AACvB,GAFsB,EAEpB,CAACA,sBAAD,CAFoB,CAAvB;AAIA,SAAO;AACLb,IAAAA,cAAc,EAAdA,cADK;AAELS,IAAAA,kBAAkB,EAAlBA,kBAFK;AAGLG,IAAAA,iBAAiB,EAAjBA,iBAHK;AAILE,IAAAA,mBAAmB,EAAnBA,mBAJK;AAKLC,IAAAA,mBAAmB,EAAnBA,mBALK;AAMLC,IAAAA,cAAc,EAAdA;AANK,GAAP;AAQD,CA7DM","sourcesContent":["import * as React from \"react\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\n\n/**\n * Хук, который позволяет управлять видимостью ползунка скроллбара.\n * @param autoHideScrollbar - скрывать ли ползунок скроллбара\n * @param autoHideScrollbarDelay - через какое кол-во миллисекунд ползунок скроллбара скрывается\n * @returns Объект, содержащий параметры, которые позволяют управлять видимостью ползунка\n */\nexport const useTrackerVisibility = (\n autoHideScrollbar = false,\n autoHideScrollbarDelay = 500\n): TrackerVisibilityProps => {\n const [trackerVisible, setTrackerVisible] = React.useState(\n !autoHideScrollbar\n );\n const isMouseOver = React.useRef(false);\n const isTrackerDragging = React.useRef(false);\n\n const { set: setVisibilityTimeout, clear: clearVisibilityTimeout } =\n useTimeout(() => setTrackerVisible(false), autoHideScrollbarDelay);\n\n const onTrackerDragStart = React.useCallback(() => {\n clearVisibilityTimeout();\n setTrackerVisible(true);\n isTrackerDragging.current = true;\n }, [clearVisibilityTimeout]);\n\n const onTrackerDragStop = React.useCallback(() => {\n isTrackerDragging.current = false;\n if (!isMouseOver.current) {\n setVisibilityTimeout();\n }\n }, [setVisibilityTimeout, isMouseOver]);\n\n /**\n * Позволяет \"запланировать\" скрытие ползунка через delay миллисекунд. Если тайм-аут не успевает сработать, то каждый\n * последующий вызов функции откладывает скрытие ползунка на delay миллисекунд\n */\n const queueTrackerVisibility = React.useCallback(() => {\n if (isTrackerDragging.current) {\n return;\n }\n setTrackerVisible(true);\n setVisibilityTimeout();\n }, [setVisibilityTimeout]);\n\n const onTrackerMouseEnter = React.useCallback(() => {\n clearVisibilityTimeout();\n isMouseOver.current = true;\n setTrackerVisible(true);\n }, [clearVisibilityTimeout]);\n\n const onTrackerMouseLeave = React.useCallback(() => {\n queueTrackerVisibility();\n isMouseOver.current = false;\n }, [queueTrackerVisibility]);\n\n const onTargetScroll = React.useCallback(() => {\n queueTrackerVisibility();\n }, [queueTrackerVisibility]);\n\n return {\n trackerVisible,\n onTrackerDragStart,\n onTrackerDragStop,\n onTrackerMouseEnter,\n onTrackerMouseLeave,\n onTargetScroll,\n };\n};\n\nexport interface TrackerOptionsProps {\n /**\n * Скрывать ли ползунок скроллбара\n */\n autoHideScrollbar?: boolean;\n /**\n * Через какое кол-во миллисекунд ползунок скроллбара скрывается\n */\n autoHideScrollbarDelay?: number;\n}\n\nexport interface TrackerVisibilityProps {\n /**\n * Отвечает за видимость ползунка\n */\n trackerVisible: boolean;\n /**\n * Функция для обработки события у блока со скроллом\n */\n onTargetScroll(this: void): void;\n /**\n * Функция для обработки начала drag event ползунка\n */\n onTrackerDragStart(this: void): void;\n /**\n * Функция для обработки окончания drag event ползунка\n */\n onTrackerDragStop(this: void): void;\n /**\n * Функция для обработки mouseLeave event ползунка\n */\n onTrackerMouseEnter(this: void): void;\n /**\n * Функция для обработки mouseEnter event ползунка\n */\n onTrackerMouseLeave(this: void): void;\n}\n"],"file":"useTrackerVisibility.js"}
@@ -61,7 +61,7 @@ var _CustomSelectDropdown = require("../CustomSelectDropdown/CustomSelectDropdow
61
61
 
62
62
  var _Select = require("../Select/Select");
63
63
 
64
- var _excluded = ["before", "searchable", "name", "className", "getRef", "getRootRef", "popupDirection", "options", "sizeY", "platform", "style", "onChange", "onBlur", "onFocus", "onClick", "renderOption", "children", "emptyText", "onInputChange", "filterFn", "renderDropdown", "onOpen", "onClose", "fetching", "icon", "dropdownOffsetDistance", "fixDropdownWidth", "forceDropdownPortal", "selectType"],
64
+ var _excluded = ["before", "searchable", "name", "className", "getRef", "getRootRef", "popupDirection", "options", "sizeY", "platform", "style", "onChange", "onBlur", "onFocus", "onClick", "renderOption", "children", "emptyText", "onInputChange", "filterFn", "renderDropdown", "onOpen", "onClose", "fetching", "icon", "dropdownOffsetDistance", "fixDropdownWidth", "forceDropdownPortal", "selectType", "autoHideScrollbar", "autoHideScrollbarDelay"],
65
65
  _excluded2 = ["option"];
66
66
 
67
67
  var findIndexAfter = function findIndexAfter() {
@@ -82,7 +82,7 @@ var findIndexBefore = function findIndexBefore() {
82
82
  var endIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : options.length;
83
83
  var result = -1;
84
84
 
85
- if (options === undefined || endIndex <= 0) {
85
+ if (endIndex <= 0) {
86
86
  return result;
87
87
  }
88
88
 
@@ -591,6 +591,8 @@ var CustomSelectComponent = /*#__PURE__*/function (_React$Component) {
591
591
  forceDropdownPortal = _this$props2.forceDropdownPortal,
592
592
  _this$props2$selectTy = _this$props2.selectType,
593
593
  selectType = _this$props2$selectTy === void 0 ? _Select.SelectType.default : _this$props2$selectTy,
594
+ autoHideScrollbar = _this$props2.autoHideScrollbar,
595
+ autoHideScrollbarDelay = _this$props2.autoHideScrollbarDelay,
594
596
  restProps = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
595
597
  var selected = this.getSelectedItem();
596
598
  var label = selected ? selected.label : undefined;
@@ -663,7 +665,10 @@ var CustomSelectComponent = /*#__PURE__*/function (_React$Component) {
663
665
  fetching: fetching,
664
666
  offsetDistance: dropdownOffsetDistance,
665
667
  sameWidth: fixDropdownWidth,
666
- forcePortal: forceDropdownPortal
668
+ forcePortal: forceDropdownPortal,
669
+ autoHideScrollbar: autoHideScrollbar,
670
+ autoHideScrollbarDelay: autoHideScrollbarDelay,
671
+ observableRefs: this.scrollBoxRef
667
672
  }, resolvedContent));
668
673
  }
669
674
  }]);