@vkontakte/vkui 4.28.1 → 4.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1159) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +5185 -9812
  4. package/.cache/ts/src/components/Alert/Alert.d.ts +4 -1
  5. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +6 -14
  6. package/.cache/ts/src/components/Button/Button.d.ts +1 -2
  7. package/.cache/ts/src/components/Calendar/Calendar.d.ts +10 -1
  8. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +6 -0
  9. package/.cache/ts/src/components/Cell/Cell.d.ts +1 -1
  10. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +1 -2
  11. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  12. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  13. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +2 -2
  14. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  15. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  16. package/.cache/ts/src/components/FormField/FormField.d.ts +15 -1
  17. package/.cache/ts/src/components/Gallery/Gallery.d.ts +9 -1
  18. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +1 -0
  19. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  20. package/.cache/ts/src/components/Input/Input.d.ts +1 -2
  21. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  22. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  23. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +16 -1
  24. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +14 -2
  25. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  26. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  27. package/.cache/ts/src/components/ModalRoot/types.d.ts +16 -1
  28. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +6 -5
  29. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -2
  30. package/.cache/ts/src/components/Pagination/Pagination.d.ts +3 -3
  31. package/.cache/ts/src/components/Select/Select.d.ts +1 -2
  32. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  33. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -1
  34. package/.cache/ts/src/components/Touch/TouchContext.d.ts +1 -1
  35. package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  36. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +1 -2
  37. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -2
  38. package/.cache/ts/src/hooks/useBridgeAdaptivity.d.ts +6 -0
  39. package/.cache/ts/src/hooks/useCalendar.d.ts +4 -3
  40. package/.cache/ts/src/hooks/useKeyboard.d.ts +1 -1
  41. package/.cache/ts/src/hooks/usePagination.d.ts +3 -3
  42. package/.cache/ts/src/index.d.ts +21 -10
  43. package/.cache/ts/src/lib/date.d.ts +29 -0
  44. package/.cache/ts/src/lib/getNavId.d.ts +2 -1
  45. package/.cache/ts/src/lib/warnOnce.d.ts +2 -1
  46. package/.cache/ts/src/testing/utils.d.ts +1 -0
  47. package/.cache/ts/src/tokenized/index.d.ts +22 -4
  48. package/.eslintrc.json +8 -2
  49. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -1
  50. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  51. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +2 -1
  52. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  53. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  54. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  55. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +7 -6
  56. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  57. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +44 -11
  58. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  59. package/dist/cjs/components/Alert/Alert.d.ts +4 -1
  60. package/dist/cjs/components/Alert/Alert.js +27 -8
  61. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  62. package/dist/cjs/components/AppRoot/AppRoot.js +20 -3
  63. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  64. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +6 -14
  65. package/dist/cjs/components/AppRoot/ScrollContext.js +94 -2
  66. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  67. package/dist/cjs/components/Avatar/Avatar.js +4 -1
  68. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  69. package/dist/cjs/components/Banner/Banner.js +5 -4
  70. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  71. package/dist/cjs/components/Button/Button.d.ts +1 -2
  72. package/dist/cjs/components/Button/Button.js +36 -41
  73. package/dist/cjs/components/Button/Button.js.map +1 -1
  74. package/dist/cjs/components/Calendar/Calendar.d.ts +10 -1
  75. package/dist/cjs/components/Calendar/Calendar.js +16 -9
  76. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  77. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -1
  78. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  79. package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -3
  80. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  81. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +6 -0
  82. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -15
  83. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  84. package/dist/cjs/components/CalendarRange/CalendarRange.js +12 -15
  85. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  86. package/dist/cjs/components/CalendarTime/CalendarTime.js +8 -10
  87. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  88. package/dist/cjs/components/CardScroll/CardScroll.js +3 -2
  89. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  90. package/dist/cjs/components/Cell/Cell.d.ts +1 -1
  91. package/dist/cjs/components/Cell/Cell.js +4 -3
  92. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  93. package/dist/cjs/components/CellButton/CellButton.js +1 -0
  94. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  95. package/dist/cjs/components/Chip/Chip.js +1 -0
  96. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  97. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -2
  98. package/dist/cjs/components/ChipsInput/ChipsInput.js +7 -10
  99. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  100. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  101. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +8 -12
  102. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  103. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +1 -1
  104. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  105. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +1 -1
  106. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  107. package/dist/cjs/components/ContentCard/ContentCard.js +4 -3
  108. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  109. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +2 -2
  110. package/dist/cjs/components/CustomSelect/CustomSelect.js +28 -34
  111. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  112. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  113. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  114. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  115. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +24 -14
  116. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  117. package/dist/cjs/components/DateInput/DateInput.d.ts +1 -1
  118. package/dist/cjs/components/DateInput/DateInput.js +15 -7
  119. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  120. package/dist/cjs/components/DatePicker/DatePicker.js +6 -6
  121. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  122. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +7 -7
  123. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  124. package/dist/cjs/components/Epic/Epic.js +1 -1
  125. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  126. package/dist/cjs/components/File/File.js +2 -2
  127. package/dist/cjs/components/File/File.js.map +1 -1
  128. package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
  129. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  130. package/dist/cjs/components/FormField/FormField.d.ts +15 -1
  131. package/dist/cjs/components/FormField/FormField.js +8 -8
  132. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  133. package/dist/cjs/components/FormItem/FormItem.js +4 -3
  134. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  135. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  136. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  137. package/dist/cjs/components/Gallery/Gallery.d.ts +9 -1
  138. package/dist/cjs/components/Gallery/Gallery.js +10 -2
  139. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  140. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +1 -0
  141. package/dist/cjs/components/GridAvatar/GridAvatar.js +6 -6
  142. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  143. package/dist/cjs/components/Group/Group.js +2 -1
  144. package/dist/cjs/components/Group/Group.js.map +1 -1
  145. package/dist/cjs/components/Header/Header.js +10 -7
  146. package/dist/cjs/components/Header/Header.js.map +1 -1
  147. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +2 -2
  148. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  149. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  150. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +34 -24
  151. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  152. package/dist/cjs/components/InfoRow/InfoRow.js +2 -2
  153. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  154. package/dist/cjs/components/Input/Input.d.ts +1 -2
  155. package/dist/cjs/components/Input/Input.js +13 -15
  156. package/dist/cjs/components/Input/Input.js.map +1 -1
  157. package/dist/cjs/components/List/List.js +1 -0
  158. package/dist/cjs/components/List/List.js.map +1 -1
  159. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +1 -0
  160. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  161. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  162. package/dist/cjs/components/ModalCard/ModalCard.js +1 -0
  163. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  164. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  165. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +10 -4
  166. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  167. package/dist/cjs/components/ModalPage/ModalPage.d.ts +16 -1
  168. package/dist/cjs/components/ModalPage/ModalPage.js +5 -1
  169. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  170. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +1 -0
  171. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  172. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +14 -2
  173. package/dist/cjs/components/ModalRoot/ModalRoot.js +14 -11
  174. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  175. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  176. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +3 -0
  177. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  178. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  179. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +10 -7
  180. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  181. package/dist/cjs/components/ModalRoot/types.d.ts +16 -1
  182. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  183. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +6 -5
  184. package/dist/cjs/components/ModalRoot/useModalManager.js +54 -16
  185. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  186. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -2
  187. package/dist/cjs/components/NativeSelect/NativeSelect.js +7 -8
  188. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  189. package/dist/cjs/components/Pagination/Pagination.d.ts +3 -3
  190. package/dist/cjs/components/Pagination/Pagination.js +3 -3
  191. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  192. package/dist/cjs/components/Panel/Panel.js +2 -1
  193. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  194. package/dist/cjs/components/PanelHeader/PanelHeader.js +4 -3
  195. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  196. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  197. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  198. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +5 -4
  199. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  200. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +5 -1
  201. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  202. package/dist/cjs/components/Placeholder/Placeholder.js +4 -3
  203. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  204. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -0
  205. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  206. package/dist/cjs/components/Popper/Popper.js +2 -2
  207. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  208. package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -2
  209. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  210. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
  211. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  212. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  213. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  214. package/dist/cjs/components/RichCell/RichCell.js +3 -2
  215. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  216. package/dist/cjs/components/RichTooltip/RichTooltip.js +2 -1
  217. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  218. package/dist/cjs/components/Root/Root.js +8 -7
  219. package/dist/cjs/components/Root/Root.js.map +1 -1
  220. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +3 -0
  221. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  222. package/dist/cjs/components/Search/Search.js +3 -2
  223. package/dist/cjs/components/Search/Search.js.map +1 -1
  224. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +19 -13
  225. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  226. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  227. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  228. package/dist/cjs/components/Select/Select.d.ts +1 -2
  229. package/dist/cjs/components/Select/Select.js +9 -11
  230. package/dist/cjs/components/Select/Select.js.map +1 -1
  231. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  232. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +5 -2
  233. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  234. package/dist/cjs/components/Separator/Separator.js +3 -1
  235. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  236. package/dist/cjs/components/SimpleCell/SimpleCell.js +5 -4
  237. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  238. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  239. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  240. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -0
  241. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  242. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +1 -0
  243. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  244. package/dist/cjs/components/Snackbar/Snackbar.js +3 -2
  245. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  246. package/dist/cjs/components/Spacing/Spacing.js +2 -1
  247. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  248. package/dist/cjs/components/SplitCol/SplitCol.js +2 -1
  249. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  250. package/dist/cjs/components/SplitLayout/SplitLayout.js +2 -1
  251. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  252. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +2 -2
  253. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  254. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +4 -3
  255. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  256. package/dist/cjs/components/Switch/Switch.js +1 -0
  257. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  258. package/dist/cjs/components/Tabbar/Tabbar.js +1 -0
  259. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  260. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -1
  261. package/dist/cjs/components/TabbarItem/TabbarItem.js +2 -1
  262. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  263. package/dist/cjs/components/TabsItem/TabsItem.js +3 -2
  264. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  265. package/dist/cjs/components/Tappable/Tappable.js +5 -4
  266. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  267. package/dist/cjs/components/TextTooltip/TextTooltip.js +3 -3
  268. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  269. package/dist/cjs/components/Tooltip/Tooltip.js +6 -6
  270. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  271. package/dist/cjs/components/Touch/Touch.js +9 -3
  272. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  273. package/dist/cjs/components/Touch/TouchContext.d.ts +1 -1
  274. package/dist/cjs/components/Touch/TouchContext.js +1 -1
  275. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  276. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  277. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +42 -0
  278. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -0
  279. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +1 -2
  280. package/dist/cjs/components/Typography/Subhead/Subhead.js +4 -6
  281. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  282. package/dist/cjs/components/Typography/Text/Text.js +1 -1
  283. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  284. package/dist/cjs/components/Typography/Title/Title.d.ts +1 -2
  285. package/dist/cjs/components/Typography/Title/Title.js +5 -11
  286. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  287. package/dist/cjs/components/UsersStack/UsersStack.js +3 -2
  288. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  289. package/dist/cjs/components/View/View.js +5 -0
  290. package/dist/cjs/components/View/View.js.map +1 -1
  291. package/dist/cjs/components/View/ViewInfinite.js +5 -0
  292. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  293. package/dist/cjs/components/View/utils.js +5 -2
  294. package/dist/cjs/components/View/utils.js.map +1 -1
  295. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -2
  296. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  297. package/dist/cjs/helpers/scheme.js +2 -2
  298. package/dist/cjs/helpers/scheme.js.map +1 -1
  299. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +6 -0
  300. package/dist/cjs/hooks/useBridgeAdaptivity.js +85 -0
  301. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -0
  302. package/dist/cjs/hooks/useCalendar.d.ts +4 -3
  303. package/dist/cjs/hooks/useCalendar.js +19 -10
  304. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  305. package/dist/cjs/hooks/useKeyboard.d.ts +1 -1
  306. package/dist/cjs/hooks/useKeyboard.js +1 -1
  307. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  308. package/dist/cjs/hooks/usePagination.d.ts +3 -3
  309. package/dist/cjs/hooks/usePagination.js +3 -3
  310. package/dist/cjs/hooks/usePagination.js.map +1 -1
  311. package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
  312. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  313. package/dist/cjs/hooks/useWaitTransitionFinish.js +6 -1
  314. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  315. package/dist/cjs/index.d.ts +21 -10
  316. package/dist/cjs/index.js +28 -20
  317. package/dist/cjs/index.js.map +1 -1
  318. package/dist/cjs/lib/calendar.js +12 -23
  319. package/dist/cjs/lib/calendar.js.map +1 -1
  320. package/dist/cjs/lib/date.d.ts +29 -0
  321. package/dist/cjs/lib/date.js +286 -0
  322. package/dist/cjs/lib/date.js.map +1 -0
  323. package/dist/cjs/lib/getNavId.d.ts +2 -1
  324. package/dist/cjs/lib/getNavId.js +1 -1
  325. package/dist/cjs/lib/getNavId.js.map +1 -1
  326. package/dist/cjs/lib/platform.js +29 -0
  327. package/dist/cjs/lib/platform.js.map +1 -1
  328. package/dist/cjs/lib/warnOnce.d.ts +2 -1
  329. package/dist/cjs/lib/warnOnce.js +3 -1
  330. package/dist/cjs/lib/warnOnce.js.map +1 -1
  331. package/dist/cjs/tokenized/index.d.ts +22 -4
  332. package/dist/cjs/tokenized/index.js +80 -10
  333. package/dist/cjs/tokenized/index.js.map +1 -1
  334. package/dist/components/ActionSheet/ActionSheet.js +3 -1
  335. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  336. package/dist/components/ActionSheet/ActionSheetDropdown.js +2 -1
  337. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  338. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  339. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  340. package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -3
  341. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  342. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  343. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  344. package/dist/components/Alert/Alert.d.ts +4 -1
  345. package/dist/components/Alert/Alert.js +22 -5
  346. package/dist/components/Alert/Alert.js.map +1 -1
  347. package/dist/components/AppRoot/AppRoot.js +19 -3
  348. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  349. package/dist/components/AppRoot/ScrollContext.d.ts +6 -14
  350. package/dist/components/AppRoot/ScrollContext.js +87 -1
  351. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  352. package/dist/components/Avatar/Avatar.js +4 -1
  353. package/dist/components/Avatar/Avatar.js.map +1 -1
  354. package/dist/components/Banner/Banner.js +3 -2
  355. package/dist/components/Banner/Banner.js.map +1 -1
  356. package/dist/components/Button/Button.d.ts +1 -2
  357. package/dist/components/Button/Button.js +29 -33
  358. package/dist/components/Button/Button.js.map +1 -1
  359. package/dist/components/Calendar/Calendar.d.ts +10 -1
  360. package/dist/components/Calendar/Calendar.js +14 -7
  361. package/dist/components/Calendar/Calendar.js.map +1 -1
  362. package/dist/components/CalendarDay/CalendarDay.js +4 -1
  363. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  364. package/dist/components/CalendarDays/CalendarDays.js +1 -1
  365. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  366. package/dist/components/CalendarHeader/CalendarHeader.d.ts +6 -0
  367. package/dist/components/CalendarHeader/CalendarHeader.js +8 -8
  368. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  369. package/dist/components/CalendarRange/CalendarRange.js +2 -5
  370. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  371. package/dist/components/CalendarTime/CalendarTime.js +3 -3
  372. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  373. package/dist/components/CardScroll/CardScroll.js +2 -1
  374. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  375. package/dist/components/Cell/Cell.d.ts +1 -1
  376. package/dist/components/Cell/Cell.js +4 -3
  377. package/dist/components/Cell/Cell.js.map +1 -1
  378. package/dist/components/CellButton/CellButton.js +1 -0
  379. package/dist/components/CellButton/CellButton.js.map +1 -1
  380. package/dist/components/Chip/Chip.js +1 -0
  381. package/dist/components/Chip/Chip.js.map +1 -1
  382. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -2
  383. package/dist/components/ChipsInput/ChipsInput.js +6 -11
  384. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  385. package/dist/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  386. package/dist/components/ChipsSelect/ChipsSelect.js +3 -6
  387. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  388. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  389. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  390. package/dist/components/ConfigProvider/ConfigProvider.js +1 -1
  391. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  392. package/dist/components/ContentCard/ContentCard.js +3 -2
  393. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  394. package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
  395. package/dist/components/CustomSelect/CustomSelect.js +24 -28
  396. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  397. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  398. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  399. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  400. package/dist/components/CustomSelectOption/CustomSelectOption.js +19 -15
  401. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  402. package/dist/components/DateInput/DateInput.d.ts +1 -1
  403. package/dist/components/DateInput/DateInput.js +13 -5
  404. package/dist/components/DateInput/DateInput.js.map +1 -1
  405. package/dist/components/DatePicker/DatePicker.js +2 -2
  406. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  407. package/dist/components/DateRangeInput/DateRangeInput.js +2 -2
  408. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  409. package/dist/components/Epic/Epic.js +1 -1
  410. package/dist/components/Epic/Epic.js.map +1 -1
  411. package/dist/components/File/File.js +1 -1
  412. package/dist/components/File/File.js.map +1 -1
  413. package/dist/components/FixedLayout/FixedLayout.js +2 -1
  414. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  415. package/dist/components/FormField/FormField.d.ts +15 -1
  416. package/dist/components/FormField/FormField.js +8 -8
  417. package/dist/components/FormField/FormField.js.map +1 -1
  418. package/dist/components/FormItem/FormItem.js +3 -2
  419. package/dist/components/FormItem/FormItem.js.map +1 -1
  420. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  421. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  422. package/dist/components/Gallery/Gallery.d.ts +9 -1
  423. package/dist/components/Gallery/Gallery.js +10 -2
  424. package/dist/components/Gallery/Gallery.js.map +1 -1
  425. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -0
  426. package/dist/components/GridAvatar/GridAvatar.js +5 -6
  427. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  428. package/dist/components/Group/Group.js +2 -1
  429. package/dist/components/Group/Group.js.map +1 -1
  430. package/dist/components/Header/Header.js +7 -4
  431. package/dist/components/Header/Header.js.map +1 -1
  432. package/dist/components/HorizontalCell/HorizontalCell.js +1 -1
  433. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  434. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  435. package/dist/components/HorizontalScroll/HorizontalScroll.js +32 -21
  436. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  437. package/dist/components/InfoRow/InfoRow.js +1 -1
  438. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  439. package/dist/components/Input/Input.d.ts +1 -2
  440. package/dist/components/Input/Input.js +10 -10
  441. package/dist/components/Input/Input.js.map +1 -1
  442. package/dist/components/List/List.js +1 -0
  443. package/dist/components/List/List.js.map +1 -1
  444. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -0
  445. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  446. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  447. package/dist/components/ModalCard/ModalCard.js +1 -0
  448. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  449. package/dist/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  450. package/dist/components/ModalCardBase/ModalCardBase.js +9 -3
  451. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  452. package/dist/components/ModalPage/ModalPage.d.ts +16 -1
  453. package/dist/components/ModalPage/ModalPage.js +5 -1
  454. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  455. package/dist/components/ModalPageHeader/ModalPageHeader.js +1 -0
  456. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  457. package/dist/components/ModalRoot/ModalRoot.d.ts +14 -2
  458. package/dist/components/ModalRoot/ModalRoot.js +14 -11
  459. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  460. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  461. package/dist/components/ModalRoot/ModalRootAdaptive.js +2 -0
  462. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  463. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  464. package/dist/components/ModalRoot/ModalRootDesktop.js +10 -7
  465. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  466. package/dist/components/ModalRoot/types.d.ts +16 -1
  467. package/dist/components/ModalRoot/types.js.map +1 -1
  468. package/dist/components/ModalRoot/useModalManager.d.ts +6 -5
  469. package/dist/components/ModalRoot/useModalManager.js +54 -16
  470. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  471. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -2
  472. package/dist/components/NativeSelect/NativeSelect.js +5 -5
  473. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  474. package/dist/components/Pagination/Pagination.d.ts +3 -3
  475. package/dist/components/Pagination/Pagination.js +1 -1
  476. package/dist/components/Pagination/Pagination.js.map +1 -1
  477. package/dist/components/Panel/Panel.js +2 -1
  478. package/dist/components/Panel/Panel.js.map +1 -1
  479. package/dist/components/PanelHeader/PanelHeader.js +4 -3
  480. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  481. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  482. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  483. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  484. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  485. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +4 -1
  486. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  487. package/dist/components/Placeholder/Placeholder.js +3 -2
  488. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  489. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -0
  490. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  491. package/dist/components/Popper/Popper.js +2 -2
  492. package/dist/components/Popper/Popper.js.map +1 -1
  493. package/dist/components/PromoBanner/PromoBanner.js +1 -1
  494. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  495. package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
  496. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  497. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  498. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  499. package/dist/components/RichCell/RichCell.js +2 -1
  500. package/dist/components/RichCell/RichCell.js.map +1 -1
  501. package/dist/components/RichTooltip/RichTooltip.js +2 -1
  502. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  503. package/dist/components/Root/Root.js +8 -7
  504. package/dist/components/Root/Root.js.map +1 -1
  505. package/dist/components/ScreenSpinner/ScreenSpinner.js +2 -0
  506. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  507. package/dist/components/Search/Search.js +2 -1
  508. package/dist/components/Search/Search.js.map +1 -1
  509. package/dist/components/SegmentedControl/SegmentedControl.js +19 -13
  510. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  511. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  512. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  513. package/dist/components/Select/Select.d.ts +1 -2
  514. package/dist/components/Select/Select.js +5 -6
  515. package/dist/components/Select/Select.js.map +1 -1
  516. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  517. package/dist/components/SelectMimicry/SelectMimicry.js +5 -2
  518. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  519. package/dist/components/Separator/Separator.js +3 -1
  520. package/dist/components/Separator/Separator.js.map +1 -1
  521. package/dist/components/SimpleCell/SimpleCell.js +3 -2
  522. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  523. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  524. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  525. package/dist/components/SliderSwitch/SliderSwitch.js +1 -0
  526. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  527. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -0
  528. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  529. package/dist/components/Snackbar/Snackbar.js +2 -1
  530. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  531. package/dist/components/Spacing/Spacing.js +2 -1
  532. package/dist/components/Spacing/Spacing.js.map +1 -1
  533. package/dist/components/SplitCol/SplitCol.js +2 -1
  534. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  535. package/dist/components/SplitLayout/SplitLayout.js +2 -1
  536. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  537. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -1
  538. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  539. package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -2
  540. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  541. package/dist/components/Switch/Switch.js +1 -0
  542. package/dist/components/Switch/Switch.js.map +1 -1
  543. package/dist/components/Tabbar/Tabbar.js +1 -0
  544. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  545. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  546. package/dist/components/TabbarItem/TabbarItem.js +2 -1
  547. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  548. package/dist/components/TabsItem/TabsItem.js +2 -1
  549. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  550. package/dist/components/Tappable/Tappable.js +5 -4
  551. package/dist/components/Tappable/Tappable.js.map +1 -1
  552. package/dist/components/TextTooltip/TextTooltip.js +1 -1
  553. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  554. package/dist/components/Tooltip/Tooltip.js +4 -4
  555. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  556. package/dist/components/Touch/Touch.js +9 -3
  557. package/dist/components/Touch/Touch.js.map +1 -1
  558. package/dist/components/Touch/TouchContext.d.ts +1 -1
  559. package/dist/components/Touch/TouchContext.js +1 -1
  560. package/dist/components/Touch/TouchContext.js.map +1 -1
  561. package/dist/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  562. package/dist/components/Typography/Paragraph/Paragraph.js +25 -0
  563. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -0
  564. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -2
  565. package/dist/components/Typography/Subhead/Subhead.js +3 -7
  566. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  567. package/dist/components/Typography/Text/Text.js +1 -1
  568. package/dist/components/Typography/Text/Text.js.map +1 -1
  569. package/dist/components/Typography/Title/Title.d.ts +1 -2
  570. package/dist/components/Typography/Title/Title.js +3 -9
  571. package/dist/components/Typography/Title/Title.js.map +1 -1
  572. package/dist/components/UsersStack/UsersStack.js +2 -1
  573. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  574. package/dist/components/View/View.js +5 -0
  575. package/dist/components/View/View.js.map +1 -1
  576. package/dist/components/View/ViewInfinite.js +5 -0
  577. package/dist/components/View/ViewInfinite.js.map +1 -1
  578. package/dist/components/View/utils.js +5 -2
  579. package/dist/components/View/utils.js.map +1 -1
  580. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -2
  581. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  582. package/dist/components.css +21 -6
  583. package/dist/components.css.map +1 -1
  584. package/dist/cssm/components/ActionSheet/ActionSheet.js +3 -1
  585. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  586. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +2 -1
  587. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  588. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  589. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  590. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -3
  591. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  592. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  593. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  594. package/dist/cssm/components/Alert/Alert.css +1 -1
  595. package/dist/cssm/components/Alert/Alert.d.ts +4 -1
  596. package/dist/cssm/components/Alert/Alert.js +22 -5
  597. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  598. package/dist/cssm/components/AppRoot/AppRoot.js +19 -3
  599. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  600. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +6 -14
  601. package/dist/cssm/components/AppRoot/ScrollContext.js +87 -1
  602. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  603. package/dist/cssm/components/Avatar/Avatar.js +4 -1
  604. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  605. package/dist/cssm/components/Banner/Banner.js +3 -2
  606. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  607. package/dist/cssm/components/Button/Button.css +1 -1
  608. package/dist/cssm/components/Button/Button.d.ts +1 -2
  609. package/dist/cssm/components/Button/Button.js +29 -33
  610. package/dist/cssm/components/Button/Button.js.map +1 -1
  611. package/dist/cssm/components/Calendar/Calendar.d.ts +10 -1
  612. package/dist/cssm/components/Calendar/Calendar.js +14 -7
  613. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  614. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  615. package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -1
  616. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  617. package/dist/cssm/components/CalendarDays/CalendarDays.js +1 -1
  618. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  619. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +6 -0
  620. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +8 -8
  621. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  622. package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -5
  623. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  624. package/dist/cssm/components/CalendarTime/CalendarTime.js +3 -3
  625. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  626. package/dist/cssm/components/Card/Card.css +1 -1
  627. package/dist/cssm/components/CardScroll/CardScroll.js +2 -1
  628. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  629. package/dist/cssm/components/Cell/Cell.d.ts +1 -1
  630. package/dist/cssm/components/Cell/Cell.js +4 -3
  631. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  632. package/dist/cssm/components/CellButton/CellButton.js +1 -0
  633. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  634. package/dist/cssm/components/Chip/Chip.js +1 -0
  635. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  636. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  637. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +1 -2
  638. package/dist/cssm/components/ChipsInput/ChipsInput.js +6 -11
  639. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  640. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  641. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  642. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +3 -6
  643. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  644. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
  645. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  646. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +1 -1
  647. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  648. package/dist/cssm/components/ContentCard/ContentCard.js +3 -2
  649. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  650. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  651. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +2 -2
  652. package/dist/cssm/components/CustomSelect/CustomSelect.js +24 -28
  653. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  654. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -1
  655. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  656. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  657. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -1
  658. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  659. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +19 -15
  660. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  661. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  662. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  663. package/dist/cssm/components/DateInput/DateInput.js +13 -5
  664. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  665. package/dist/cssm/components/DatePicker/DatePicker.js +2 -2
  666. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  667. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  668. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -2
  669. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  670. package/dist/cssm/components/Epic/Epic.js +1 -1
  671. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  672. package/dist/cssm/components/File/File.js +1 -1
  673. package/dist/cssm/components/File/File.js.map +1 -1
  674. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  675. package/dist/cssm/components/FixedLayout/FixedLayout.js +2 -1
  676. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  677. package/dist/cssm/components/FormField/FormField.css +5 -1
  678. package/dist/cssm/components/FormField/FormField.d.ts +15 -1
  679. package/dist/cssm/components/FormField/FormField.js +8 -8
  680. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  681. package/dist/cssm/components/FormItem/FormItem.js +3 -2
  682. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  683. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  684. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  685. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  686. package/dist/cssm/components/Gallery/Gallery.d.ts +9 -1
  687. package/dist/cssm/components/Gallery/Gallery.js +10 -2
  688. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  689. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  690. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  691. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +1 -0
  692. package/dist/cssm/components/GridAvatar/GridAvatar.js +5 -6
  693. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  694. package/dist/cssm/components/Group/Group.js +2 -1
  695. package/dist/cssm/components/Group/Group.js.map +1 -1
  696. package/dist/cssm/components/Header/Header.js +7 -4
  697. package/dist/cssm/components/Header/Header.js.map +1 -1
  698. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -1
  699. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  700. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  701. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +32 -21
  702. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  703. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  704. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  705. package/dist/cssm/components/Input/Input.css +1 -1
  706. package/dist/cssm/components/Input/Input.d.ts +1 -2
  707. package/dist/cssm/components/Input/Input.js +10 -10
  708. package/dist/cssm/components/Input/Input.js.map +1 -1
  709. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  710. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  711. package/dist/cssm/components/List/List.js +1 -0
  712. package/dist/cssm/components/List/List.js.map +1 -1
  713. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -0
  714. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  715. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  716. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  717. package/dist/cssm/components/ModalCard/ModalCard.js +1 -0
  718. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  719. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +1 -1
  720. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  721. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +9 -3
  722. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  723. package/dist/cssm/components/ModalPage/ModalPage.d.ts +16 -1
  724. package/dist/cssm/components/ModalPage/ModalPage.js +5 -1
  725. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  726. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +1 -0
  727. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  728. package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
  729. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +14 -2
  730. package/dist/cssm/components/ModalRoot/ModalRoot.js +14 -11
  731. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  732. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  733. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +2 -0
  734. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  735. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  736. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +10 -7
  737. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  738. package/dist/cssm/components/ModalRoot/types.d.ts +16 -1
  739. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  740. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +6 -5
  741. package/dist/cssm/components/ModalRoot/useModalManager.js +54 -16
  742. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  743. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -2
  744. package/dist/cssm/components/NativeSelect/NativeSelect.js +5 -5
  745. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  746. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  747. package/dist/cssm/components/Pagination/Pagination.d.ts +3 -3
  748. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  749. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  750. package/dist/cssm/components/Panel/Panel.js +2 -1
  751. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  752. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  753. package/dist/cssm/components/PanelHeader/PanelHeader.js +4 -3
  754. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  755. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  756. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  757. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  758. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  759. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  760. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  761. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +4 -1
  762. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  763. package/dist/cssm/components/Placeholder/Placeholder.js +3 -2
  764. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  765. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -0
  766. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  767. package/dist/cssm/components/Popper/Popper.js +2 -2
  768. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  769. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -1
  770. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  771. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +2 -1
  772. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  773. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  774. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  775. package/dist/cssm/components/Removable/Removable.css +1 -1
  776. package/dist/cssm/components/RichCell/RichCell.js +2 -1
  777. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  778. package/dist/cssm/components/RichTooltip/RichTooltip.js +2 -1
  779. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  780. package/dist/cssm/components/Root/Root.css +1 -1
  781. package/dist/cssm/components/Root/Root.js +8 -7
  782. package/dist/cssm/components/Root/Root.js.map +1 -1
  783. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -0
  784. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  785. package/dist/cssm/components/Search/Search.css +1 -1
  786. package/dist/cssm/components/Search/Search.js +2 -1
  787. package/dist/cssm/components/Search/Search.js.map +1 -1
  788. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +19 -13
  789. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  790. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  791. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  792. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  793. package/dist/cssm/components/Select/Select.css +1 -1
  794. package/dist/cssm/components/Select/Select.d.ts +1 -2
  795. package/dist/cssm/components/Select/Select.js +5 -6
  796. package/dist/cssm/components/Select/Select.js.map +1 -1
  797. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  798. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +5 -2
  799. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  800. package/dist/cssm/components/Separator/Separator.js +3 -1
  801. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  802. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  803. package/dist/cssm/components/SimpleCell/SimpleCell.js +3 -2
  804. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  805. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  806. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  807. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -0
  808. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  809. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -0
  810. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  811. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  812. package/dist/cssm/components/Snackbar/Snackbar.js +2 -1
  813. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  814. package/dist/cssm/components/Spacing/Spacing.js +2 -1
  815. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  816. package/dist/cssm/components/SplitCol/SplitCol.js +2 -1
  817. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  818. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  819. package/dist/cssm/components/SplitLayout/SplitLayout.js +2 -1
  820. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  821. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  822. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  823. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -2
  824. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  825. package/dist/cssm/components/Switch/Switch.js +1 -0
  826. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  827. package/dist/cssm/components/Tabbar/Tabbar.js +1 -0
  828. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  829. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  830. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  831. package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -1
  832. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  833. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  834. package/dist/cssm/components/TabsItem/TabsItem.js +2 -1
  835. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  836. package/dist/cssm/components/Tappable/Tappable.css +1 -1
  837. package/dist/cssm/components/Tappable/Tappable.js +5 -4
  838. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  839. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  840. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  841. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  842. package/dist/cssm/components/Tooltip/Tooltip.js +4 -4
  843. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  844. package/dist/cssm/components/Touch/Touch.js +9 -3
  845. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  846. package/dist/cssm/components/Touch/TouchContext.d.ts +1 -1
  847. package/dist/cssm/components/Touch/TouchContext.js +1 -1
  848. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  849. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  850. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  851. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -0
  852. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  853. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +26 -0
  854. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -0
  855. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  856. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -2
  857. package/dist/cssm/components/Typography/Subhead/Subhead.js +3 -7
  858. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  859. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  860. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  861. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  862. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  863. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -2
  864. package/dist/cssm/components/Typography/Title/Title.js +3 -9
  865. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  866. package/dist/cssm/components/UsersStack/UsersStack.js +2 -1
  867. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  868. package/dist/cssm/components/View/View.css +1 -1
  869. package/dist/cssm/components/View/View.js +5 -0
  870. package/dist/cssm/components/View/View.js.map +1 -1
  871. package/dist/cssm/components/View/ViewIOS.css +1 -1
  872. package/dist/cssm/components/View/ViewInfinite.js +5 -0
  873. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  874. package/dist/cssm/components/View/utils.js +5 -2
  875. package/dist/cssm/components/View/utils.js.map +1 -1
  876. package/dist/cssm/components/WriteBar/WriteBar.css +1 -1
  877. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -2
  878. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  879. package/dist/cssm/helpers/scheme.js +2 -2
  880. package/dist/cssm/helpers/scheme.js.map +1 -1
  881. package/dist/cssm/hooks/useBridgeAdaptivity.d.ts +6 -0
  882. package/dist/cssm/hooks/useBridgeAdaptivity.js +68 -0
  883. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -0
  884. package/dist/cssm/hooks/useCalendar.d.ts +4 -3
  885. package/dist/cssm/hooks/useCalendar.js +16 -7
  886. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  887. package/dist/cssm/hooks/useKeyboard.d.ts +1 -1
  888. package/dist/cssm/hooks/useKeyboard.js +1 -1
  889. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  890. package/dist/cssm/hooks/usePagination.d.ts +3 -3
  891. package/dist/cssm/hooks/usePagination.js +3 -3
  892. package/dist/cssm/hooks/usePagination.js.map +1 -1
  893. package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
  894. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  895. package/dist/cssm/hooks/useWaitTransitionFinish.js +5 -1
  896. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  897. package/dist/cssm/index.d.ts +21 -10
  898. package/dist/cssm/index.js +12 -14
  899. package/dist/cssm/index.js.map +1 -1
  900. package/dist/cssm/lib/calendar.js +4 -15
  901. package/dist/cssm/lib/calendar.js.map +1 -1
  902. package/dist/cssm/lib/date.d.ts +29 -0
  903. package/dist/cssm/lib/date.js +223 -0
  904. package/dist/cssm/lib/date.js.map +1 -0
  905. package/dist/cssm/lib/getNavId.d.ts +2 -1
  906. package/dist/cssm/lib/getNavId.js +1 -1
  907. package/dist/cssm/lib/getNavId.js.map +1 -1
  908. package/dist/cssm/lib/platform.js +26 -0
  909. package/dist/cssm/lib/platform.js.map +1 -1
  910. package/dist/cssm/lib/warnOnce.d.ts +2 -1
  911. package/dist/cssm/lib/warnOnce.js +3 -1
  912. package/dist/cssm/lib/warnOnce.js.map +1 -1
  913. package/dist/cssm/styles/bright_light.css +1 -1
  914. package/dist/cssm/styles/common.css +1 -1
  915. package/dist/cssm/styles/components.css +21 -6
  916. package/dist/cssm/styles/constants.css +9 -2
  917. package/dist/cssm/styles/space_gray.css +1 -1
  918. package/dist/cssm/styles/themes.css +3 -3
  919. package/dist/cssm/styles/unstable.css +1 -1
  920. package/dist/cssm/styles/vkcom_dark.css +2 -2
  921. package/dist/cssm/styles/vkcom_light.css +1 -1
  922. package/dist/cssm/tokenized/index.d.ts +22 -4
  923. package/dist/cssm/tokenized/index.js +13 -4
  924. package/dist/cssm/tokenized/index.js.map +1 -1
  925. package/dist/default_scheme.css +1 -1
  926. package/dist/default_scheme.css.map +1 -1
  927. package/dist/helpers/scheme.js +2 -2
  928. package/dist/helpers/scheme.js.map +1 -1
  929. package/dist/hooks/useBridgeAdaptivity.d.ts +6 -0
  930. package/dist/hooks/useBridgeAdaptivity.js +68 -0
  931. package/dist/hooks/useBridgeAdaptivity.js.map +1 -0
  932. package/dist/hooks/useCalendar.d.ts +4 -3
  933. package/dist/hooks/useCalendar.js +16 -7
  934. package/dist/hooks/useCalendar.js.map +1 -1
  935. package/dist/hooks/useKeyboard.d.ts +1 -1
  936. package/dist/hooks/useKeyboard.js +1 -1
  937. package/dist/hooks/useKeyboard.js.map +1 -1
  938. package/dist/hooks/usePagination.d.ts +3 -3
  939. package/dist/hooks/usePagination.js +3 -3
  940. package/dist/hooks/usePagination.js.map +1 -1
  941. package/dist/hooks/usePatchChildrenRef.js +1 -1
  942. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  943. package/dist/hooks/useWaitTransitionFinish.js +5 -1
  944. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  945. package/dist/index.d.ts +21 -10
  946. package/dist/index.js +12 -14
  947. package/dist/index.js.map +1 -1
  948. package/dist/lib/calendar.js +4 -15
  949. package/dist/lib/calendar.js.map +1 -1
  950. package/dist/lib/date.d.ts +29 -0
  951. package/dist/lib/date.js +223 -0
  952. package/dist/lib/date.js.map +1 -0
  953. package/dist/lib/getNavId.d.ts +2 -1
  954. package/dist/lib/getNavId.js +1 -1
  955. package/dist/lib/getNavId.js.map +1 -1
  956. package/dist/lib/platform.js +26 -0
  957. package/dist/lib/platform.js.map +1 -1
  958. package/dist/lib/warnOnce.d.ts +2 -1
  959. package/dist/lib/warnOnce.js +3 -1
  960. package/dist/lib/warnOnce.js.map +1 -1
  961. package/dist/tokenized/index.d.ts +22 -4
  962. package/dist/tokenized/index.js +13 -4
  963. package/dist/tokenized/index.js.map +1 -1
  964. package/dist/unstable.css +1 -1
  965. package/dist/unstable.css.map +1 -1
  966. package/dist/vkui.css +24 -9
  967. package/dist/vkui.css.map +1 -1
  968. package/eslint-plugin-vkui/index.js +64 -0
  969. package/eslint-plugin-vkui/package.json +5 -0
  970. package/jest.unit.config.js +4 -1
  971. package/package.json +5 -4
  972. package/postcss-plugin-vk-sans/__tests__/custom_properties.css +4 -0
  973. package/postcss-plugin-vk-sans/index.js +350 -0
  974. package/src/components/ActionSheet/ActionSheet.tsx +7 -1
  975. package/src/components/ActionSheet/ActionSheetDropdown.tsx +1 -0
  976. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -1
  977. package/src/components/ActionSheet/Readme.md +1 -0
  978. package/src/components/ActionSheetItem/ActionSheetItem.tsx +3 -2
  979. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +50 -19
  980. package/src/components/Alert/Alert.tsx +28 -8
  981. package/src/components/AppRoot/AppRoot.tsx +18 -2
  982. package/src/components/AppRoot/ScrollContext.ts +90 -2
  983. package/src/components/Avatar/Avatar.tsx +3 -0
  984. package/src/components/Banner/Banner.tsx +3 -2
  985. package/src/components/Button/Button.css +9 -7
  986. package/src/components/Button/Button.tsx +25 -36
  987. package/src/components/Calendar/Calendar.tsx +30 -6
  988. package/src/components/Calendar/Readme.md +2 -2
  989. package/src/components/CalendarDay/CalendarDay.tsx +3 -0
  990. package/src/components/CalendarDays/CalendarDays.tsx +1 -1
  991. package/src/components/CalendarHeader/CalendarHeader.tsx +17 -10
  992. package/src/components/CalendarRange/CalendarRange.tsx +2 -5
  993. package/src/components/CalendarRange/Readme.md +2 -2
  994. package/src/components/CalendarTime/CalendarTime.tsx +3 -3
  995. package/src/components/Card/Card.css +2 -1
  996. package/src/components/CardScroll/CardScroll.tsx +3 -1
  997. package/src/components/Cell/Cell.tsx +4 -3
  998. package/src/components/CellButton/CellButton.tsx +1 -0
  999. package/src/components/Chip/Chip.tsx +1 -0
  1000. package/src/components/ChipsInput/ChipsInput.css +4 -4
  1001. package/src/components/ChipsInput/ChipsInput.tsx +9 -8
  1002. package/src/components/ChipsSelect/ChipsSelect.css +1 -1
  1003. package/src/components/ChipsSelect/ChipsSelect.tsx +9 -7
  1004. package/src/components/ClickPopper/ClickPopper.tsx +1 -1
  1005. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -1
  1006. package/src/components/ContentCard/ContentCard.tsx +2 -1
  1007. package/src/components/CustomSelect/CustomSelect.css +1 -1
  1008. package/src/components/CustomSelect/CustomSelect.tsx +28 -22
  1009. package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +10 -5
  1010. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +6 -5
  1011. package/src/components/CustomSelectOption/CustomSelectOption.css +17 -5
  1012. package/src/components/CustomSelectOption/CustomSelectOption.tsx +55 -17
  1013. package/src/components/CustomSelectOption/Readme.md +47 -28
  1014. package/src/components/DateInput/DateInput.css +1 -1
  1015. package/src/components/DateInput/DateInput.tsx +15 -3
  1016. package/src/components/DateInput/Readme.md +1 -1
  1017. package/src/components/DatePicker/DatePicker.tsx +2 -2
  1018. package/src/components/DateRangeInput/DateRangeInput.tsx +3 -3
  1019. package/src/components/DateRangeInput/Readme.md +1 -1
  1020. package/src/components/Epic/Epic.tsx +3 -1
  1021. package/src/components/Epic/Readme.md +5 -1
  1022. package/src/components/File/File.tsx +1 -1
  1023. package/src/components/FixedLayout/FixedLayout.css +2 -0
  1024. package/src/components/FixedLayout/FixedLayout.tsx +1 -0
  1025. package/src/components/FormField/FormField.css +30 -45
  1026. package/src/components/FormField/FormField.tsx +26 -7
  1027. package/src/components/FormField/Readme.md +85 -19
  1028. package/src/components/FormItem/FormItem.tsx +2 -1
  1029. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -0
  1030. package/src/components/Gallery/Gallery.tsx +14 -2
  1031. package/src/components/Gradient/Gradient.css +4 -2
  1032. package/src/components/GridAvatar/GridAvatar.css +10 -13
  1033. package/src/components/GridAvatar/GridAvatar.tsx +12 -24
  1034. package/src/components/Group/Group.tsx +1 -0
  1035. package/src/components/Header/Header.tsx +9 -3
  1036. package/src/components/HorizontalCell/HorizontalCell.tsx +1 -1
  1037. package/src/components/HorizontalScroll/HorizontalScroll.tsx +50 -42
  1038. package/src/components/InfoRow/InfoRow.tsx +1 -1
  1039. package/src/components/Input/Input.css +4 -4
  1040. package/src/components/Input/Input.tsx +7 -9
  1041. package/src/components/InputLike/InputLike.css +1 -1
  1042. package/src/components/InputLike/InputLikeDivider.css +1 -1
  1043. package/src/components/List/List.tsx +1 -0
  1044. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -0
  1045. package/src/components/ModalCard/ModalCard.css +1 -11
  1046. package/src/components/ModalCard/ModalCard.tsx +1 -0
  1047. package/src/components/ModalCardBase/ModalCardBase.css +10 -0
  1048. package/src/components/ModalCardBase/ModalCardBase.tsx +15 -2
  1049. package/src/components/ModalPage/ModalPage.tsx +19 -0
  1050. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -0
  1051. package/src/components/ModalRoot/ModalRoot.css +3 -2
  1052. package/src/components/ModalRoot/ModalRoot.tsx +37 -10
  1053. package/src/components/ModalRoot/ModalRootAdaptive.tsx +20 -2
  1054. package/src/components/ModalRoot/ModalRootDesktop.tsx +25 -7
  1055. package/src/components/ModalRoot/Readme.md +112 -0
  1056. package/src/components/ModalRoot/types.ts +16 -1
  1057. package/src/components/ModalRoot/useModalManager.tsx +63 -15
  1058. package/src/components/NativeSelect/NativeSelect.tsx +3 -3
  1059. package/src/components/Pagination/Pagination.tsx +4 -4
  1060. package/src/components/Pagination/Readme.md +1 -1
  1061. package/src/components/Panel/Panel.tsx +1 -0
  1062. package/src/components/PanelHeader/PanelHeader.css +13 -13
  1063. package/src/components/PanelHeader/PanelHeader.tsx +4 -3
  1064. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -0
  1065. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +4 -2
  1066. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +4 -0
  1067. package/src/components/Placeholder/Placeholder.tsx +2 -1
  1068. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -0
  1069. package/src/components/Popper/Popper.tsx +2 -2
  1070. package/src/components/PromoBanner/PromoBanner.tsx +1 -1
  1071. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -0
  1072. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +1 -0
  1073. package/src/components/RichCell/RichCell.tsx +2 -1
  1074. package/src/components/RichTooltip/Readme.md +2 -2
  1075. package/src/components/RichTooltip/RichTooltip.tsx +1 -0
  1076. package/src/components/Root/Root.css +4 -11
  1077. package/src/components/Root/Root.tsx +7 -6
  1078. package/src/components/ScreenSpinner/ScreenSpinner.tsx +3 -0
  1079. package/src/components/Search/Search.tsx +2 -1
  1080. package/src/components/SegmentedControl/SegmentedControl.tsx +20 -10
  1081. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  1082. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +1 -0
  1083. package/src/components/Select/Select.css +2 -2
  1084. package/src/components/Select/Select.tsx +4 -5
  1085. package/src/components/SelectMimicry/SelectMimicry.tsx +6 -3
  1086. package/src/components/Separator/Separator.tsx +2 -0
  1087. package/src/components/SimpleCell/SimpleCell.tsx +3 -2
  1088. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +7 -2
  1089. package/src/components/SliderSwitch/SliderSwitch.tsx +1 -0
  1090. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -0
  1091. package/src/components/Snackbar/Snackbar.css +6 -3
  1092. package/src/components/Snackbar/Snackbar.tsx +2 -1
  1093. package/src/components/Spacing/Spacing.tsx +1 -0
  1094. package/src/components/SplitCol/SplitCol.tsx +1 -0
  1095. package/src/components/SplitLayout/SplitLayout.css +3 -1
  1096. package/src/components/SplitLayout/SplitLayout.tsx +1 -0
  1097. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -1
  1098. package/src/components/SubnavigationButton/SubnavigationButton.tsx +2 -1
  1099. package/src/components/Switch/Readme.md +12 -36
  1100. package/src/components/Switch/Switch.tsx +1 -0
  1101. package/src/components/Tabbar/Tabbar.tsx +1 -0
  1102. package/src/components/TabbarItem/TabbarItem.css +1 -0
  1103. package/src/components/TabbarItem/TabbarItem.tsx +2 -1
  1104. package/src/components/Tabs/Readme.md +7 -7
  1105. package/src/components/TabsItem/TabsItem.tsx +2 -1
  1106. package/src/components/Tappable/Tappable.css +5 -0
  1107. package/src/components/Tappable/Tappable.tsx +5 -2
  1108. package/src/components/TextTooltip/TextTooltip.tsx +1 -1
  1109. package/src/components/Tooltip/Tooltip.tsx +7 -6
  1110. package/src/components/Touch/Touch.tsx +6 -3
  1111. package/src/components/Touch/TouchContext.ts +1 -1
  1112. package/src/components/Typography/Caption/Caption.css +3 -3
  1113. package/src/components/Typography/Paragraph/Paragraph.css +17 -0
  1114. package/src/components/Typography/Paragraph/Paragraph.tsx +42 -0
  1115. package/src/components/Typography/Paragraph/Readme.md +19 -0
  1116. package/src/components/Typography/Subhead/Subhead.tsx +3 -7
  1117. package/src/components/Typography/Text/Text.tsx +4 -1
  1118. package/src/components/Typography/Title/Title.tsx +7 -10
  1119. package/src/components/UsersStack/UsersStack.tsx +2 -1
  1120. package/src/components/View/Readme.md +1 -1
  1121. package/src/components/View/View.css +1 -1
  1122. package/src/components/View/View.tsx +4 -0
  1123. package/src/components/View/ViewIOS.css +2 -2
  1124. package/src/components/View/ViewInfinite.tsx +4 -0
  1125. package/src/components/View/utils.ts +2 -1
  1126. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -1
  1127. package/src/helpers/scheme.ts +3 -2
  1128. package/src/hooks/useBridgeAdaptivity.ts +83 -0
  1129. package/src/hooks/useCalendar.ts +26 -10
  1130. package/src/hooks/useKeyboard.ts +1 -1
  1131. package/src/hooks/usePagination.ts +5 -5
  1132. package/src/hooks/usePatchChildrenRef.ts +2 -2
  1133. package/src/hooks/useWaitTransitionFinish.ts +7 -1
  1134. package/src/index.ts +21 -10
  1135. package/src/lib/calendar.ts +7 -7
  1136. package/src/lib/date.ts +274 -0
  1137. package/src/lib/getNavId.ts +4 -2
  1138. package/src/lib/platform.ts +34 -0
  1139. package/src/lib/warnOnce.ts +9 -3
  1140. package/src/styles/bright_light.css +2 -0
  1141. package/src/styles/components.css +1 -0
  1142. package/src/styles/constants.css +10 -3
  1143. package/src/styles/space_gray.css +10 -8
  1144. package/src/styles/vkcom_dark.css +6 -4
  1145. package/src/styles/vkcom_light.css +4 -2
  1146. package/src/testing/utils.tsx +15 -2
  1147. package/src/tokenized/index.ts +31 -4
  1148. package/tsconfig.json +2 -0
  1149. package/.cache/ts/src/helpers/typography.d.ts +0 -1
  1150. package/dist/cjs/helpers/typography.d.ts +0 -1
  1151. package/dist/cjs/helpers/typography.js +0 -25
  1152. package/dist/cjs/helpers/typography.js.map +0 -1
  1153. package/dist/cssm/helpers/typography.d.ts +0 -1
  1154. package/dist/cssm/helpers/typography.js +0 -18
  1155. package/dist/cssm/helpers/typography.js.map +0 -1
  1156. package/dist/helpers/typography.d.ts +0 -1
  1157. package/dist/helpers/typography.js +0 -18
  1158. package/dist/helpers/typography.js.map +0 -1
  1159. package/src/helpers/typography.ts +0 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabbar/Tabbar.tsx"],"names":["Tabbar","props","children","shadow","itemsLayout","restProps","platform","getItemsLayout","React","Children","count","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAWA,IAAMA,MAA4C,GAAG,SAA/CA,MAA+C,CAACC,KAAD,EAAwB;AAC3E,MAAQC,QAAR,GAAwDD,KAAxD,CAAQC,QAAR;AAAA,MAAkBC,MAAlB,GAAwDF,KAAxD,CAAkBE,MAAlB;AAAA,MAA0BC,WAA1B,GAAwDH,KAAxD,CAA0BG,WAA1B;AAAA,MAA0CC,SAA1C,0CAAwDJ,KAAxD;AACA,MAAMK,QAAQ,GAAG,+BAAjB;;AAEA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,YAAQH,WAAR;AACE,WAAK,YAAL;AACA,WAAK,UAAL;AACE,eAAOA,WAAP;;AACF;AACE,eAAOI,KAAK,CAACC,QAAN,CAAeC,KAAf,CAAqBR,QAArB,IAAiC,CAAjC,GAAqC,UAArC,GAAkD,YAAzD;AALJ;AAOD,GARD;;AAUA,SACE;AACE,IAAA,SAAS,EAAE,4BACT,gCAAa,QAAb,EAAuBI,QAAvB,CADS,sBAEIC,cAAc,EAFlB,GAGT;AACE,wBAAkBJ;AADpB,KAHS;AADb,KAQME,SARN,GAUE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6BH,QAA7B,CAVF,CADF;AAcD,CA5BD;;AA8BAF,MAAM,CAACW,YAAP,GAAsB;AACpBR,EAAAA,MAAM,EAAE;AADY,CAAtB,C,CAIA;;eACeH,M","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./Tabbar.css\";\n\nexport interface TabbarProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Флаг для показа/скрытия верхней тени (Android) или границы (iOS)\n */\n shadow?: boolean;\n itemsLayout?: \"vertical\" | \"horizontal\" | \"auto\";\n}\n\nconst Tabbar: React.FunctionComponent<TabbarProps> = (props: TabbarProps) => {\n const { children, shadow, itemsLayout, ...restProps } = props;\n const platform = usePlatform();\n\n const getItemsLayout = () => {\n switch (itemsLayout) {\n case \"horizontal\":\n case \"vertical\":\n return itemsLayout;\n default:\n return React.Children.count(children) > 2 ? \"vertical\" : \"horizontal\";\n }\n };\n\n return (\n <div\n vkuiClass={classNames(\n getClassName(\"Tabbar\", platform),\n `Tabbar--l-${getItemsLayout()}`,\n {\n \"Tabbar--shadow\": shadow,\n }\n )}\n {...restProps}\n >\n <div vkuiClass=\"Tabbar__in\">{children}</div>\n </div>\n );\n};\n\nTabbar.defaultProps = {\n shadow: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Tabbar;\n"],"file":"Tabbar.js"}
1
+ {"version":3,"sources":["../../../../src/components/Tabbar/Tabbar.tsx"],"names":["Tabbar","props","children","shadow","itemsLayout","restProps","platform","getItemsLayout","React","Children","count","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAWA,IAAMA,MAA4C,GAAG,SAA/CA,MAA+C,CAACC,KAAD,EAAwB;AAC3E,MAAQC,QAAR,GAAwDD,KAAxD,CAAQC,QAAR;AAAA,MAAkBC,MAAlB,GAAwDF,KAAxD,CAAkBE,MAAlB;AAAA,MAA0BC,WAA1B,GAAwDH,KAAxD,CAA0BG,WAA1B;AAAA,MAA0CC,SAA1C,0CAAwDJ,KAAxD;AACA,MAAMK,QAAQ,GAAG,+BAAjB;;AAEA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,YAAQH,WAAR;AACE,WAAK,YAAL;AACA,WAAK,UAAL;AACE,eAAOA,WAAP;;AACF;AACE,eAAOI,KAAK,CAACC,QAAN,CAAeC,KAAf,CAAqBR,QAArB,IAAiC,CAAjC,GAAqC,UAArC,GAAkD,YAAzD;AALJ;AAOD,GARD;;AAUA,SACE;AACE;AACA,IAAA,SAAS,EAAE,4BACT,gCAAa,QAAb,EAAuBI,QAAvB,CADS,sBAEIC,cAAc,EAFlB,GAGT;AACE,wBAAkBJ;AADpB,KAHS;AAFb,KASME,SATN,GAWE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6BH,QAA7B,CAXF,CADF;AAeD,CA7BD;;AA+BAF,MAAM,CAACW,YAAP,GAAsB;AACpBR,EAAAA,MAAM,EAAE;AADY,CAAtB,C,CAIA;;eACeH,M","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./Tabbar.css\";\n\nexport interface TabbarProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Флаг для показа/скрытия верхней тени (Android) или границы (iOS)\n */\n shadow?: boolean;\n itemsLayout?: \"vertical\" | \"horizontal\" | \"auto\";\n}\n\nconst Tabbar: React.FunctionComponent<TabbarProps> = (props: TabbarProps) => {\n const { children, shadow, itemsLayout, ...restProps } = props;\n const platform = usePlatform();\n\n const getItemsLayout = () => {\n switch (itemsLayout) {\n case \"horizontal\":\n case \"vertical\":\n return itemsLayout;\n default:\n return React.Children.count(children) > 2 ? \"vertical\" : \"horizontal\";\n }\n };\n\n return (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Tabbar\", platform),\n `Tabbar--l-${getItemsLayout()}`,\n {\n \"Tabbar--shadow\": shadow,\n }\n )}\n {...restProps}\n >\n <div vkuiClass=\"Tabbar__in\">{children}</div>\n </div>\n );\n};\n\nTabbar.defaultProps = {\n shadow: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Tabbar;\n"],"file":"Tabbar.js"}
@@ -5,7 +5,7 @@ export interface TabbarItemProps extends Omit<React.AllHTMLAttributes<HTMLElemen
5
5
  HasRootRef<HTMLElement>, HasComponent {
6
6
  selected?: boolean;
7
7
  /**
8
- * Тест рядом с иконкой
8
+ * Текст рядом с иконкой
9
9
  */
10
10
  text?: React.ReactNode;
11
11
  /**
@@ -51,7 +51,8 @@ var TabbarItem = function TabbarItem(_ref) {
51
51
 
52
52
  return (0, _jsxRuntime.createScopedElement)(Component, (0, _extends2.default)({}, restProps, {
53
53
  disabled: disabled,
54
- href: href,
54
+ href: href // eslint-disable-next-line vkui/no-object-expression-in-arguments
55
+ ,
55
56
  vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("TabbarItem", platform), {
56
57
  "TabbarItem--selected": selected,
57
58
  "TabbarItem--text": !!text
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"names":["warn","TabbarItem","children","selected","label","indicator","text","href","Component","disabled","restProps","platform","process","env","NODE_ENV","Platform","IOS"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;AAsBA,IAAMA,IAAI,GAAG,wBAAS,YAAT,CAAb;;AACA,IAAMC,UAAoD,GAAG,SAAvDA,UAAuD,OAUtC;AAAA,MATrBC,QASqB,QATrBA,QASqB;AAAA,MARrBC,QAQqB,QARrBA,QAQqB;AAAA,MAPrBC,KAOqB,QAPrBA,KAOqB;AAAA,MANrBC,SAMqB,QANrBA,SAMqB;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,4BAHrBC,SAGqB;AAAA,MAHrBA,SAGqB,+BAHTD,IAAI,GAAG,GAAH,GAAS,QAGJ;AAAA,MAFrBE,QAEqB,QAFrBA,QAEqB;AAAA,MADlBC,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAIP,KAAK,IAAIQ,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAtC,EAAqD;AACnDd,IAAAA,IAAI,CACF,yEADE,CAAJ;AAGD;;AAED,SACE,qCAAC,SAAD,6BACMU,SADN;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,IAAI,EAAEF,IAHR;AAIE,IAAA,SAAS,EAAE,4BAAW,gCAAa,YAAb,EAA2BI,QAA3B,CAAX,EAAiD;AAC1D,8BAAwBR,QADkC;AAE1D,0BAAoB,CAAC,CAACG;AAFoC,KAAjD;AAJb,MASE,qCAAC,iBAAD;AACE,IAAA,IAAI,EAAC,cADP;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,QAAQ,EAAEG,QAHZ;AAIE,IAAA,UAAU,EACRE,QAAQ,KAAKI,mBAASC,GAAtB,GACI,8BADJ,GAEI,YAPR;AASE,IAAA,iBAAiB,EAAEL,QAAQ,KAAKI,mBAASC,GAAtB,GAA4B,CAA5B,GAAgC,GATrD;AAUE,IAAA,QAAQ,EAAE,KAVZ;AAWE,IAAA,SAAS,EAAC;AAXZ,IATF,EAsBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGd,QADH,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaG,SAAb,KAA2BA,SAD9B,EAEG,CAACA,SAAD,IAAcD,KAAd,IACC,qCAAC,gBAAD;AAAS,IAAA,IAAI,EAAC,GAAd;AAAkB,IAAA,IAAI,EAAC;AAAvB,KACGA,KADH,CAHJ,CAFF,CADF,EAYGE,IAAI,IAAI;AAAK,IAAA,SAAS,EAAC;AAAf,KAAmCA,IAAnC,CAZX,CAtBF,CADF;AAuCD,CA1DD,C,CA4DA;;;eACeL,U","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Counter from \"../Counter/Counter\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { Platform } from \"../../lib/platform\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./TabbarItem.css\";\n\nexport interface TabbarItemProps\n extends Omit<React.AllHTMLAttributes<HTMLElement>, \"label\">, // TODO убрать Omit после удаления свойства label\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Тест рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `indicator`\n */\n label?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"TabbarItem\");\nconst TabbarItem: React.FunctionComponent<TabbarItemProps> = ({\n children,\n selected,\n label,\n indicator,\n text,\n href,\n Component = href ? \"a\" : \"button\",\n disabled,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n if (label && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство label устарело и будет удалено в 5.0.0. Используйте indicator.\"\n );\n }\n\n return (\n <Component\n {...restProps}\n disabled={disabled}\n href={href}\n vkuiClass={classNames(getClassName(\"TabbarItem\", platform), {\n \"TabbarItem--selected\": selected,\n \"TabbarItem--text\": !!text,\n })}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS\n ? \"TabbarItem__tappable--active\"\n : \"background\"\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n vkuiClass=\"TabbarItem__tappable\"\n />\n <div vkuiClass=\"TabbarItem__in\">\n <div vkuiClass=\"TabbarItem__icon\">\n {children}\n <div vkuiClass=\"TabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n {!indicator && label && (\n <Counter size=\"s\" mode=\"prominent\">\n {label}\n </Counter>\n )}\n </div>\n </div>\n {text && <div vkuiClass=\"TabbarItem__text\">{text}</div>}\n </div>\n </Component>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default TabbarItem;\n"],"file":"TabbarItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"names":["warn","TabbarItem","children","selected","label","indicator","text","href","Component","disabled","restProps","platform","process","env","NODE_ENV","Platform","IOS"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;AAsBA,IAAMA,IAAI,GAAG,wBAAS,YAAT,CAAb;;AACA,IAAMC,UAAoD,GAAG,SAAvDA,UAAuD,OAUtC;AAAA,MATrBC,QASqB,QATrBA,QASqB;AAAA,MARrBC,QAQqB,QARrBA,QAQqB;AAAA,MAPrBC,KAOqB,QAPrBA,KAOqB;AAAA,MANrBC,SAMqB,QANrBA,SAMqB;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,4BAHrBC,SAGqB;AAAA,MAHrBA,SAGqB,+BAHTD,IAAI,GAAG,GAAH,GAAS,QAGJ;AAAA,MAFrBE,QAEqB,QAFrBA,QAEqB;AAAA,MADlBC,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAIP,KAAK,IAAIQ,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAtC,EAAqD;AACnDd,IAAAA,IAAI,CACF,yEADE,CAAJ;AAGD;;AAED,SACE,qCAAC,SAAD,6BACMU,SADN;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,IAAI,EAAEF,IAHR,CAIE;AAJF;AAKE,IAAA,SAAS,EAAE,4BAAW,gCAAa,YAAb,EAA2BI,QAA3B,CAAX,EAAiD;AAC1D,8BAAwBR,QADkC;AAE1D,0BAAoB,CAAC,CAACG;AAFoC,KAAjD;AALb,MAUE,qCAAC,iBAAD;AACE,IAAA,IAAI,EAAC,cADP;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,QAAQ,EAAEG,QAHZ;AAIE,IAAA,UAAU,EACRE,QAAQ,KAAKI,mBAASC,GAAtB,GACI,8BADJ,GAEI,YAPR;AASE,IAAA,iBAAiB,EAAEL,QAAQ,KAAKI,mBAASC,GAAtB,GAA4B,CAA5B,GAAgC,GATrD;AAUE,IAAA,QAAQ,EAAE,KAVZ;AAWE,IAAA,SAAS,EAAC;AAXZ,IAVF,EAuBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGd,QADH,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaG,SAAb,KAA2BA,SAD9B,EAEG,CAACA,SAAD,IAAcD,KAAd,IACC,qCAAC,gBAAD;AAAS,IAAA,IAAI,EAAC,GAAd;AAAkB,IAAA,IAAI,EAAC;AAAvB,KACGA,KADH,CAHJ,CAFF,CADF,EAYGE,IAAI,IAAI;AAAK,IAAA,SAAS,EAAC;AAAf,KAAmCA,IAAnC,CAZX,CAvBF,CADF;AAwCD,CA3DD,C,CA6DA;;;eACeL,U","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Counter from \"../Counter/Counter\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { Platform } from \"../../lib/platform\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./TabbarItem.css\";\n\nexport interface TabbarItemProps\n extends Omit<React.AllHTMLAttributes<HTMLElement>, \"label\">, // TODO убрать Omit после удаления свойства label\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Текст рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `indicator`\n */\n label?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"TabbarItem\");\nconst TabbarItem: React.FunctionComponent<TabbarItemProps> = ({\n children,\n selected,\n label,\n indicator,\n text,\n href,\n Component = href ? \"a\" : \"button\",\n disabled,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n if (label && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство label устарело и будет удалено в 5.0.0. Используйте indicator.\"\n );\n }\n\n return (\n <Component\n {...restProps}\n disabled={disabled}\n href={href}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"TabbarItem\", platform), {\n \"TabbarItem--selected\": selected,\n \"TabbarItem--text\": !!text,\n })}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS\n ? \"TabbarItem__tappable--active\"\n : \"background\"\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n vkuiClass=\"TabbarItem__tappable\"\n />\n <div vkuiClass=\"TabbarItem__in\">\n <div vkuiClass=\"TabbarItem__icon\">\n {children}\n <div vkuiClass=\"TabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n {!indicator && label && (\n <Counter size=\"s\" mode=\"prominent\">\n {label}\n </Counter>\n )}\n </div>\n </div>\n {text && <div vkuiClass=\"TabbarItem__text\">{text}</div>}\n </div>\n </Component>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default TabbarItem;\n"],"file":"TabbarItem.js"}
@@ -33,7 +33,7 @@ var _Tabs = require("../Tabs/Tabs");
33
33
 
34
34
  var _Headline = _interopRequireDefault(require("../Typography/Headline/Headline"));
35
35
 
36
- var _Subhead = _interopRequireDefault(require("../Typography/Subhead/Subhead"));
36
+ var _Subhead = require("../Typography/Subhead/Subhead");
37
37
 
38
38
  var _Text = _interopRequireDefault(require("../Typography/Text/Text"));
39
39
 
@@ -46,13 +46,14 @@ var TabsItem = function TabsItem(_ref) {
46
46
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
47
47
  var platform = (0, _usePlatform.usePlatform)();
48
48
  var mode = React.useContext(_Tabs.TabsModeContext);
49
- var TypographyComponent = mode === "buttons" || mode === "segmented" ? _Subhead.default : _Headline.default;
49
+ var TypographyComponent = mode === "buttons" || mode === "segmented" ? _Subhead.Subhead : _Headline.default;
50
50
 
51
51
  if (platform === _platform.VKCOM) {
52
52
  TypographyComponent = _Text.default;
53
53
  }
54
54
 
55
55
  return (0, _jsxRuntime.createScopedElement)(_Tappable.default, (0, _extends2.default)({}, restProps, {
56
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
56
57
  vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("TabsItem", platform), {
57
58
  "TabsItem--selected": selected
58
59
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabsItem/TabsItem.tsx"],"names":["TabsItem","children","selected","after","restProps","platform","mode","React","useContext","TabsModeContext","TypographyComponent","Subhead","Headline","VKCOM","Text","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAQA,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAKrB;AAAA,MAJnBC,QAImB,QAJnBA,QAImB;AAAA,MAHnBC,QAGmB,QAHnBA,QAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,IAAuB,GAAGC,KAAK,CAACC,UAAN,CAAiBC,qBAAjB,CAAhC;AAEA,MAAIC,mBAAmB,GACrBJ,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,WAA/B,GAA6CK,gBAA7C,GAAuDC,iBADzD;;AAGA,MAAIP,QAAQ,KAAKQ,eAAjB,EAAwB;AACtBH,IAAAA,mBAAmB,GAAGI,aAAtB;AACD;;AAED,SACE,qCAAC,iBAAD,6BACMV,SADN;AAEE,IAAA,SAAS,EAAE,4BAAW,gCAAa,UAAb,EAAyBC,QAAzB,CAAX,EAA+C;AACxD,4BAAsBH;AADkC,KAA/C,CAFb;AAKE,IAAA,SAAS,EAAEI,IAAI,KAAK,WALtB;AAME,IAAA,UAAU,EAAC,kBANb;AAOE,IAAA,gBAAgB,EAAEA,IAAI,KAAK,WAAT,GAAuB,SAAvB,GAAmC;AAPvD,MASE,qCAAC,mBAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,MAAM,EAAC;AAHT,KAKGL,QALH,CATF,EAgBG,yBAAaE,KAAb,KAAuB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCA,KAAlC,CAhB1B,CADF;AAoBD,CApCD;;AAsCAH,QAAQ,CAACe,YAAT,GAAwB;AACtBb,EAAAA,QAAQ,EAAE;AADY,CAAxB,C,CAIA;;eACeF,Q","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { TabsProps, TabsModeContext } from \"../Tabs/Tabs\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Text from \"../Typography/Text/Text\";\nimport \"./TabsItem.css\";\n\nexport interface TabsItemProps extends React.HTMLAttributes<HTMLElement> {\n after?: React.ReactNode;\n selected?: boolean;\n}\n\nconst TabsItem: React.FC<TabsItemProps> = ({\n children,\n selected,\n after,\n ...restProps\n}: TabsItemProps) => {\n const platform = usePlatform();\n const mode: TabsProps[\"mode\"] = React.useContext(TabsModeContext);\n\n let TypographyComponent =\n mode === \"buttons\" || mode === \"segmented\" ? Subhead : Headline;\n\n if (platform === VKCOM) {\n TypographyComponent = Text;\n }\n\n return (\n <Tappable\n {...restProps}\n vkuiClass={classNames(getClassName(\"TabsItem\", platform), {\n \"TabsItem--selected\": selected,\n })}\n hasActive={mode === \"segmented\"}\n activeMode=\"TabsItem--active\"\n focusVisibleMode={mode === \"segmented\" ? \"outside\" : \"inside\"}\n >\n <TypographyComponent\n Component=\"span\"\n vkuiClass=\"TabsItem__in\"\n weight=\"medium\"\n >\n {children}\n </TypographyComponent>\n {hasReactNode(after) && <div vkuiClass=\"TabsItem__after\">{after}</div>}\n </Tappable>\n );\n};\n\nTabsItem.defaultProps = {\n selected: false,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default TabsItem;\n"],"file":"TabsItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/TabsItem/TabsItem.tsx"],"names":["TabsItem","children","selected","after","restProps","platform","mode","React","useContext","TabsModeContext","TypographyComponent","Subhead","Headline","VKCOM","Text","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAQA,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAKrB;AAAA,MAJnBC,QAImB,QAJnBA,QAImB;AAAA,MAHnBC,QAGmB,QAHnBA,QAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,IAAuB,GAAGC,KAAK,CAACC,UAAN,CAAiBC,qBAAjB,CAAhC;AAEA,MAAIC,mBAAmB,GACrBJ,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,WAA/B,GAA6CK,gBAA7C,GAAuDC,iBADzD;;AAGA,MAAIP,QAAQ,KAAKQ,eAAjB,EAAwB;AACtBH,IAAAA,mBAAmB,GAAGI,aAAtB;AACD;;AAED,SACE,qCAAC,iBAAD,6BACMV,SADN;AAEE;AACA,IAAA,SAAS,EAAE,4BAAW,gCAAa,UAAb,EAAyBC,QAAzB,CAAX,EAA+C;AACxD,4BAAsBH;AADkC,KAA/C,CAHb;AAME,IAAA,SAAS,EAAEI,IAAI,KAAK,WANtB;AAOE,IAAA,UAAU,EAAC,kBAPb;AAQE,IAAA,gBAAgB,EAAEA,IAAI,KAAK,WAAT,GAAuB,SAAvB,GAAmC;AARvD,MAUE,qCAAC,mBAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,MAAM,EAAC;AAHT,KAKGL,QALH,CAVF,EAiBG,yBAAaE,KAAb,KAAuB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCA,KAAlC,CAjB1B,CADF;AAqBD,CArCD;;AAuCAH,QAAQ,CAACe,YAAT,GAAwB;AACtBb,EAAAA,QAAQ,EAAE;AADY,CAAxB,C,CAIA;;eACeF,Q","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { TabsProps, TabsModeContext } from \"../Tabs/Tabs\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport Text from \"../Typography/Text/Text\";\nimport \"./TabsItem.css\";\n\nexport interface TabsItemProps extends React.HTMLAttributes<HTMLElement> {\n after?: React.ReactNode;\n selected?: boolean;\n}\n\nconst TabsItem: React.FC<TabsItemProps> = ({\n children,\n selected,\n after,\n ...restProps\n}: TabsItemProps) => {\n const platform = usePlatform();\n const mode: TabsProps[\"mode\"] = React.useContext(TabsModeContext);\n\n let TypographyComponent =\n mode === \"buttons\" || mode === \"segmented\" ? Subhead : Headline;\n\n if (platform === VKCOM) {\n TypographyComponent = Text;\n }\n\n return (\n <Tappable\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"TabsItem\", platform), {\n \"TabsItem--selected\": selected,\n })}\n hasActive={mode === \"segmented\"}\n activeMode=\"TabsItem--active\"\n focusVisibleMode={mode === \"segmented\" ? \"outside\" : \"inside\"}\n >\n <TypographyComponent\n Component=\"span\"\n vkuiClass=\"TabsItem__in\"\n weight=\"medium\"\n >\n {children}\n </TypographyComponent>\n {hasReactNode(after) && <div vkuiClass=\"TabsItem__after\">{after}</div>}\n </Tappable>\n );\n};\n\nTabsItem.defaultProps = {\n selected: false,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default TabsItem;\n"],"file":"TabsItem.js"}
@@ -305,11 +305,12 @@ var Tappable = function Tappable(_ref) {
305
305
  } // отключить без задержки при длинном тапе
306
306
 
307
307
 
308
- var activeDuraion = duration - ACTIVE_DELAY;
309
- stop(activeDuraion >= 100 ? 0 : activeEffectDelay - activeDuraion);
310
- }
308
+ var activeDuration = duration - ACTIVE_DELAY;
309
+ stop(activeDuration >= 100 ? 0 : activeEffectDelay - activeDuration);
310
+ } // eslint-disable-next-line vkui/no-object-expression-in-arguments
311
+
311
312
 
312
- var classes = (0, _classNames2.classNames)((0, _getClassName.getClassName)("Tappable", platform), "Tappable--sizeX-".concat(sizeX), hasHover && hovered && !isPresetHoverMode && hoverMode, hasActive && active && !isPresetActiveMode && activeMode, focusVisible && !isPresetFocusVisibleMode && focusVisibleMode, (_classNames = {
313
+ var classes = (0, _classNames2.classNames)((0, _getClassName.getClassName)("Tappable", platform), "Tappable--sizeX-".concat(sizeX), hasHover && "Tappable--hasHover", hasActive && "Tappable--hasActive", hasHover && hovered && !isPresetHoverMode && hoverMode, hasActive && active && !isPresetActiveMode && activeMode, focusVisible && !isPresetFocusVisibleMode && focusVisibleMode, (_classNames = {
313
314
  "Tappable--active": hasActive && active,
314
315
  "Tappable--mouse": hasMouse
315
316
  }, (0, _defineProperty2.default)(_classNames, "Tappable--hover-".concat(hoverMode), hasHover && hovered && isPresetHoverMode), (0, _defineProperty2.default)(_classNames, "Tappable--active-".concat(activeMode), hasActive && active && isPresetActiveMode), (0, _defineProperty2.default)(_classNames, "Tappable--focus-visible", focusVisible), _classNames));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tappable/Tappable.tsx"],"names":["ACTIVE_DELAY","ACTIVE_EFFECT_DELAY","activeBus","TapState","none","pending","active","exiting","TappableContext","React","createContext","onHoverChange","noop","useActivity","hasActive","stopDelay","id","useMemo","Math","round","random","toString","useState","activity","setActivity","_stop","start","delayStart","activeTimeout","stopTimeout","set","clear","emit","onActiveChange","activeId","on","off","stop","delay","Tappable","children","Component","onClick","_onKeyDown","onKeyDown","activeEffectDelay","stopPropagation","getRootRef","sizeX","hasMouse","deviceHasHover","hasHover","_hasHover","hoverMode","_hasActive","activeMode","focusVisibleMode","onEnter","onLeave","props","href","useContext","insideTouchRoot","TouchRootContext","platform","focusVisible","onBlur","onFocus","clicks","setClicks","childHover","setChildHover","_hovered","value","setHoveredTrue","setTrue","setHoveredFalse","setFalse","hovered","disabled","isCustomElement","contentEditable","isPresetHoverMode","includes","isPresetActiveMode","isPresetFocusVisibleMode","containerRef","childContext","useRef","current","e","preventDefault","click","onStart","originalEvent","touches","length","ANDROID","top","left","x","y","Date","now","onMove","isSlide","onEnd","duration","activeDuraion","classes","handlers","role","undefined","map","wave","filter","c","Wave","onClear","timeout","useEffect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport mitt from \"mitt\";\nimport { noop } from \"@vkontakte/vkjs\";\nimport { Touch, TouchEvent, TouchProps } from \"../Touch/Touch\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ANDROID } from \"../../lib/platform\";\nimport { getOffsetRect } from \"../../lib/offset\";\nimport { coordX, coordY } from \"../../lib/touch\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { shouldTriggerClickOnEnterOrSpace } from \"../../lib/accessibility\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { FocusVisible, FocusVisibleMode } from \"../FocusVisible/FocusVisible\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useFocusVisible } from \"../../hooks/useFocusVisible\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport { useBooleanState } from \"../../hooks/useBooleanState\";\nimport \"./Tappable.css\";\n\nexport interface TappableProps\n extends Omit<\n React.AllHTMLAttributes<HTMLElement>,\n | \"onTouchStart\"\n | \"onTouchMove\"\n | \"onTouchEnd\"\n | \"onTouchCancel\"\n | \"onMouseDown\"\n | \"onMouseMove\"\n | \"onMouseUp\"\n | \"onMouseLeave\"\n >,\n HasRootRef<HTMLElement>,\n AdaptivityProps,\n HasComponent,\n Pick<TouchProps, \"onStart\" | \"onEnd\" | \"onMove\"> {\n /**\n * Длительность показа active-состояния\n */\n activeEffectDelay?: number;\n stopPropagation?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на hover-состояние\n */\n hasHover?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на active-состояние\n */\n hasActive?: boolean;\n /**\n * Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active\n */\n activeMode?: \"opacity\" | \"background\" | string;\n /**\n * Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover\n */\n hoverMode?: \"opacity\" | \"background\" | string;\n /**\n * Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс во время focus-visible\n */\n focusVisibleMode?: FocusVisibleMode | string;\n onEnter?: (outputEvent: MouseEvent) => void;\n onLeave?: (outputEvent: MouseEvent) => void;\n}\n\ninterface Wave {\n x: number;\n y: number;\n id: string;\n}\n\nexport interface RootComponentProps extends TouchProps {\n ref?: React.Ref<HTMLElement>;\n}\n\nexport const ACTIVE_DELAY = 70;\nexport const ACTIVE_EFFECT_DELAY = 600;\n\nconst activeBus = mitt<{ active: string }>();\nconst TapState = { none: 0, pending: 1, active: 2, exiting: 3 } as const;\n\ntype TappableContextInterface = { onHoverChange: (s: boolean) => void };\nconst TappableContext = React.createContext<TappableContextInterface>({\n onHoverChange: noop,\n});\n\nfunction useActivity(hasActive: boolean, stopDelay: number) {\n const id = React.useMemo(\n () => Math.round(Math.random() * 1e8).toString(16),\n []\n );\n\n const [activity, setActivity] = React.useState<\n typeof TapState[keyof typeof TapState]\n >(TapState.none);\n const _stop = () => setActivity(TapState.none);\n const start = () => hasActive && setActivity(TapState.active);\n const delayStart = () => {\n hasActive && setActivity(TapState.pending);\n };\n\n const activeTimeout = useTimeout(start, ACTIVE_DELAY);\n const stopTimeout = useTimeout(_stop, stopDelay);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.pending) {\n activeTimeout.set();\n return activeTimeout.clear;\n }\n if (activity === TapState.exiting) {\n return stopTimeout.clear;\n }\n if (activity === TapState.active) {\n activeBus.emit(\"active\", id);\n }\n return noop;\n }, [activity]);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.none) {\n return noop;\n }\n const onActiveChange = (activeId: string) => {\n activeId !== id && _stop();\n };\n activeBus.on(\"active\", onActiveChange);\n return () => activeBus.off(\"active\", onActiveChange);\n }, [activity === TapState.none]);\n\n useIsomorphicLayoutEffect(() => {\n !hasActive && _stop();\n }, [hasActive]);\n\n const stop = (delay?: number) => {\n if (delay) {\n setActivity(TapState.exiting);\n return stopTimeout.set(delay);\n }\n _stop();\n };\n\n return [activity, { delayStart, start, stop }] as const;\n}\n\nconst Tappable: React.FC<TappableProps> = ({\n children,\n Component,\n onClick,\n onKeyDown: _onKeyDown,\n activeEffectDelay = ACTIVE_EFFECT_DELAY,\n stopPropagation = false,\n getRootRef,\n sizeX,\n hasMouse,\n deviceHasHover,\n hasHover: _hasHover = true,\n hoverMode = \"background\",\n hasActive: _hasActive = true,\n activeMode = \"background\",\n focusVisibleMode = \"inside\",\n onEnter,\n onLeave,\n ...props\n}: TappableProps) => {\n Component = Component || ((props.href ? \"a\" : \"div\") as React.ElementType);\n\n const { onHoverChange } = React.useContext(TappableContext);\n const insideTouchRoot = React.useContext(TouchRootContext);\n const platform = usePlatform();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n const [clicks, setClicks] = React.useState<Wave[]>([]);\n const [childHover, setChildHover] = React.useState(false);\n const {\n value: _hovered,\n setTrue: setHoveredTrue,\n setFalse: setHoveredFalse,\n } = useBooleanState(false);\n\n const hovered = _hovered && !props.disabled;\n const hasActive = _hasActive && !childHover && !props.disabled;\n const hasHover = deviceHasHover && _hasHover && !childHover;\n const isCustomElement =\n Component !== \"a\" && Component !== \"button\" && !props.contentEditable;\n const isPresetHoverMode = [\"opacity\", \"background\"].includes(hoverMode);\n const isPresetActiveMode = [\"opacity\", \"background\"].includes(activeMode);\n const isPresetFocusVisibleMode = [\"inside\", \"outside\"].includes(\n focusVisibleMode\n );\n\n const [activity, { start, stop, delayStart }] = useActivity(\n hasActive,\n activeEffectDelay\n );\n const active = activity === TapState.active || activity === TapState.exiting;\n\n const containerRef = useExternRef(getRootRef);\n\n // hover propagation\n const childContext = React.useRef({ onHoverChange: setChildHover }).current;\n useIsomorphicLayoutEffect(() => {\n if (!hovered) {\n return noop;\n }\n onHoverChange(true);\n return () => onHoverChange(false);\n }, [hovered]);\n\n /*\n * [a11y]\n * Обрабатывает событие onkeydown\n * для кастомных доступных элементов:\n * - role=\"link\" (активация по Enter)\n * - role=\"button\" (активация по Space и Enter)\n */\n function onKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (isCustomElement && shouldTriggerClickOnEnterOrSpace(e)) {\n e.preventDefault();\n containerRef.current?.click();\n }\n }\n\n function onStart({ originalEvent }: TouchEvent) {\n if (hasActive) {\n if (originalEvent.touches && originalEvent.touches.length > 1) {\n // r сожалению я так и не понял, что это делает и можно ли упихнуть его в Touch\n return stop();\n }\n\n if (platform === ANDROID) {\n const { top, left } = getOffsetRect(containerRef.current);\n const x = coordX(originalEvent) - (left ?? 0);\n const y = coordY(originalEvent) - (top ?? 0);\n setClicks([...clicks, { x, y, id: Date.now().toString() }]);\n }\n\n delayStart();\n }\n }\n\n function onMove({ isSlide }: TouchEvent) {\n if (isSlide) {\n stop();\n }\n }\n\n function onEnd({ duration }: TouchEvent) {\n if (activity === TapState.none) {\n return;\n }\n if (activity === TapState.pending) {\n // активировать при коротком тапе\n start();\n }\n\n // отключить без задержки при длинном тапе\n const activeDuraion = duration - ACTIVE_DELAY;\n stop(activeDuraion >= 100 ? 0 : activeEffectDelay - activeDuraion);\n }\n\n const classes = classNames(\n getClassName(\"Tappable\", platform),\n `Tappable--sizeX-${sizeX}`,\n hasHover && hovered && !isPresetHoverMode && hoverMode,\n hasActive && active && !isPresetActiveMode && activeMode,\n focusVisible && !isPresetFocusVisibleMode && focusVisibleMode,\n {\n \"Tappable--active\": hasActive && active,\n \"Tappable--mouse\": hasMouse,\n [`Tappable--hover-${hoverMode}`]:\n hasHover && hovered && isPresetHoverMode,\n [`Tappable--active-${activeMode}`]:\n hasActive && active && isPresetActiveMode,\n \"Tappable--focus-visible\": focusVisible,\n }\n );\n\n const handlers: RootComponentProps = {\n onStart: callMultiple(onStart, props.onStart),\n onMove: callMultiple(onMove, props.onMove),\n onEnd: callMultiple(onEnd, props.onEnd),\n onClick,\n onKeyDown: callMultiple(onKeyDown, _onKeyDown),\n };\n const role = props.href ? \"link\" : \"button\";\n\n return (\n <Touch\n onEnter={callMultiple(setHoveredTrue, onEnter)}\n onLeave={callMultiple(setHoveredFalse, onLeave)}\n type={Component === \"button\" ? \"button\" : undefined}\n tabIndex={isCustomElement && !props.disabled ? 0 : undefined}\n role={isCustomElement ? role : undefined}\n aria-disabled={isCustomElement ? props.disabled : undefined}\n stopPropagation={stopPropagation && !insideTouchRoot && !props.disabled}\n {...props}\n slideThreshold={20}\n usePointerHover\n vkuiClass={classes}\n Component={Component}\n getRootRef={containerRef}\n onBlur={callMultiple(onBlur, props.onBlur)}\n onFocus={callMultiple(onFocus, props.onFocus)}\n {...(props.disabled ? {} : handlers)}\n >\n <TappableContext.Provider value={childContext}>\n {children}\n </TappableContext.Provider>\n {platform === ANDROID &&\n !hasMouse &&\n hasActive &&\n activeMode === \"background\" && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__waves\">\n {clicks.map((wave) => (\n <Wave\n {...wave}\n key={wave.id}\n onClear={() =>\n setClicks(clicks.filter((c) => c.id !== wave.id))\n }\n />\n ))}\n </span>\n )}\n {hasHover && hoverMode === \"background\" && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__hoverShadow\" />\n )}\n {!props.disabled && isPresetFocusVisibleMode && (\n <FocusVisible mode={focusVisibleMode as FocusVisibleMode} />\n )}\n </Touch>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Tappable, {\n sizeX: true,\n hasMouse: true,\n deviceHasHover: true,\n});\n\nfunction Wave({ x, y, onClear }: Wave & { onClear: VoidFunction }) {\n const timeout = useTimeout(onClear, 225);\n React.useEffect(() => timeout.set(), [timeout]);\n return <span vkuiClass=\"Tappable__wave\" style={{ top: y, left: x }} />;\n}\n"],"file":"Tappable.js"}
1
+ {"version":3,"sources":["../../../../src/components/Tappable/Tappable.tsx"],"names":["ACTIVE_DELAY","ACTIVE_EFFECT_DELAY","activeBus","TapState","none","pending","active","exiting","TappableContext","React","createContext","onHoverChange","noop","useActivity","hasActive","stopDelay","id","useMemo","Math","round","random","toString","useState","activity","setActivity","_stop","start","delayStart","activeTimeout","stopTimeout","set","clear","emit","onActiveChange","activeId","on","off","stop","delay","Tappable","children","Component","onClick","_onKeyDown","onKeyDown","activeEffectDelay","stopPropagation","getRootRef","sizeX","hasMouse","deviceHasHover","hasHover","_hasHover","hoverMode","_hasActive","activeMode","focusVisibleMode","onEnter","onLeave","props","href","useContext","insideTouchRoot","TouchRootContext","platform","focusVisible","onBlur","onFocus","clicks","setClicks","childHover","setChildHover","_hovered","value","setHoveredTrue","setTrue","setHoveredFalse","setFalse","hovered","disabled","isCustomElement","contentEditable","isPresetHoverMode","includes","isPresetActiveMode","isPresetFocusVisibleMode","containerRef","childContext","useRef","current","e","preventDefault","click","onStart","originalEvent","touches","length","ANDROID","top","left","x","y","Date","now","onMove","isSlide","onEnd","duration","activeDuration","classes","handlers","role","undefined","map","wave","filter","c","Wave","onClear","timeout","useEffect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport mitt from \"mitt\";\nimport { noop } from \"@vkontakte/vkjs\";\nimport { Touch, TouchEvent, TouchProps } from \"../Touch/Touch\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ANDROID } from \"../../lib/platform\";\nimport { getOffsetRect } from \"../../lib/offset\";\nimport { coordX, coordY } from \"../../lib/touch\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { shouldTriggerClickOnEnterOrSpace } from \"../../lib/accessibility\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { FocusVisible, FocusVisibleMode } from \"../FocusVisible/FocusVisible\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useFocusVisible } from \"../../hooks/useFocusVisible\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport { useBooleanState } from \"../../hooks/useBooleanState\";\nimport \"./Tappable.css\";\n\nexport interface TappableProps\n extends Omit<\n React.AllHTMLAttributes<HTMLElement>,\n | \"onTouchStart\"\n | \"onTouchMove\"\n | \"onTouchEnd\"\n | \"onTouchCancel\"\n | \"onMouseDown\"\n | \"onMouseMove\"\n | \"onMouseUp\"\n | \"onMouseLeave\"\n >,\n HasRootRef<HTMLElement>,\n AdaptivityProps,\n HasComponent,\n Pick<TouchProps, \"onStart\" | \"onEnd\" | \"onMove\"> {\n /**\n * Длительность показа active-состояния\n */\n activeEffectDelay?: number;\n stopPropagation?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на hover-состояние\n */\n hasHover?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на active-состояние\n */\n hasActive?: boolean;\n /**\n * Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active\n */\n activeMode?: \"opacity\" | \"background\" | string;\n /**\n * Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover\n */\n hoverMode?: \"opacity\" | \"background\" | string;\n /**\n * Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс во время focus-visible\n */\n focusVisibleMode?: FocusVisibleMode | string;\n onEnter?: (outputEvent: MouseEvent) => void;\n onLeave?: (outputEvent: MouseEvent) => void;\n}\n\ninterface Wave {\n x: number;\n y: number;\n id: string;\n}\n\nexport interface RootComponentProps extends TouchProps {\n ref?: React.Ref<HTMLElement>;\n}\n\nexport const ACTIVE_DELAY = 70;\nexport const ACTIVE_EFFECT_DELAY = 600;\n\nconst activeBus = mitt<{ active: string }>();\nconst TapState = { none: 0, pending: 1, active: 2, exiting: 3 } as const;\n\ntype TappableContextInterface = { onHoverChange: (s: boolean) => void };\nconst TappableContext = React.createContext<TappableContextInterface>({\n onHoverChange: noop,\n});\n\nfunction useActivity(hasActive: boolean, stopDelay: number) {\n const id = React.useMemo(\n () => Math.round(Math.random() * 1e8).toString(16),\n []\n );\n\n const [activity, setActivity] = React.useState<\n typeof TapState[keyof typeof TapState]\n >(TapState.none);\n const _stop = () => setActivity(TapState.none);\n const start = () => hasActive && setActivity(TapState.active);\n const delayStart = () => {\n hasActive && setActivity(TapState.pending);\n };\n\n const activeTimeout = useTimeout(start, ACTIVE_DELAY);\n const stopTimeout = useTimeout(_stop, stopDelay);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.pending) {\n activeTimeout.set();\n return activeTimeout.clear;\n }\n if (activity === TapState.exiting) {\n return stopTimeout.clear;\n }\n if (activity === TapState.active) {\n activeBus.emit(\"active\", id);\n }\n return noop;\n }, [activity]);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.none) {\n return noop;\n }\n const onActiveChange = (activeId: string) => {\n activeId !== id && _stop();\n };\n activeBus.on(\"active\", onActiveChange);\n return () => activeBus.off(\"active\", onActiveChange);\n }, [activity === TapState.none]);\n\n useIsomorphicLayoutEffect(() => {\n !hasActive && _stop();\n }, [hasActive]);\n\n const stop = (delay?: number) => {\n if (delay) {\n setActivity(TapState.exiting);\n return stopTimeout.set(delay);\n }\n _stop();\n };\n\n return [activity, { delayStart, start, stop }] as const;\n}\n\nconst Tappable: React.FC<TappableProps> = ({\n children,\n Component,\n onClick,\n onKeyDown: _onKeyDown,\n activeEffectDelay = ACTIVE_EFFECT_DELAY,\n stopPropagation = false,\n getRootRef,\n sizeX,\n hasMouse,\n deviceHasHover,\n hasHover: _hasHover = true,\n hoverMode = \"background\",\n hasActive: _hasActive = true,\n activeMode = \"background\",\n focusVisibleMode = \"inside\",\n onEnter,\n onLeave,\n ...props\n}: TappableProps) => {\n Component = Component || ((props.href ? \"a\" : \"div\") as React.ElementType);\n\n const { onHoverChange } = React.useContext(TappableContext);\n const insideTouchRoot = React.useContext(TouchRootContext);\n const platform = usePlatform();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n const [clicks, setClicks] = React.useState<Wave[]>([]);\n const [childHover, setChildHover] = React.useState(false);\n const {\n value: _hovered,\n setTrue: setHoveredTrue,\n setFalse: setHoveredFalse,\n } = useBooleanState(false);\n\n const hovered = _hovered && !props.disabled;\n const hasActive = _hasActive && !childHover && !props.disabled;\n const hasHover = deviceHasHover && _hasHover && !childHover;\n const isCustomElement =\n Component !== \"a\" && Component !== \"button\" && !props.contentEditable;\n const isPresetHoverMode = [\"opacity\", \"background\"].includes(hoverMode);\n const isPresetActiveMode = [\"opacity\", \"background\"].includes(activeMode);\n const isPresetFocusVisibleMode = [\"inside\", \"outside\"].includes(\n focusVisibleMode\n );\n\n const [activity, { start, stop, delayStart }] = useActivity(\n hasActive,\n activeEffectDelay\n );\n const active = activity === TapState.active || activity === TapState.exiting;\n\n const containerRef = useExternRef(getRootRef);\n\n // hover propagation\n const childContext = React.useRef({ onHoverChange: setChildHover }).current;\n useIsomorphicLayoutEffect(() => {\n if (!hovered) {\n return noop;\n }\n onHoverChange(true);\n return () => onHoverChange(false);\n }, [hovered]);\n\n /*\n * [a11y]\n * Обрабатывает событие onkeydown\n * для кастомных доступных элементов:\n * - role=\"link\" (активация по Enter)\n * - role=\"button\" (активация по Space и Enter)\n */\n function onKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (isCustomElement && shouldTriggerClickOnEnterOrSpace(e)) {\n e.preventDefault();\n containerRef.current?.click();\n }\n }\n\n function onStart({ originalEvent }: TouchEvent) {\n if (hasActive) {\n if (originalEvent.touches && originalEvent.touches.length > 1) {\n // r сожалению я так и не понял, что это делает и можно ли упихнуть его в Touch\n return stop();\n }\n\n if (platform === ANDROID) {\n const { top, left } = getOffsetRect(containerRef.current);\n const x = coordX(originalEvent) - (left ?? 0);\n const y = coordY(originalEvent) - (top ?? 0);\n setClicks([...clicks, { x, y, id: Date.now().toString() }]);\n }\n\n delayStart();\n }\n }\n\n function onMove({ isSlide }: TouchEvent) {\n if (isSlide) {\n stop();\n }\n }\n\n function onEnd({ duration }: TouchEvent) {\n if (activity === TapState.none) {\n return;\n }\n if (activity === TapState.pending) {\n // активировать при коротком тапе\n start();\n }\n\n // отключить без задержки при длинном тапе\n const activeDuration = duration - ACTIVE_DELAY;\n stop(activeDuration >= 100 ? 0 : activeEffectDelay - activeDuration);\n }\n\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n const classes = classNames(\n getClassName(\"Tappable\", platform),\n `Tappable--sizeX-${sizeX}`,\n hasHover && `Tappable--hasHover`,\n hasActive && `Tappable--hasActive`,\n hasHover && hovered && !isPresetHoverMode && hoverMode,\n hasActive && active && !isPresetActiveMode && activeMode,\n focusVisible && !isPresetFocusVisibleMode && focusVisibleMode,\n {\n \"Tappable--active\": hasActive && active,\n \"Tappable--mouse\": hasMouse,\n [`Tappable--hover-${hoverMode}`]:\n hasHover && hovered && isPresetHoverMode,\n [`Tappable--active-${activeMode}`]:\n hasActive && active && isPresetActiveMode,\n \"Tappable--focus-visible\": focusVisible,\n }\n );\n\n const handlers: RootComponentProps = {\n onStart: callMultiple(onStart, props.onStart),\n onMove: callMultiple(onMove, props.onMove),\n onEnd: callMultiple(onEnd, props.onEnd),\n onClick,\n onKeyDown: callMultiple(onKeyDown, _onKeyDown),\n };\n const role = props.href ? \"link\" : \"button\";\n\n return (\n <Touch\n onEnter={callMultiple(setHoveredTrue, onEnter)}\n onLeave={callMultiple(setHoveredFalse, onLeave)}\n type={Component === \"button\" ? \"button\" : undefined}\n tabIndex={isCustomElement && !props.disabled ? 0 : undefined}\n role={isCustomElement ? role : undefined}\n aria-disabled={isCustomElement ? props.disabled : undefined}\n stopPropagation={stopPropagation && !insideTouchRoot && !props.disabled}\n {...props}\n slideThreshold={20}\n usePointerHover\n vkuiClass={classes}\n Component={Component}\n getRootRef={containerRef}\n onBlur={callMultiple(onBlur, props.onBlur)}\n onFocus={callMultiple(onFocus, props.onFocus)}\n {...(props.disabled ? {} : handlers)}\n >\n <TappableContext.Provider value={childContext}>\n {children}\n </TappableContext.Provider>\n {platform === ANDROID &&\n !hasMouse &&\n hasActive &&\n activeMode === \"background\" && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__waves\">\n {clicks.map((wave) => (\n <Wave\n {...wave}\n key={wave.id}\n onClear={() =>\n setClicks(clicks.filter((c) => c.id !== wave.id))\n }\n />\n ))}\n </span>\n )}\n {hasHover && hoverMode === \"background\" && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__hoverShadow\" />\n )}\n {!props.disabled && isPresetFocusVisibleMode && (\n <FocusVisible mode={focusVisibleMode as FocusVisibleMode} />\n )}\n </Touch>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Tappable, {\n sizeX: true,\n hasMouse: true,\n deviceHasHover: true,\n});\n\nfunction Wave({ x, y, onClear }: Wave & { onClear: VoidFunction }) {\n const timeout = useTimeout(onClear, 225);\n React.useEffect(() => timeout.set(), [timeout]);\n return <span vkuiClass=\"Tappable__wave\" style={{ top: y, left: x }} />;\n}\n"],"file":"Tappable.js"}
@@ -25,7 +25,7 @@ var _usePlatform = require("../../hooks/usePlatform");
25
25
 
26
26
  var _utils = require("../../lib/utils");
27
27
 
28
- var _Subhead = _interopRequireDefault(require("../Typography/Subhead/Subhead"));
28
+ var _Subhead = require("../Typography/Subhead/Subhead");
29
29
 
30
30
  var _prefixClass = require("../../lib/prefixClass");
31
31
 
@@ -41,11 +41,11 @@ var TextTooltip = function TextTooltip(_ref) {
41
41
  vkuiClass: (0, _getClassName.getClassName)("TextTooltip", platform),
42
42
  arrow: true,
43
43
  arrowClassName: (0, _prefixClass.prefixClass)("TextTooltip__arrow"),
44
- content: (0, _jsxRuntime.createScopedElement)(React.Fragment, null, (0, _utils.hasReactNode)(header) && (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
44
+ content: (0, _jsxRuntime.createScopedElement)(React.Fragment, null, (0, _utils.hasReactNode)(header) && (0, _jsxRuntime.createScopedElement)(_Subhead.Subhead, {
45
45
  Component: "span",
46
46
  weight: "2",
47
47
  vkuiClass: "TextTooltip__header"
48
- }, header), (0, _utils.hasReactNode)(text) && (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
48
+ }, header), (0, _utils.hasReactNode)(text) && (0, _jsxRuntime.createScopedElement)(_Subhead.Subhead, {
49
49
  Component: "span",
50
50
  vkuiClass: "TextTooltip__text"
51
51
  }, text))
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TextTooltip/TextTooltip.tsx"],"names":["TextTooltip","children","text","header","popperProps","platform"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAeO,IAAMA,WAAuC,GAAG,SAA1CA,WAA0C,OAK/B;AAAA,MAJtBC,QAIsB,QAJtBA,QAIsB;AAAA,MAHtBC,IAGsB,QAHtBA,IAGsB;AAAA,MAFtBC,MAEsB,QAFtBA,MAEsB;AAAA,MADnBC,WACmB;AACtB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,wBAAD;AACE,IAAA,SAAS,EAAE,gCAAa,aAAb,EAA4BA,QAA5B,CADb;AAEE,IAAA,KAAK,MAFP;AAGE,IAAA,cAAc,EAAE,8BAAY,oBAAZ,CAHlB;AAIE,IAAA,OAAO,EACL,qCAAC,KAAD,CAAO,QAAP,QACG,yBAAaF,MAAb,KACC,qCAAC,gBAAD;AACE,MAAA,SAAS,EAAC,MADZ;AAEE,MAAA,MAAM,EAAC,GAFT;AAGE,MAAA,SAAS,EAAC;AAHZ,OAKGA,MALH,CAFJ,EAUG,yBAAaD,IAAb,KACC,qCAAC,gBAAD;AAAS,MAAA,SAAS,EAAC,MAAnB;AAA0B,MAAA,SAAS,EAAC;AAApC,OACGA,IADH,CAXJ;AALJ,KAsBME,WAtBN,GAwBGH,QAxBH,CADF;AA4BD,CApCM","sourcesContent":["import * as React from \"react\";\nimport { HoverPopper, HoverPopperProps } from \"../HoverPopper/HoverPopper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport \"./TextTooltip.css\";\n\nexport interface TextTooltipProps\n extends Omit<HoverPopperProps, \"arrow\" | \"arrowClassName\" | \"content\"> {\n /**\n * Текст тултипа\n */\n text?: React.ReactNode;\n /**\n * Заголовок тултипа\n */\n header?: React.ReactNode;\n}\n\nexport const TextTooltip: React.FC<TextTooltipProps> = ({\n children,\n text,\n header,\n ...popperProps\n}: TextTooltipProps) => {\n const platform = usePlatform();\n\n return (\n <HoverPopper\n vkuiClass={getClassName(\"TextTooltip\", platform)}\n arrow\n arrowClassName={prefixClass(\"TextTooltip__arrow\")}\n content={\n <React.Fragment>\n {hasReactNode(header) && (\n <Subhead\n Component=\"span\"\n weight=\"2\"\n vkuiClass=\"TextTooltip__header\"\n >\n {header}\n </Subhead>\n )}\n {hasReactNode(text) && (\n <Subhead Component=\"span\" vkuiClass=\"TextTooltip__text\">\n {text}\n </Subhead>\n )}\n </React.Fragment>\n }\n {...popperProps}\n >\n {children}\n </HoverPopper>\n );\n};\n"],"file":"TextTooltip.js"}
1
+ {"version":3,"sources":["../../../../src/components/TextTooltip/TextTooltip.tsx"],"names":["TextTooltip","children","text","header","popperProps","platform"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAeO,IAAMA,WAAuC,GAAG,SAA1CA,WAA0C,OAK/B;AAAA,MAJtBC,QAIsB,QAJtBA,QAIsB;AAAA,MAHtBC,IAGsB,QAHtBA,IAGsB;AAAA,MAFtBC,MAEsB,QAFtBA,MAEsB;AAAA,MADnBC,WACmB;AACtB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,wBAAD;AACE,IAAA,SAAS,EAAE,gCAAa,aAAb,EAA4BA,QAA5B,CADb;AAEE,IAAA,KAAK,MAFP;AAGE,IAAA,cAAc,EAAE,8BAAY,oBAAZ,CAHlB;AAIE,IAAA,OAAO,EACL,qCAAC,KAAD,CAAO,QAAP,QACG,yBAAaF,MAAb,KACC,qCAAC,gBAAD;AACE,MAAA,SAAS,EAAC,MADZ;AAEE,MAAA,MAAM,EAAC,GAFT;AAGE,MAAA,SAAS,EAAC;AAHZ,OAKGA,MALH,CAFJ,EAUG,yBAAaD,IAAb,KACC,qCAAC,gBAAD;AAAS,MAAA,SAAS,EAAC,MAAnB;AAA0B,MAAA,SAAS,EAAC;AAApC,OACGA,IADH,CAXJ;AALJ,KAsBME,WAtBN,GAwBGH,QAxBH,CADF;AA4BD,CApCM","sourcesContent":["import * as React from \"react\";\nimport { HoverPopper, HoverPopperProps } from \"../HoverPopper/HoverPopper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport \"./TextTooltip.css\";\n\nexport interface TextTooltipProps\n extends Omit<HoverPopperProps, \"arrow\" | \"arrowClassName\" | \"content\"> {\n /**\n * Текст тултипа\n */\n text?: React.ReactNode;\n /**\n * Заголовок тултипа\n */\n header?: React.ReactNode;\n}\n\nexport const TextTooltip: React.FC<TextTooltipProps> = ({\n children,\n text,\n header,\n ...popperProps\n}: TextTooltipProps) => {\n const platform = usePlatform();\n\n return (\n <HoverPopper\n vkuiClass={getClassName(\"TextTooltip\", platform)}\n arrow\n arrowClassName={prefixClass(\"TextTooltip__arrow\")}\n content={\n <React.Fragment>\n {hasReactNode(header) && (\n <Subhead\n Component=\"span\"\n weight=\"2\"\n vkuiClass=\"TextTooltip__header\"\n >\n {header}\n </Subhead>\n )}\n {hasReactNode(text) && (\n <Subhead Component=\"span\" vkuiClass=\"TextTooltip__text\">\n {text}\n </Subhead>\n )}\n </React.Fragment>\n }\n {...popperProps}\n >\n {children}\n </HoverPopper>\n );\n};\n"],"file":"TextTooltip.js"}
@@ -29,7 +29,7 @@ var _classNames = require("../../lib/classNames");
29
29
 
30
30
  var _getClassName = require("../../helpers/getClassName");
31
31
 
32
- var _Subhead = _interopRequireDefault(require("../Typography/Subhead/Subhead"));
32
+ var _Subhead = require("../Typography/Subhead/Subhead");
33
33
 
34
34
  var _NavTransitionContext = require("../NavTransitionContext/NavTransitionContext");
35
35
 
@@ -78,10 +78,10 @@ var SimpleTooltip = /*#__PURE__*/React.forwardRef(function SimpleTooltip(_ref, r
78
78
  ref: arrowRef
79
79
  })), (0, _jsxRuntime.createScopedElement)("div", {
80
80
  vkuiClass: "Tooltip__content"
81
- }, header && (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
81
+ }, header && (0, _jsxRuntime.createScopedElement)(_Subhead.Subhead, {
82
82
  weight: "1",
83
83
  vkuiClass: "Tooltip__title"
84
- }, header), text && (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
84
+ }, header), text && (0, _jsxRuntime.createScopedElement)(_Subhead.Subhead, {
85
85
  vkuiClass: "Tooltip__text"
86
86
  }, text))));
87
87
  });
@@ -150,7 +150,7 @@ var Tooltip = function Tooltip(_ref2) {
150
150
  var multiChildren = React.Children.count(children) > 1; // Empty children is a noop
151
151
 
152
152
  var primitiveChild = (0, _utils.hasReactNode)(children) && (0, _typeof2.default)(children) !== "object";
153
- (multiChildren || primitiveChild) && warn(["children must be a single React element, got", multiChildren && "multiple", primitiveChild && JSON.stringify(children)].filter(Boolean).join(" "));
153
+ (multiChildren || primitiveChild) && warn(["children должен быть одним React элементом, получено", multiChildren && "несколько", primitiveChild && JSON.stringify(children)].filter(Boolean).join(" "), "error");
154
154
  }
155
155
  /* eslint-disable no-restricted-properties */
156
156
 
@@ -171,7 +171,7 @@ var Tooltip = function Tooltip(_ref2) {
171
171
  throw new Error("Use TooltipContainer for Tooltip outside Panel (see docs)");
172
172
  }
173
173
 
174
- var arrowOffsetModiifer = React.useMemo(function () {
174
+ var arrowOffsetModifier = React.useMemo(function () {
175
175
  return {
176
176
  name: "arrowOffset",
177
177
  enabled: true,
@@ -227,7 +227,7 @@ var Tooltip = function Tooltip(_ref2) {
227
227
  name: "preventOverflow"
228
228
  }, {
229
229
  name: "flip"
230
- }, arrowOffsetModiifer]
230
+ }, arrowOffsetModifier]
231
231
  }),
232
232
  styles = _usePopper.styles,
233
233
  attributes = _usePopper.attributes;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"names":["isDOMTypeElement","element","React","isValidElement","type","baseClassName","warn","IS_DEV","process","env","NODE_ENV","SimpleTooltip","forwardRef","ref","mode","header","text","arrowRef","style","attributes","container","arrow","mapAlignX","x","getPlacement","alignX","alignY","filter","p","join","isVerticalPlacement","placement","startsWith","Tooltip","children","_isShown","isShown","offsetX","offsetY","onClose","cornerOffset","cornerAbsoluteOffset","restProps","entering","useState","tooltipRef","setTooltipRef","tooltipArrowRef","setTooltipArrowRef","target","setTarget","multiChildren","Children","count","primitiveChild","JSON","stringify","Boolean","tooltipContainer","useMemo","closest","tooltipContainerAttr","strategy","position","Error","arrowOffsetModiifer","name","enabled","phase","fn","state","modifiersData","undefined","y","modifiers","options","offset","padding","styles","document","passive","childRef","props","getRootRef","patchedRef","child","cloneElement","ReactDOM","createPortal","el","popper","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport { useNavTransition } from \"../NavTransitionContext/NavTransitionContext\";\nimport { Modifier, usePopper } from \"react-popper\";\nimport { Placement } from \"@popperjs/core\";\nimport { tooltipContainerAttr } from \"./TooltipContainer\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport \"./Tooltip.css\";\n\ninterface SimpleTooltipProps extends Partial<TooltipProps> {\n target?: HTMLDivElement;\n arrowRef?: React.Ref<HTMLDivElement>;\n style?: {\n arrow: React.CSSProperties;\n container: React.CSSProperties;\n };\n attributes?: {\n arrow: React.HTMLAttributes<HTMLDivElement> | null;\n container: React.HTMLAttributes<HTMLDivElement> | null;\n };\n}\n\nconst isDOMTypeElement = (\n element: React.ReactElement\n): element is React.DOMElement<any, any> => {\n return React.isValidElement(element) && typeof element.type === \"string\";\n};\n\nconst baseClassName = getClassName(\"Tooltip\");\nconst warn = warnOnce(\"Tooltip\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\nconst SimpleTooltip = React.forwardRef<HTMLDivElement, SimpleTooltipProps>(\n function SimpleTooltip(\n { mode = \"accent\", header, text, arrowRef, style = {}, attributes },\n ref\n ) {\n return (\n <div vkuiClass={classNames(baseClassName, `Tooltip--${mode}`)}>\n <div\n vkuiClass=\"Tooltip__container\"\n ref={ref}\n style={style.container}\n {...attributes?.container}\n >\n <div\n vkuiClass=\"Tooltip__corner\"\n style={style.arrow}\n {...attributes?.arrow}\n ref={arrowRef}\n />\n <div vkuiClass=\"Tooltip__content\">\n {header && (\n <Subhead weight=\"1\" vkuiClass=\"Tooltip__title\">\n {header}\n </Subhead>\n )}\n {text && <Subhead vkuiClass=\"Tooltip__text\">{text}</Subhead>}\n </div>\n </div>\n </div>\n );\n }\n);\n\nexport interface TooltipProps {\n /**\n * **Важно**: если в `children` передан React-компонент, то необходимо убедиться в том, что он поддерживает\n * свойство `getRootRef`, которое должно возвращаться ссылку на корневой DOM-элемент компонента,\n * иначе тултип показан не будет. Если передан React-element, то такой проблемы нет.\n */\n children: React.ReactElement;\n mode?: \"accent\" | \"light\";\n /**\n * Если передан `false`, то рисуется просто `children`.\n */\n isShown?: boolean;\n /**\n * Текст тултипа.\n */\n text?: React.ReactNode;\n /**\n * Заголовок тултипа.\n */\n header?: React.ReactNode;\n /**\n * Положение по горизонтали (прижатие к левому или правому краю `children`).\n * Если не задано, позиция по горизонтали определятся автоматически\n */\n alignX?: \"center\" | \"left\" | \"right\";\n /**\n * Положение по вертикали (расположение над или под `children`).\n * Если не задано, позиция по вертикали определятся автоматически\n */\n alignY?: \"top\" | \"bottom\";\n /**\n * Сдвиг по горизонтали (относительно портала, в котором рисуется тултип).\n */\n offsetX?: number;\n /**\n * Сдвиг по вертикали (относительно портала, в котором рисуется тултип).\n */\n offsetY?: number;\n /**\n * Сдвиг стрелочки относительно центра дочернего элемента.\n */\n cornerOffset?: number;\n /**\n * Сдвиг стрелочки относительно ширины тултипа\n */\n cornerAbsoluteOffset?: number;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: () => void;\n}\n\ndeclare type ArrowOffsetModifierOptions = {\n offset: number;\n};\ndeclare type ArrowOffsetModifier = Modifier<\n \"arrowOffset\",\n ArrowOffsetModifierOptions\n>;\n\nfunction mapAlignX(x: TooltipProps[\"alignX\"]) {\n switch (x) {\n case \"left\":\n return \"start\";\n case \"right\":\n return \"end\";\n default:\n return \"\";\n }\n}\nfunction getPlacement(\n alignX: TooltipProps[\"alignX\"],\n alignY: TooltipProps[\"alignY\"]\n): Placement {\n return [alignY || \"bottom\", mapAlignX(alignX || \"left\")]\n .filter((p) => !!p)\n .join(\"-\") as Placement;\n}\nfunction isVerticalPlacement(placement: Placement) {\n return placement.startsWith(\"top\") || placement.startsWith(\"bottom\");\n}\n\nconst Tooltip: React.FC<TooltipProps> = ({\n children,\n isShown: _isShown,\n offsetX = 0,\n offsetY = 15,\n alignX,\n alignY,\n onClose,\n cornerOffset = 0,\n cornerAbsoluteOffset,\n ...restProps\n}) => {\n const { entering } = useNavTransition();\n const isShown = _isShown && !entering;\n const [tooltipRef, setTooltipRef] = React.useState<HTMLElement | null>(null);\n const [tooltipArrowRef, setTooltipArrowRef] =\n React.useState<HTMLElement | null>(null);\n const [target, setTarget] = React.useState<HTMLElement>();\n\n if (IS_DEV) {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild =\n hasReactNode(children) && typeof children !== \"object\";\n (multiChildren || primitiveChild) &&\n warn(\n [\n \"children must be a single React element, got\",\n multiChildren && \"multiple\",\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(\" \")\n );\n }\n\n /* eslint-disable no-restricted-properties */\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion*/\n const tooltipContainer = React.useMemo(\n () => target?.closest(`[${tooltipContainerAttr}]`) as HTMLDivElement,\n [target]\n );\n const strategy = React.useMemo(\n () => (target?.style.position === \"fixed\" ? \"fixed\" : \"absolute\"),\n [target]\n );\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion*/\n /* eslint-enable no-restricted-properties */\n\n if (IS_DEV && target && !tooltipContainer) {\n throw new Error(\n \"Use TooltipContainer for Tooltip outside Panel (see docs)\"\n );\n }\n\n const arrowOffsetModiifer = React.useMemo<ArrowOffsetModifier>(() => {\n return {\n name: \"arrowOffset\",\n enabled: true,\n phase: \"main\",\n fn({ state }) {\n if (!state.modifiersData.arrow) {\n return;\n }\n if (isVerticalPlacement(state.placement)) {\n if (cornerAbsoluteOffset !== undefined) {\n state.modifiersData.arrow.x = cornerAbsoluteOffset;\n } else {\n if (state.modifiersData.arrow?.x !== undefined) {\n state.modifiersData.arrow.x += cornerOffset;\n }\n }\n } else {\n if (cornerAbsoluteOffset !== undefined) {\n state.modifiersData.arrow.y = cornerAbsoluteOffset;\n } else {\n if (state.modifiersData.arrow?.y !== undefined) {\n state.modifiersData.arrow.y += cornerOffset;\n }\n }\n }\n },\n };\n }, [cornerOffset, cornerAbsoluteOffset]);\n\n const placement = getPlacement(alignX, alignY);\n const { styles, attributes } = usePopper(target, tooltipRef, {\n strategy,\n placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [offsetX, offsetY],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: tooltipArrowRef,\n padding: 14,\n },\n },\n {\n name: \"preventOverflow\",\n },\n {\n name: \"flip\",\n },\n arrowOffsetModiifer,\n ],\n });\n\n const { document } = useDOM();\n useGlobalEventListener(document, \"click\", isShown && onClose, {\n passive: true,\n });\n // NOTE: setting isShown to true used to trigger usePopper().forceUpdate()\n\n const childRef =\n React.isValidElement(children) &&\n (isDOMTypeElement(children) ? children.ref : children.props.getRootRef);\n const patchedRef = useExternRef(setTarget, childRef);\n const child = React.isValidElement(children)\n ? React.cloneElement(children, {\n [isDOMTypeElement(children) ? \"ref\" : \"getRootRef\"]: patchedRef,\n })\n : children;\n\n return (\n <React.Fragment>\n {child}\n {isShown &&\n target != null &&\n ReactDOM.createPortal(\n <SimpleTooltip\n {...restProps}\n ref={(el) => setTooltipRef(el)}\n arrowRef={(el) => setTooltipArrowRef(el)}\n style={{ arrow: styles.arrow, container: styles.popper }}\n attributes={{\n arrow: attributes.arrow ?? null,\n container: attributes.popper ?? null,\n }}\n />,\n tooltipContainer\n )}\n </React.Fragment>\n );\n};\n\nTooltip.defaultProps = {\n offsetX: 0,\n offsetY: 15,\n cornerOffset: 0,\n isShown: true,\n mode: \"accent\",\n};\n// eslint-disable-next-line import/no-default-export\nexport default Tooltip;\n"],"file":"Tooltip.js"}
1
+ {"version":3,"sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"names":["isDOMTypeElement","element","React","isValidElement","type","baseClassName","warn","IS_DEV","process","env","NODE_ENV","SimpleTooltip","forwardRef","ref","mode","header","text","arrowRef","style","attributes","container","arrow","mapAlignX","x","getPlacement","alignX","alignY","filter","p","join","isVerticalPlacement","placement","startsWith","Tooltip","children","_isShown","isShown","offsetX","offsetY","onClose","cornerOffset","cornerAbsoluteOffset","restProps","entering","useState","tooltipRef","setTooltipRef","tooltipArrowRef","setTooltipArrowRef","target","setTarget","multiChildren","Children","count","primitiveChild","JSON","stringify","Boolean","tooltipContainer","useMemo","closest","tooltipContainerAttr","strategy","position","Error","arrowOffsetModifier","name","enabled","phase","fn","state","modifiersData","undefined","y","modifiers","options","offset","padding","styles","document","passive","childRef","props","getRootRef","patchedRef","child","cloneElement","ReactDOM","createPortal","el","popper","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { useNavTransition } from \"../NavTransitionContext/NavTransitionContext\";\nimport { Modifier, usePopper } from \"react-popper\";\nimport { Placement } from \"@popperjs/core\";\nimport { tooltipContainerAttr } from \"./TooltipContainer\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport \"./Tooltip.css\";\n\ninterface SimpleTooltipProps extends Partial<TooltipProps> {\n target?: HTMLDivElement;\n arrowRef?: React.Ref<HTMLDivElement>;\n style?: {\n arrow: React.CSSProperties;\n container: React.CSSProperties;\n };\n attributes?: {\n arrow: React.HTMLAttributes<HTMLDivElement> | null;\n container: React.HTMLAttributes<HTMLDivElement> | null;\n };\n}\n\nconst isDOMTypeElement = (\n element: React.ReactElement\n): element is React.DOMElement<any, any> => {\n return React.isValidElement(element) && typeof element.type === \"string\";\n};\n\nconst baseClassName = getClassName(\"Tooltip\");\nconst warn = warnOnce(\"Tooltip\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\nconst SimpleTooltip = React.forwardRef<HTMLDivElement, SimpleTooltipProps>(\n function SimpleTooltip(\n { mode = \"accent\", header, text, arrowRef, style = {}, attributes },\n ref\n ) {\n return (\n <div vkuiClass={classNames(baseClassName, `Tooltip--${mode}`)}>\n <div\n vkuiClass=\"Tooltip__container\"\n ref={ref}\n style={style.container}\n {...attributes?.container}\n >\n <div\n vkuiClass=\"Tooltip__corner\"\n style={style.arrow}\n {...attributes?.arrow}\n ref={arrowRef}\n />\n <div vkuiClass=\"Tooltip__content\">\n {header && (\n <Subhead weight=\"1\" vkuiClass=\"Tooltip__title\">\n {header}\n </Subhead>\n )}\n {text && <Subhead vkuiClass=\"Tooltip__text\">{text}</Subhead>}\n </div>\n </div>\n </div>\n );\n }\n);\n\nexport interface TooltipProps {\n /**\n * **Важно**: если в `children` передан React-компонент, то необходимо убедиться в том, что он поддерживает\n * свойство `getRootRef`, которое должно возвращаться ссылку на корневой DOM-элемент компонента,\n * иначе тултип показан не будет. Если передан React-element, то такой проблемы нет.\n */\n children: React.ReactElement;\n mode?: \"accent\" | \"light\";\n /**\n * Если передан `false`, то рисуется просто `children`.\n */\n isShown?: boolean;\n /**\n * Текст тултипа.\n */\n text?: React.ReactNode;\n /**\n * Заголовок тултипа.\n */\n header?: React.ReactNode;\n /**\n * Положение по горизонтали (прижатие к левому или правому краю `children`).\n * Если не задано, позиция по горизонтали определятся автоматически\n */\n alignX?: \"center\" | \"left\" | \"right\";\n /**\n * Положение по вертикали (расположение над или под `children`).\n * Если не задано, позиция по вертикали определятся автоматически\n */\n alignY?: \"top\" | \"bottom\";\n /**\n * Сдвиг по горизонтали (относительно портала, в котором рисуется тултип).\n */\n offsetX?: number;\n /**\n * Сдвиг по вертикали (относительно портала, в котором рисуется тултип).\n */\n offsetY?: number;\n /**\n * Сдвиг стрелочки относительно центра дочернего элемента.\n */\n cornerOffset?: number;\n /**\n * Сдвиг стрелочки относительно ширины тултипа\n */\n cornerAbsoluteOffset?: number;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: () => void;\n}\n\ndeclare type ArrowOffsetModifierOptions = {\n offset: number;\n};\ndeclare type ArrowOffsetModifier = Modifier<\n \"arrowOffset\",\n ArrowOffsetModifierOptions\n>;\n\nfunction mapAlignX(x: TooltipProps[\"alignX\"]) {\n switch (x) {\n case \"left\":\n return \"start\";\n case \"right\":\n return \"end\";\n default:\n return \"\";\n }\n}\nfunction getPlacement(\n alignX: TooltipProps[\"alignX\"],\n alignY: TooltipProps[\"alignY\"]\n): Placement {\n return [alignY || \"bottom\", mapAlignX(alignX || \"left\")]\n .filter((p) => !!p)\n .join(\"-\") as Placement;\n}\nfunction isVerticalPlacement(placement: Placement) {\n return placement.startsWith(\"top\") || placement.startsWith(\"bottom\");\n}\n\nconst Tooltip: React.FC<TooltipProps> = ({\n children,\n isShown: _isShown,\n offsetX = 0,\n offsetY = 15,\n alignX,\n alignY,\n onClose,\n cornerOffset = 0,\n cornerAbsoluteOffset,\n ...restProps\n}) => {\n const { entering } = useNavTransition();\n const isShown = _isShown && !entering;\n const [tooltipRef, setTooltipRef] = React.useState<HTMLElement | null>(null);\n const [tooltipArrowRef, setTooltipArrowRef] =\n React.useState<HTMLElement | null>(null);\n const [target, setTarget] = React.useState<HTMLElement>();\n\n if (IS_DEV) {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild =\n hasReactNode(children) && typeof children !== \"object\";\n (multiChildren || primitiveChild) &&\n warn(\n [\n \"children должен быть одним React элементом, получено\",\n multiChildren && \"несколько\",\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(\" \"),\n \"error\"\n );\n }\n\n /* eslint-disable no-restricted-properties */\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion*/\n const tooltipContainer = React.useMemo(\n () => target?.closest(`[${tooltipContainerAttr}]`) as HTMLDivElement,\n [target]\n );\n const strategy = React.useMemo(\n () => (target?.style.position === \"fixed\" ? \"fixed\" : \"absolute\"),\n [target]\n );\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion*/\n /* eslint-enable no-restricted-properties */\n\n if (IS_DEV && target && !tooltipContainer) {\n throw new Error(\n \"Use TooltipContainer for Tooltip outside Panel (see docs)\"\n );\n }\n\n const arrowOffsetModifier = React.useMemo<ArrowOffsetModifier>(() => {\n return {\n name: \"arrowOffset\",\n enabled: true,\n phase: \"main\",\n fn({ state }) {\n if (!state.modifiersData.arrow) {\n return;\n }\n if (isVerticalPlacement(state.placement)) {\n if (cornerAbsoluteOffset !== undefined) {\n state.modifiersData.arrow.x = cornerAbsoluteOffset;\n } else {\n if (state.modifiersData.arrow?.x !== undefined) {\n state.modifiersData.arrow.x += cornerOffset;\n }\n }\n } else {\n if (cornerAbsoluteOffset !== undefined) {\n state.modifiersData.arrow.y = cornerAbsoluteOffset;\n } else {\n if (state.modifiersData.arrow?.y !== undefined) {\n state.modifiersData.arrow.y += cornerOffset;\n }\n }\n }\n },\n };\n }, [cornerOffset, cornerAbsoluteOffset]);\n\n const placement = getPlacement(alignX, alignY);\n const { styles, attributes } = usePopper(target, tooltipRef, {\n strategy,\n placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [offsetX, offsetY],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: tooltipArrowRef,\n padding: 14,\n },\n },\n {\n name: \"preventOverflow\",\n },\n {\n name: \"flip\",\n },\n arrowOffsetModifier,\n ],\n });\n\n const { document } = useDOM();\n useGlobalEventListener(document, \"click\", isShown && onClose, {\n passive: true,\n });\n // NOTE: setting isShown to true used to trigger usePopper().forceUpdate()\n\n const childRef =\n React.isValidElement(children) &&\n (isDOMTypeElement(children) ? children.ref : children.props.getRootRef);\n const patchedRef = useExternRef(setTarget, childRef);\n const child = React.isValidElement(children)\n ? React.cloneElement(children, {\n [isDOMTypeElement(children) ? \"ref\" : \"getRootRef\"]: patchedRef,\n })\n : children;\n\n return (\n <React.Fragment>\n {child}\n {isShown &&\n target != null &&\n ReactDOM.createPortal(\n <SimpleTooltip\n {...restProps}\n ref={(el) => setTooltipRef(el)}\n arrowRef={(el) => setTooltipArrowRef(el)}\n style={{ arrow: styles.arrow, container: styles.popper }}\n attributes={{\n arrow: attributes.arrow ?? null,\n container: attributes.popper ?? null,\n }}\n />,\n tooltipContainer\n )}\n </React.Fragment>\n );\n};\n\nTooltip.defaultProps = {\n offsetX: 0,\n offsetY: 15,\n cornerOffset: 0,\n isShown: true,\n mode: \"accent\",\n};\n// eslint-disable-next-line import/no-default-export\nexport default Tooltip;\n"],"file":"Tooltip.js"}
@@ -65,9 +65,9 @@ var Touch = function Touch(_ref) {
65
65
  var didSlide = React.useRef(false);
66
66
  var gesture = React.useRef(null);
67
67
 
68
- var handle = function handle(e, handers) {
68
+ var handle = function handle(e, handlers) {
69
69
  stopPropagation && e.stopPropagation();
70
- handers.forEach(function (cb) {
70
+ handlers.forEach(function (cb) {
71
71
  var _gesture$current$star, _gesture$current, _gesture$current$star2;
72
72
 
73
73
  var duration = Date.now() - ((_gesture$current$star = (_gesture$current = gesture.current) === null || _gesture$current === void 0 ? void 0 : (_gesture$current$star2 = _gesture$current.startT) === null || _gesture$current$star2 === void 0 ? void 0 : _gesture$current$star2.getTime()) !== null && _gesture$current$star !== void 0 ? _gesture$current$star : 0);
@@ -178,7 +178,7 @@ var Touch = function Touch(_ref) {
178
178
  onLeave && onLeave(e);
179
179
  }
180
180
 
181
- subscribe(null);
181
+ unsubscribe();
182
182
  }
183
183
 
184
184
  var listenerParams = {
@@ -194,6 +194,12 @@ var Touch = function Touch(_ref) {
194
194
  });
195
195
  }
196
196
  }
197
+
198
+ function unsubscribe() {
199
+ listeners.forEach(function (l) {
200
+ return l.remove();
201
+ });
202
+ }
197
203
  /**
198
204
  * Обработчик событий dragstart
199
205
  * Отменяет нативное браузерное поведение для вложенных ссылок и изображений
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Touch/Touch.tsx"],"names":["Touch","onStart","onStartX","onStartY","_onMove","onMove","onMoveX","onMoveY","onLeave","onEnter","_onEnd","onEnd","onEndX","onEndY","onClickCapture","usePointerHover","slideThreshold","useCapture","Component","getRootRef","noSlideClick","stopPropagation","restProps","document","events","React","useMemo","getSupportedEvents","didSlide","useRef","gesture","handle","e","handers","forEach","cb","duration","Date","now","current","startT","getTime","originalEvent","enterHandler","leaveHandler","startHandler","initGesture","subscribe","target","capture","passive","containerRef","el","add","isPressed","isX","isY","startX","startY","shiftX","shiftY","shiftXAbs","Math","abs","shiftYAbs","touches","length","willBeX","willBeY","willBeSlidedX","willBeSlidedY","Object","assign","isSlideX","isSlideY","isSlide","Boolean","listenerParams","listeners","l","onDragStart","tagName","preventDefault","postGestureClick","closest"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n getSupportedEvents,\n coordX,\n coordY,\n touchEnabled,\n VKUITouchEvent,\n} from \"../../lib/touch\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\n\nexport interface TouchProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n /**\n * Привязать onEnter и onLeave через pointer-events - работает на disabled-инпутах\n */\n usePointerHover?: boolean;\n useCapture?: boolean;\n slideThreshold?: number;\n noSlideClick?: boolean;\n onEnter?: HoverHandler;\n onLeave?: HoverHandler;\n onStart?: TouchEventHandler;\n onStartX?: TouchEventHandler;\n onStartY?: TouchEventHandler;\n onMove?: TouchEventHandler;\n onMoveX?: TouchEventHandler;\n onMoveY?: TouchEventHandler;\n onEnd?: TouchEventHandler;\n onEndX?: TouchEventHandler;\n onEndY?: TouchEventHandler;\n stopPropagation?: boolean;\n}\n\nexport interface Gesture {\n startX: number;\n startY: number;\n startT: Date;\n duration: number;\n isPressed: boolean;\n isY: boolean;\n isX: boolean;\n isSlideX: boolean;\n isSlideY: boolean;\n isSlide: boolean;\n shiftX: number;\n shiftY: number;\n shiftXAbs: number;\n shiftYAbs: number;\n}\n\nexport interface TouchEvent extends Gesture {\n originalEvent: VKUITouchEvent;\n}\n\ntype HoverHandler = (outputEvent: MouseEvent) => void;\nexport type TouchEventHandler = (e: TouchEvent) => void;\nexport type ClickHandler = (e: React.MouseEvent<HTMLElement>) => void;\nexport type DragHandler = (e: React.DragEvent<HTMLElement>) => void;\n\nexport const Touch: React.FC<TouchProps> = ({\n onStart,\n onStartX,\n onStartY,\n onMove: _onMove,\n onMoveX,\n onMoveY,\n onLeave,\n onEnter,\n onEnd: _onEnd,\n onEndX,\n onEndY,\n onClickCapture,\n usePointerHover,\n slideThreshold = 5,\n useCapture = false,\n Component = \"div\",\n getRootRef,\n noSlideClick = false,\n stopPropagation = false,\n ...restProps\n}: TouchProps) => {\n const { document } = useDOM();\n const events = React.useMemo(getSupportedEvents, []);\n const didSlide = React.useRef(false);\n const gesture = React.useRef<Partial<Gesture> | null>(null);\n const handle = (\n e: VKUITouchEvent,\n handers: Array<TouchEventHandler | undefined | false>\n ) => {\n stopPropagation && e.stopPropagation();\n handers.forEach((cb) => {\n const duration = Date.now() - (gesture.current?.startT?.getTime() ?? 0);\n cb && cb({ ...(gesture.current as Gesture), duration, originalEvent: e });\n });\n };\n\n const enterHandler = useEventListener(\n usePointerHover ? \"pointerenter\" : \"mouseenter\",\n onEnter\n );\n const leaveHandler = useEventListener(\n usePointerHover ? \"pointerleave\" : \"mouseleave\",\n onLeave\n );\n const startHandler = useEventListener(\n events[0],\n (e: VKUITouchEvent) => {\n gesture.current = initGesture(coordX(e), coordY(e));\n\n handle(e, [onStart, onStartX, onStartY]);\n // 1 line, 2 bad specs, 2 workarounds:\n subscribe(\n touchEnabled()\n ? // Touch events fire on initial target, and won't bubble if its removed\n // see: #235, #1968, https://stackoverflow.com/a/45760014\n (e.target as HTMLElement)\n : // Mouse events fire on the element under pointer, so we lose move / end\n // if pointer goes outside container.\n // Can be fixed by PointerEvents' setPointerCapture later\n document\n );\n },\n { capture: useCapture, passive: false }\n );\n const containerRef = useExternRef(getRootRef);\n\n useIsomorphicLayoutEffect(() => {\n const el = containerRef.current;\n if (el) {\n enterHandler.add(el);\n leaveHandler.add(el);\n startHandler.add(el);\n }\n }, [Component]);\n\n function onMove(e: VKUITouchEvent) {\n const {\n isPressed,\n isX,\n isY,\n startX = 0,\n startY = 0,\n } = gesture.current ?? {};\n\n if (isPressed) {\n // смещения\n const shiftX = coordX(e) - startX;\n const shiftY = coordY(e) - startY;\n\n // абсолютные значения смещений\n const shiftXAbs = Math.abs(shiftX);\n const shiftYAbs = Math.abs(shiftY);\n\n // Если определяем мультитач, то прерываем жест\n if (!!e.touches && e.touches.length > 1) {\n return onEnd(e);\n }\n\n // если мы ещё не определились\n if (!isX && !isY) {\n const willBeX = shiftXAbs >= slideThreshold && shiftXAbs > shiftYAbs;\n const willBeY = shiftYAbs >= slideThreshold && shiftYAbs > shiftXAbs;\n const willBeSlidedX = willBeX && (!!onMoveX || !!_onMove);\n const willBeSlidedY = willBeY && (!!onMoveY || !!_onMove);\n\n Object.assign(gesture.current, {\n isY: willBeY,\n isX: willBeX,\n isSlideX: willBeSlidedX,\n isSlideY: willBeSlidedY,\n isSlide: willBeSlidedX || willBeSlidedY,\n });\n }\n\n if (gesture.current?.isSlide) {\n Object.assign(gesture.current, {\n shiftX,\n shiftY,\n shiftXAbs,\n shiftYAbs,\n });\n\n handle(e, [\n _onMove,\n gesture.current.isSlideX && onMoveX,\n gesture.current.isSlideY && onMoveY,\n ]);\n }\n }\n }\n\n function onEnd(e: VKUITouchEvent) {\n const { isPressed, isSlide, isSlideX, isSlideY } = gesture.current ?? {};\n\n if (isPressed) {\n handle(e, [_onEnd, isSlideY && onEndY, isSlideX && onEndX]);\n }\n\n didSlide.current = Boolean(isSlide);\n gesture.current = {};\n\n // Если это был тач-евент, симулируем отмену hover\n if (touchEnabled()) {\n onLeave && onLeave(e);\n }\n subscribe(null);\n }\n\n const listenerParams = { capture: useCapture, passive: false };\n const listeners = [\n useEventListener(events[1], onMove, listenerParams),\n useEventListener(events[2], onEnd, listenerParams),\n useEventListener(events[3], onEnd, listenerParams),\n ];\n function subscribe(el: HTMLElement | Document | null | undefined) {\n if (el) {\n listeners.forEach((l) => l.add(el));\n }\n }\n\n /**\n * Обработчик событий dragstart\n * Отменяет нативное браузерное поведение для вложенных ссылок и изображений\n */\n const onDragStart = (e: React.DragEvent<HTMLElement>) => {\n const target = e.target as HTMLElement;\n if (target.tagName === \"A\" || target.tagName === \"IMG\") {\n e.preventDefault();\n }\n };\n\n /**\n * Обработчик клика по компоненту\n * Отменяет переход по вложенной ссылке, если был зафиксирован свайп\n */\n const postGestureClick: typeof onClickCapture = (e) => {\n if (!didSlide.current) {\n return onClickCapture && onClickCapture(e);\n }\n // eslint-disable-next-line no-restricted-properties\n if ((e.target as HTMLElement).closest(\"a\")) {\n e.preventDefault();\n }\n if (noSlideClick) {\n e.stopPropagation();\n } else {\n onClickCapture && onClickCapture(e);\n }\n didSlide.current = false;\n };\n\n return (\n <Component\n {...restProps}\n onDragStart={onDragStart}\n onClickCapture={postGestureClick}\n ref={containerRef}\n />\n );\n};\n\nfunction initGesture(startX: number, startY: number): Gesture {\n return {\n startX,\n startY,\n startT: new Date(),\n duration: 0,\n isPressed: true,\n isY: false,\n isX: false,\n isSlideX: false,\n isSlideY: false,\n isSlide: false,\n shiftX: 0,\n shiftY: 0,\n shiftXAbs: 0,\n shiftYAbs: 0,\n };\n}\n"],"file":"Touch.js"}
1
+ {"version":3,"sources":["../../../../src/components/Touch/Touch.tsx"],"names":["Touch","onStart","onStartX","onStartY","_onMove","onMove","onMoveX","onMoveY","onLeave","onEnter","_onEnd","onEnd","onEndX","onEndY","onClickCapture","usePointerHover","slideThreshold","useCapture","Component","getRootRef","noSlideClick","stopPropagation","restProps","document","events","React","useMemo","getSupportedEvents","didSlide","useRef","gesture","handle","e","handlers","forEach","cb","duration","Date","now","current","startT","getTime","originalEvent","enterHandler","leaveHandler","startHandler","initGesture","subscribe","target","capture","passive","containerRef","el","add","isPressed","isX","isY","startX","startY","shiftX","shiftY","shiftXAbs","Math","abs","shiftYAbs","touches","length","willBeX","willBeY","willBeSlidedX","willBeSlidedY","Object","assign","isSlideX","isSlideY","isSlide","Boolean","unsubscribe","listenerParams","listeners","l","remove","onDragStart","tagName","preventDefault","postGestureClick","closest"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAQA;;AACA;;AACA;;AACA;;;;AAqDO,IAAMA,KAA2B,GAAG,SAA9BA,KAA8B,OAqBzB;AAAA,MApBhBC,OAoBgB,QApBhBA,OAoBgB;AAAA,MAnBhBC,QAmBgB,QAnBhBA,QAmBgB;AAAA,MAlBhBC,QAkBgB,QAlBhBA,QAkBgB;AAAA,MAjBRC,OAiBQ,QAjBhBC,MAiBgB;AAAA,MAhBhBC,OAgBgB,QAhBhBA,OAgBgB;AAAA,MAfhBC,OAegB,QAfhBA,OAegB;AAAA,MAdhBC,OAcgB,QAdhBA,OAcgB;AAAA,MAbhBC,OAagB,QAbhBA,OAagB;AAAA,MAZTC,MAYS,QAZhBC,KAYgB;AAAA,MAXhBC,MAWgB,QAXhBA,MAWgB;AAAA,MAVhBC,MAUgB,QAVhBA,MAUgB;AAAA,MAThBC,cASgB,QAThBA,cASgB;AAAA,MARhBC,eAQgB,QARhBA,eAQgB;AAAA,iCAPhBC,cAOgB;AAAA,MAPhBA,cAOgB,oCAPC,CAOD;AAAA,6BANhBC,UAMgB;AAAA,MANhBA,UAMgB,gCANH,KAMG;AAAA,4BALhBC,SAKgB;AAAA,MALhBA,SAKgB,+BALJ,KAKI;AAAA,MAJhBC,UAIgB,QAJhBA,UAIgB;AAAA,+BAHhBC,YAGgB;AAAA,MAHhBA,YAGgB,kCAHD,KAGC;AAAA,kCAFhBC,eAEgB;AAAA,MAFhBA,eAEgB,qCAFE,KAEF;AAAA,MADbC,SACa;;AAChB,gBAAqB,kBAArB;AAAA,MAAQC,QAAR,WAAQA,QAAR;;AACA,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAN,CAAcC,yBAAd,EAAkC,EAAlC,CAAf;AACA,MAAMC,QAAQ,GAAGH,KAAK,CAACI,MAAN,CAAa,KAAb,CAAjB;AACA,MAAMC,OAAO,GAAGL,KAAK,CAACI,MAAN,CAAsC,IAAtC,CAAhB;;AACA,MAAME,MAAM,GAAG,SAATA,MAAS,CACbC,CADa,EAEbC,QAFa,EAGV;AACHZ,IAAAA,eAAe,IAAIW,CAAC,CAACX,eAAF,EAAnB;AACAY,IAAAA,QAAQ,CAACC,OAAT,CAAiB,UAACC,EAAD,EAAQ;AAAA;;AACvB,UAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAL,mDAAcR,OAAO,CAACS,OAAtB,+EAAc,iBAAiBC,MAA/B,2DAAc,uBAAyBC,OAAzB,EAAd,yEAAoD,CAApD,CAAjB;AACAN,MAAAA,EAAE,IAAIA,EAAE,6DAAOL,OAAO,CAACS,OAAf;AAAoCH,QAAAA,QAAQ,EAARA,QAApC;AAA8CM,QAAAA,aAAa,EAAEV;AAA7D,SAAR;AACD,KAHD;AAID,GATD;;AAWA,MAAMW,YAAY,GAAG,wCACnB5B,eAAe,GAAG,cAAH,GAAoB,YADhB,EAEnBN,OAFmB,CAArB;AAIA,MAAMmC,YAAY,GAAG,wCACnB7B,eAAe,GAAG,cAAH,GAAoB,YADhB,EAEnBP,OAFmB,CAArB;AAIA,MAAMqC,YAAY,GAAG,wCACnBrB,MAAM,CAAC,CAAD,CADa,EAEnB,UAACQ,CAAD,EAAuB;AACrBF,IAAAA,OAAO,CAACS,OAAR,GAAkBO,WAAW,CAAC,mBAAOd,CAAP,CAAD,EAAY,mBAAOA,CAAP,CAAZ,CAA7B;AAEAD,IAAAA,MAAM,CAACC,CAAD,EAAI,CAAC/B,OAAD,EAAUC,QAAV,EAAoBC,QAApB,CAAJ,CAAN,CAHqB,CAIrB;;AACA4C,IAAAA,SAAS,CACP,6BACI;AACA;AACCf,IAAAA,CAAC,CAACgB,MAHP,GAII;AACA;AACA;AACAzB,IAAAA,QARG,CAAT;AAUD,GAjBkB,EAkBnB;AAAE0B,IAAAA,OAAO,EAAEhC,UAAX;AAAuBiC,IAAAA,OAAO,EAAE;AAAhC,GAlBmB,CAArB;AAoBA,MAAMC,YAAY,GAAG,gCAAahC,UAAb,CAArB;AAEA,4DAA0B,YAAM;AAC9B,QAAMiC,EAAE,GAAGD,YAAY,CAACZ,OAAxB;;AACA,QAAIa,EAAJ,EAAQ;AACNT,MAAAA,YAAY,CAACU,GAAb,CAAiBD,EAAjB;AACAR,MAAAA,YAAY,CAACS,GAAb,CAAiBD,EAAjB;AACAP,MAAAA,YAAY,CAACQ,GAAb,CAAiBD,EAAjB;AACD;AACF,GAPD,EAOG,CAAClC,SAAD,CAPH;;AASA,WAASb,MAAT,CAAgB2B,CAAhB,EAAmC;AAAA;;AACjC,qCAMIF,OAAO,CAACS,OANZ,iEAMuB,EANvB;AAAA,QACEe,SADF,SACEA,SADF;AAAA,QAEEC,GAFF,SAEEA,GAFF;AAAA,QAGEC,GAHF,SAGEA,GAHF;AAAA,6BAIEC,MAJF;AAAA,QAIEA,MAJF,6BAIW,CAJX;AAAA,6BAKEC,MALF;AAAA,QAKEA,MALF,6BAKW,CALX;;AAQA,QAAIJ,SAAJ,EAAe;AAAA;;AACb;AACA,UAAMK,MAAM,GAAG,mBAAO3B,CAAP,IAAYyB,MAA3B;AACA,UAAMG,MAAM,GAAG,mBAAO5B,CAAP,IAAY0B,MAA3B,CAHa,CAKb;;AACA,UAAMG,SAAS,GAAGC,IAAI,CAACC,GAAL,CAASJ,MAAT,CAAlB;AACA,UAAMK,SAAS,GAAGF,IAAI,CAACC,GAAL,CAASH,MAAT,CAAlB,CAPa,CASb;;AACA,UAAI,CAAC,CAAC5B,CAAC,CAACiC,OAAJ,IAAejC,CAAC,CAACiC,OAAF,CAAUC,MAAV,GAAmB,CAAtC,EAAyC;AACvC,eAAOvD,KAAK,CAACqB,CAAD,CAAZ;AACD,OAZY,CAcb;;;AACA,UAAI,CAACuB,GAAD,IAAQ,CAACC,GAAb,EAAkB;AAChB,YAAMW,OAAO,GAAGN,SAAS,IAAI7C,cAAb,IAA+B6C,SAAS,GAAGG,SAA3D;AACA,YAAMI,OAAO,GAAGJ,SAAS,IAAIhD,cAAb,IAA+BgD,SAAS,GAAGH,SAA3D;AACA,YAAMQ,aAAa,GAAGF,OAAO,KAAK,CAAC,CAAC7D,OAAF,IAAa,CAAC,CAACF,OAApB,CAA7B;AACA,YAAMkE,aAAa,GAAGF,OAAO,KAAK,CAAC,CAAC7D,OAAF,IAAa,CAAC,CAACH,OAApB,CAA7B;AAEAmE,QAAAA,MAAM,CAACC,MAAP,CAAc1C,OAAO,CAACS,OAAtB,EAA+B;AAC7BiB,UAAAA,GAAG,EAAEY,OADwB;AAE7Bb,UAAAA,GAAG,EAAEY,OAFwB;AAG7BM,UAAAA,QAAQ,EAAEJ,aAHmB;AAI7BK,UAAAA,QAAQ,EAAEJ,aAJmB;AAK7BK,UAAAA,OAAO,EAAEN,aAAa,IAAIC;AALG,SAA/B;AAOD;;AAED,+BAAIxC,OAAO,CAACS,OAAZ,8CAAI,kBAAiBoC,OAArB,EAA8B;AAC5BJ,QAAAA,MAAM,CAACC,MAAP,CAAc1C,OAAO,CAACS,OAAtB,EAA+B;AAC7BoB,UAAAA,MAAM,EAANA,MAD6B;AAE7BC,UAAAA,MAAM,EAANA,MAF6B;AAG7BC,UAAAA,SAAS,EAATA,SAH6B;AAI7BG,UAAAA,SAAS,EAATA;AAJ6B,SAA/B;AAOAjC,QAAAA,MAAM,CAACC,CAAD,EAAI,CACR5B,OADQ,EAER0B,OAAO,CAACS,OAAR,CAAgBkC,QAAhB,IAA4BnE,OAFpB,EAGRwB,OAAO,CAACS,OAAR,CAAgBmC,QAAhB,IAA4BnE,OAHpB,CAAJ,CAAN;AAKD;AACF;AACF;;AAED,WAASI,KAAT,CAAeqB,CAAf,EAAkC;AAAA;;AAChC,qCAAmDF,OAAO,CAACS,OAA3D,iEAAsE,EAAtE;AAAA,QAAQe,SAAR,SAAQA,SAAR;AAAA,QAAmBqB,OAAnB,SAAmBA,OAAnB;AAAA,QAA4BF,QAA5B,SAA4BA,QAA5B;AAAA,QAAsCC,QAAtC,SAAsCA,QAAtC;;AAEA,QAAIpB,SAAJ,EAAe;AACbvB,MAAAA,MAAM,CAACC,CAAD,EAAI,CAACtB,MAAD,EAASgE,QAAQ,IAAI7D,MAArB,EAA6B4D,QAAQ,IAAI7D,MAAzC,CAAJ,CAAN;AACD;;AAEDgB,IAAAA,QAAQ,CAACW,OAAT,GAAmBqC,OAAO,CAACD,OAAD,CAA1B;AACA7C,IAAAA,OAAO,CAACS,OAAR,GAAkB,EAAlB,CARgC,CAUhC;;AACA,QAAI,0BAAJ,EAAoB;AAClB/B,MAAAA,OAAO,IAAIA,OAAO,CAACwB,CAAD,CAAlB;AACD;;AACD6C,IAAAA,WAAW;AACZ;;AAED,MAAMC,cAAc,GAAG;AAAE7B,IAAAA,OAAO,EAAEhC,UAAX;AAAuBiC,IAAAA,OAAO,EAAE;AAAhC,GAAvB;AACA,MAAM6B,SAAS,GAAG,CAChB,wCAAiBvD,MAAM,CAAC,CAAD,CAAvB,EAA4BnB,MAA5B,EAAoCyE,cAApC,CADgB,EAEhB,wCAAiBtD,MAAM,CAAC,CAAD,CAAvB,EAA4Bb,KAA5B,EAAmCmE,cAAnC,CAFgB,EAGhB,wCAAiBtD,MAAM,CAAC,CAAD,CAAvB,EAA4Bb,KAA5B,EAAmCmE,cAAnC,CAHgB,CAAlB;;AAKA,WAAS/B,SAAT,CAAmBK,EAAnB,EAAkE;AAChE,QAAIA,EAAJ,EAAQ;AACN2B,MAAAA,SAAS,CAAC7C,OAAV,CAAkB,UAAC8C,CAAD;AAAA,eAAOA,CAAC,CAAC3B,GAAF,CAAMD,EAAN,CAAP;AAAA,OAAlB;AACD;AACF;;AACD,WAASyB,WAAT,GAAuB;AACrBE,IAAAA,SAAS,CAAC7C,OAAV,CAAkB,UAAC8C,CAAD;AAAA,aAAOA,CAAC,CAACC,MAAF,EAAP;AAAA,KAAlB;AACD;AAED;AACF;AACA;AACA;;;AACE,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAAClD,CAAD,EAAqC;AACvD,QAAMgB,MAAM,GAAGhB,CAAC,CAACgB,MAAjB;;AACA,QAAIA,MAAM,CAACmC,OAAP,KAAmB,GAAnB,IAA0BnC,MAAM,CAACmC,OAAP,KAAmB,KAAjD,EAAwD;AACtDnD,MAAAA,CAAC,CAACoD,cAAF;AACD;AACF,GALD;AAOA;AACF;AACA;AACA;;;AACE,MAAMC,gBAAuC,GAAG,SAA1CA,gBAA0C,CAACrD,CAAD,EAAO;AACrD,QAAI,CAACJ,QAAQ,CAACW,OAAd,EAAuB;AACrB,aAAOzB,cAAc,IAAIA,cAAc,CAACkB,CAAD,CAAvC;AACD,KAHoD,CAIrD;;;AACA,QAAKA,CAAC,CAACgB,MAAH,CAA0BsC,OAA1B,CAAkC,GAAlC,CAAJ,EAA4C;AAC1CtD,MAAAA,CAAC,CAACoD,cAAF;AACD;;AACD,QAAIhE,YAAJ,EAAkB;AAChBY,MAAAA,CAAC,CAACX,eAAF;AACD,KAFD,MAEO;AACLP,MAAAA,cAAc,IAAIA,cAAc,CAACkB,CAAD,CAAhC;AACD;;AACDJ,IAAAA,QAAQ,CAACW,OAAT,GAAmB,KAAnB;AACD,GAdD;;AAgBA,SACE,qCAAC,SAAD,6BACMjB,SADN;AAEE,IAAA,WAAW,EAAE4D,WAFf;AAGE,IAAA,cAAc,EAAEG,gBAHlB;AAIE,IAAA,GAAG,EAAElC;AAJP,KADF;AAQD,CA3MM;;;;AA6MP,SAASL,WAAT,CAAqBW,MAArB,EAAqCC,MAArC,EAA8D;AAC5D,SAAO;AACLD,IAAAA,MAAM,EAANA,MADK;AAELC,IAAAA,MAAM,EAANA,MAFK;AAGLlB,IAAAA,MAAM,EAAE,IAAIH,IAAJ,EAHH;AAILD,IAAAA,QAAQ,EAAE,CAJL;AAKLkB,IAAAA,SAAS,EAAE,IALN;AAMLE,IAAAA,GAAG,EAAE,KANA;AAOLD,IAAAA,GAAG,EAAE,KAPA;AAQLkB,IAAAA,QAAQ,EAAE,KARL;AASLC,IAAAA,QAAQ,EAAE,KATL;AAULC,IAAAA,OAAO,EAAE,KAVJ;AAWLhB,IAAAA,MAAM,EAAE,CAXH;AAYLC,IAAAA,MAAM,EAAE,CAZH;AAaLC,IAAAA,SAAS,EAAE,CAbN;AAcLG,IAAAA,SAAS,EAAE;AAdN,GAAP;AAgBD","sourcesContent":["import * as React from \"react\";\nimport {\n getSupportedEvents,\n coordX,\n coordY,\n touchEnabled,\n VKUITouchEvent,\n} from \"../../lib/touch\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\n\nexport interface TouchProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n /**\n * Привязать onEnter и onLeave через pointer-events - работает на disabled-инпутах\n */\n usePointerHover?: boolean;\n useCapture?: boolean;\n slideThreshold?: number;\n noSlideClick?: boolean;\n onEnter?: HoverHandler;\n onLeave?: HoverHandler;\n onStart?: TouchEventHandler;\n onStartX?: TouchEventHandler;\n onStartY?: TouchEventHandler;\n onMove?: TouchEventHandler;\n onMoveX?: TouchEventHandler;\n onMoveY?: TouchEventHandler;\n onEnd?: TouchEventHandler;\n onEndX?: TouchEventHandler;\n onEndY?: TouchEventHandler;\n stopPropagation?: boolean;\n}\n\nexport interface Gesture {\n startX: number;\n startY: number;\n startT: Date;\n duration: number;\n isPressed: boolean;\n isY: boolean;\n isX: boolean;\n isSlideX: boolean;\n isSlideY: boolean;\n isSlide: boolean;\n shiftX: number;\n shiftY: number;\n shiftXAbs: number;\n shiftYAbs: number;\n}\n\nexport interface TouchEvent extends Gesture {\n originalEvent: VKUITouchEvent;\n}\n\ntype HoverHandler = (outputEvent: MouseEvent) => void;\nexport type TouchEventHandler = (e: TouchEvent) => void;\nexport type ClickHandler = (e: React.MouseEvent<HTMLElement>) => void;\nexport type DragHandler = (e: React.DragEvent<HTMLElement>) => void;\n\nexport const Touch: React.FC<TouchProps> = ({\n onStart,\n onStartX,\n onStartY,\n onMove: _onMove,\n onMoveX,\n onMoveY,\n onLeave,\n onEnter,\n onEnd: _onEnd,\n onEndX,\n onEndY,\n onClickCapture,\n usePointerHover,\n slideThreshold = 5,\n useCapture = false,\n Component = \"div\",\n getRootRef,\n noSlideClick = false,\n stopPropagation = false,\n ...restProps\n}: TouchProps) => {\n const { document } = useDOM();\n const events = React.useMemo(getSupportedEvents, []);\n const didSlide = React.useRef(false);\n const gesture = React.useRef<Partial<Gesture> | null>(null);\n const handle = (\n e: VKUITouchEvent,\n handlers: Array<TouchEventHandler | undefined | false>\n ) => {\n stopPropagation && e.stopPropagation();\n handlers.forEach((cb) => {\n const duration = Date.now() - (gesture.current?.startT?.getTime() ?? 0);\n cb && cb({ ...(gesture.current as Gesture), duration, originalEvent: e });\n });\n };\n\n const enterHandler = useEventListener(\n usePointerHover ? \"pointerenter\" : \"mouseenter\",\n onEnter\n );\n const leaveHandler = useEventListener(\n usePointerHover ? \"pointerleave\" : \"mouseleave\",\n onLeave\n );\n const startHandler = useEventListener(\n events[0],\n (e: VKUITouchEvent) => {\n gesture.current = initGesture(coordX(e), coordY(e));\n\n handle(e, [onStart, onStartX, onStartY]);\n // 1 line, 2 bad specs, 2 workarounds:\n subscribe(\n touchEnabled()\n ? // Touch events fire on initial target, and won't bubble if its removed\n // see: #235, #1968, https://stackoverflow.com/a/45760014\n (e.target as HTMLElement)\n : // Mouse events fire on the element under pointer, so we lose move / end\n // if pointer goes outside container.\n // Can be fixed by PointerEvents' setPointerCapture later\n document\n );\n },\n { capture: useCapture, passive: false }\n );\n const containerRef = useExternRef(getRootRef);\n\n useIsomorphicLayoutEffect(() => {\n const el = containerRef.current;\n if (el) {\n enterHandler.add(el);\n leaveHandler.add(el);\n startHandler.add(el);\n }\n }, [Component]);\n\n function onMove(e: VKUITouchEvent) {\n const {\n isPressed,\n isX,\n isY,\n startX = 0,\n startY = 0,\n } = gesture.current ?? {};\n\n if (isPressed) {\n // смещения\n const shiftX = coordX(e) - startX;\n const shiftY = coordY(e) - startY;\n\n // абсолютные значения смещений\n const shiftXAbs = Math.abs(shiftX);\n const shiftYAbs = Math.abs(shiftY);\n\n // Если определяем мультитач, то прерываем жест\n if (!!e.touches && e.touches.length > 1) {\n return onEnd(e);\n }\n\n // если мы ещё не определились\n if (!isX && !isY) {\n const willBeX = shiftXAbs >= slideThreshold && shiftXAbs > shiftYAbs;\n const willBeY = shiftYAbs >= slideThreshold && shiftYAbs > shiftXAbs;\n const willBeSlidedX = willBeX && (!!onMoveX || !!_onMove);\n const willBeSlidedY = willBeY && (!!onMoveY || !!_onMove);\n\n Object.assign(gesture.current, {\n isY: willBeY,\n isX: willBeX,\n isSlideX: willBeSlidedX,\n isSlideY: willBeSlidedY,\n isSlide: willBeSlidedX || willBeSlidedY,\n });\n }\n\n if (gesture.current?.isSlide) {\n Object.assign(gesture.current, {\n shiftX,\n shiftY,\n shiftXAbs,\n shiftYAbs,\n });\n\n handle(e, [\n _onMove,\n gesture.current.isSlideX && onMoveX,\n gesture.current.isSlideY && onMoveY,\n ]);\n }\n }\n }\n\n function onEnd(e: VKUITouchEvent) {\n const { isPressed, isSlide, isSlideX, isSlideY } = gesture.current ?? {};\n\n if (isPressed) {\n handle(e, [_onEnd, isSlideY && onEndY, isSlideX && onEndX]);\n }\n\n didSlide.current = Boolean(isSlide);\n gesture.current = {};\n\n // Если это был тач-евент, симулируем отмену hover\n if (touchEnabled()) {\n onLeave && onLeave(e);\n }\n unsubscribe();\n }\n\n const listenerParams = { capture: useCapture, passive: false };\n const listeners = [\n useEventListener(events[1], onMove, listenerParams),\n useEventListener(events[2], onEnd, listenerParams),\n useEventListener(events[3], onEnd, listenerParams),\n ];\n function subscribe(el: HTMLElement | Document | null | undefined) {\n if (el) {\n listeners.forEach((l) => l.add(el));\n }\n }\n function unsubscribe() {\n listeners.forEach((l) => l.remove());\n }\n\n /**\n * Обработчик событий dragstart\n * Отменяет нативное браузерное поведение для вложенных ссылок и изображений\n */\n const onDragStart = (e: React.DragEvent<HTMLElement>) => {\n const target = e.target as HTMLElement;\n if (target.tagName === \"A\" || target.tagName === \"IMG\") {\n e.preventDefault();\n }\n };\n\n /**\n * Обработчик клика по компоненту\n * Отменяет переход по вложенной ссылке, если был зафиксирован свайп\n */\n const postGestureClick: typeof onClickCapture = (e) => {\n if (!didSlide.current) {\n return onClickCapture && onClickCapture(e);\n }\n // eslint-disable-next-line no-restricted-properties\n if ((e.target as HTMLElement).closest(\"a\")) {\n e.preventDefault();\n }\n if (noSlideClick) {\n e.stopPropagation();\n } else {\n onClickCapture && onClickCapture(e);\n }\n didSlide.current = false;\n };\n\n return (\n <Component\n {...restProps}\n onDragStart={onDragStart}\n onClickCapture={postGestureClick}\n ref={containerRef}\n />\n );\n};\n\nfunction initGesture(startX: number, startY: number): Gesture {\n return {\n startX,\n startY,\n startT: new Date(),\n duration: 0,\n isPressed: true,\n isY: false,\n isX: false,\n isSlideX: false,\n isSlideY: false,\n isSlide: false,\n shiftX: 0,\n shiftY: 0,\n shiftXAbs: 0,\n shiftYAbs: 0,\n };\n}\n"],"file":"Touch.js"}
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  /**
3
3
  * Контекст для компонентов, использующих Touch в качестве корневой обёртки,
4
- * и для которых важно не предотвращать вспылие тач-событий от дочерних компонентов
4
+ * и для которых важно не предотвращать всплытие тач-событий от дочерних компонентов
5
5
  */
6
6
  declare const TouchRootContext: React.Context<boolean>;
7
7
  export default TouchRootContext;
@@ -11,7 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
 
12
12
  /**
13
13
  * Контекст для компонентов, использующих Touch в качестве корневой обёртки,
14
- * и для которых важно не предотвращать вспылие тач-событий от дочерних компонентов
14
+ * и для которых важно не предотвращать всплытие тач-событий от дочерних компонентов
15
15
  */
16
16
  var TouchRootContext = /*#__PURE__*/React.createContext(false); // eslint-disable-next-line import/no-default-export
17
17
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Touch/TouchContext.ts"],"names":["TouchRootContext","React","createContext"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA,IAAMA,gBAAwC,gBAC5CC,KAAK,CAACC,aAAN,CAA6B,KAA7B,CADF,C,CAGA;;eACeF,gB","sourcesContent":["import * as React from \"react\";\n\n/**\n * Контекст для компонентов, использующих Touch в качестве корневой обёртки,\n * и для которых важно не предотвращать вспылие тач-событий от дочерних компонентов\n */\nconst TouchRootContext: React.Context<boolean> =\n React.createContext<boolean>(false);\n\n// eslint-disable-next-line import/no-default-export\nexport default TouchRootContext;\n"],"file":"TouchContext.js"}
1
+ {"version":3,"sources":["../../../../src/components/Touch/TouchContext.ts"],"names":["TouchRootContext","React","createContext"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA,IAAMA,gBAAwC,gBAC5CC,KAAK,CAACC,aAAN,CAA6B,KAA7B,CADF,C,CAGA;;eACeF,gB","sourcesContent":["import * as React from \"react\";\n\n/**\n * Контекст для компонентов, использующих Touch в качестве корневой обёртки,\n * и для которых важно не предотвращать всплытие тач-событий от дочерних компонентов\n */\nconst TouchRootContext: React.Context<boolean> =\n React.createContext<boolean>(false);\n\n// eslint-disable-next-line import/no-default-export\nexport default TouchRootContext;\n"],"file":"TouchContext.js"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { HasComponent, HasRootRef } from "../../../types";
3
+ import "./Paragraph.css";
4
+ export interface ParagraphProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {
5
+ /**
6
+ * Задаёт начертание шрифта, отличное от стандартного.
7
+ */
8
+ weight?: "1" | "2" | "3";
9
+ }
10
+ export declare const Paragraph: React.FC<ParagraphProps>;