@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/Tooltip/Tooltip.tsx"],"names":["React","ReactDOM","classNames","getClassName","Subhead","useNavTransition","usePopper","tooltipContainerAttr","useExternRef","useDOM","warnOnce","hasReactNode","useGlobalEventListener","isDOMTypeElement","element","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","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","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":["React","ReactDOM","classNames","getClassName","Subhead","useNavTransition","usePopper","tooltipContainerAttr","useExternRef","useDOM","warnOnce","hasReactNode","useGlobalEventListener","isDOMTypeElement","element","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","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","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"}
@@ -43,9 +43,9 @@ export var Touch = function Touch(_ref) {
43
43
  var didSlide = React.useRef(false);
44
44
  var gesture = React.useRef(null);
45
45
 
46
- var handle = function handle(e, handers) {
46
+ var handle = function handle(e, handlers) {
47
47
  stopPropagation && e.stopPropagation();
48
- handers.forEach(function (cb) {
48
+ handlers.forEach(function (cb) {
49
49
  var _gesture$current$star, _gesture$current, _gesture$current$star2;
50
50
 
51
51
  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);
@@ -156,7 +156,7 @@ export var Touch = function Touch(_ref) {
156
156
  onLeave && onLeave(e);
157
157
  }
158
158
 
159
- subscribe(null);
159
+ unsubscribe();
160
160
  }
161
161
 
162
162
  var listenerParams = {
@@ -172,6 +172,12 @@ export var Touch = function Touch(_ref) {
172
172
  });
173
173
  }
174
174
  }
175
+
176
+ function unsubscribe() {
177
+ listeners.forEach(function (l) {
178
+ return l.remove();
179
+ });
180
+ }
175
181
  /**
176
182
  * Обработчик событий dragstart
177
183
  * Отменяет нативное браузерное поведение для вложенных ссылок и изображений
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Touch/Touch.tsx"],"names":["React","getSupportedEvents","coordX","coordY","touchEnabled","useDOM","useExternRef","useEventListener","useIsomorphicLayoutEffect","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","useMemo","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":["React","getSupportedEvents","coordX","coordY","touchEnabled","useDOM","useExternRef","useEventListener","useIsomorphicLayoutEffect","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","useMemo","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":"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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 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;
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  /**
3
3
  * Контекст для компонентов, использующих Touch в качестве корневой обёртки,
4
- * и для которых важно не предотвращать вспылие тач-событий от дочерних компонентов
4
+ * и для которых важно не предотвращать всплытие тач-событий от дочерних компонентов
5
5
  */
6
6
 
7
7
  var TouchRootContext = /*#__PURE__*/React.createContext(false); // eslint-disable-next-line import/no-default-export
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Touch/TouchContext.ts"],"names":["React","TouchRootContext","createContext"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;AACA;;AACA,IAAMC,gBAAwC,gBAC5CD,KAAK,CAACE,aAAN,CAA6B,KAA7B,CADF,C,CAGA;;AACA,eAAeD,gBAAf","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":["React","TouchRootContext","createContext"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;AACA;;AACA,IAAMC,gBAAwC,gBAC5CD,KAAK,CAACE,aAAN,CAA6B,KAA7B,CADF,C,CAGA;;AACA,eAAeD,gBAAf","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 +1 @@
1
- .vkuiCaption{display:block;margin:0}.vkuiCaption--caps{text-transform:uppercase}.vkuiCaption--l-1{font-size:13px;font-size:var(--vkui--font_footnote--font_size--regular);line-height:16px;line-height:var(--vkui--font_footnote--line_height--regular);font-weight:400;font-weight:var(--vkui--font_footnote--font_weight--regular)}.vkuiCaption--l-1.vkuiCaption--caps{font-size:13px;font-size:var(--vkui--font_footnote_caps--font_size--regular);line-height:16px;line-height:var(--vkui--font_footnote_caps--line_height--regular);font-weight:400;font-weight:var(--vkui--font_footnote_caps--font_weight--regular)}.vkuiCaption--l-2{font-size:12px;font-size:var(--vkui--font_caption1--font_size--regular);line-height:14px;line-height:var(--vkui--font_caption1--line_height--regular);font-weight:400;font-weight:var(--vkui--font_caption1--font_weight--regular)}.vkuiCaption--l-2.vkuiCaption--caps{font-size:12px;font-size:var(--vkui--font_caption1_caps--font_size--regular);line-height:14px;line-height:var(--vkui--font_caption1_caps--line_height--regular);font-weight:600;font-weight:var(--vkui--font_caption1_caps--font_weight--regular)}.vkuiCaption--l-3{font-size:11px;font-size:var(--vkui--font_caption2--font_size--regular);line-height:14px;line-height:var(--vkui--font_caption2--line_height--regular);font-weight:400;font-weight:var(--vkui--font_caption2--font_weight--regular)}.vkuiCaption--l-3.vkuiCaption--caps{font-size:11px;font-size:var(--vkui--font_caption2_caps--font_size--regular);line-height:14px;line-height:var(--vkui--font_caption2_caps--line_height--regular);font-weight:600;font-weight:var(--vkui--font_caption2_caps--font_weight--regular)}.vkuiCaption--l-4{font-size:9px;font-size:var(--vkui--font_caption3--font_size--regular);line-height:12px;line-height:var(--vkui--font_caption3--line_height--regular);font-weight:400;font-weight:var(--vkui--font_caption3--font_weight--regular)}.vkuiCaption--l-4.vkuiCaption--caps{font-size:9px;font-size:var(--vkui--font_caption3_caps--font_size--regular);line-height:12px;line-height:var(--vkui--font_caption3_caps--line_height--regular);font-weight:600;font-weight:var(--vkui--font_caption3_caps--font_weight--regular)}.vkuiCaption.vkuiCaption--w-1{font-weight:600;font-weight:var(--vkui--font_weight_accent1)}.vkuiCaption.vkuiCaption--w-2{font-weight:500;font-weight:var(--vkui--font_weight_accent2)}.vkuiCaption.vkuiCaption--w-3{font-weight:400;font-weight:var(--vkui--font_weight_accent3)}.vkuiCaption--w-regular{font-weight:400}.vkuiCaption--w-medium{font-weight:500}.vkuiCaption--w-semibold{font-weight:600}.vkuiCaption--w-bold{font-weight:700}
1
+ .vkuiCaption{display:block;margin:0}.vkuiCaption--caps{text-transform:uppercase}.vkuiCaption--l-1{font-size:13px;font-size:var(--vkui--font_footnote--font_size--regular);line-height:16px;line-height:var(--vkui--font_footnote--line_height--regular);font-weight:400;font-weight:var(--vkui--font_footnote--font_weight--regular)}.vkuiCaption--l-1.vkuiCaption--caps{font-size:13px;font-size:var(--vkui--font_footnote_caps--font_size--regular);line-height:16px;line-height:var(--vkui--font_footnote_caps--line_height--regular);font-weight:400;font-weight:var(--vkui--font_footnote_caps--font_weight--regular)}.vkuiCaption--l-2{font-size:12px;font-size:var(--vkui--font_caption1--font_size--regular);line-height:14px;line-height:var(--vkui--font_caption1--line_height--regular);font-weight:400;font-weight:var(--vkui--font_caption1--font_weight--regular)}.vkuiCaption--l-2.vkuiCaption--caps{font-size:12px;font-size:var(--vkui--font_caption1_caps--font_size--regular);line-height:14px;line-height:var(--vkui--font_caption1_caps--line_height--regular);font-weight:600;font-weight:var(--vkui--font_caption1_caps--font_weight--regular)}.vkuiCaption--l-3{font-size:11px;font-size:var(--vkui--font_caption2--font_size--regular);line-height:14px;line-height:var(--vkui--font_caption2--line_height--regular);font-weight:400;font-weight:var(--vkui--font_caption2--font_weight--regular);letter-spacing:var(--vk-sans-ls07)}.vkuiCaption--l-3.vkuiCaption--caps{font-size:11px;font-size:var(--vkui--font_caption2_caps--font_size--regular);line-height:14px;line-height:var(--vkui--font_caption2_caps--line_height--regular);font-weight:600;font-weight:var(--vkui--font_caption2_caps--font_weight--regular);letter-spacing:var(--vk-sans-ls07)}.vkuiCaption--l-4{font-size:9px;font-size:var(--vkui--font_caption3--font_size--regular);line-height:12px;line-height:var(--vkui--font_caption3--line_height--regular);font-weight:400;font-weight:var(--vkui--font_caption3--font_weight--regular);letter-spacing:var(--vk-sans-ls2)}.vkuiCaption--l-4.vkuiCaption--caps{font-size:9px;font-size:var(--vkui--font_caption3_caps--font_size--regular);line-height:12px;line-height:var(--vkui--font_caption3_caps--line_height--regular);font-weight:600;font-weight:var(--vkui--font_caption3_caps--font_weight--regular);letter-spacing:var(--vk-sans-ls2)}.vkuiCaption.vkuiCaption--w-1{font-weight:600;font-weight:var(--vkui--font_weight_accent1)}.vkuiCaption.vkuiCaption--w-2{font-weight:500;font-weight:var(--vkui--font_weight_accent2)}.vkuiCaption.vkuiCaption--w-3{font-weight:400;font-weight:var(--vkui--font_weight_accent3)}.vkuiCaption--w-regular{font-weight:400}.vkuiCaption--w-medium{font-weight:500}.vkuiCaption--w-semibold{font-weight:600}.vkuiCaption--w-bold{font-weight:700}
@@ -1 +1 @@
1
- .vkuiHeadline{display:block;margin:0;font-size:16px;line-height:20px}.vkuiHeadline--w-regular{font-weight:400}.vkuiHeadline--w-medium{font-weight:500}.vkuiHeadline--w-semibold{font-weight:600}.vkuiHeadline--android.vkuiHeadline--w-semibold{font-weight:500}
1
+ .vkuiHeadline{display:block;margin:0;font-size:16px;line-height:20px;letter-spacing:var(--vk-sans-ls-2)}.vkuiHeadline--w-regular{font-weight:400}.vkuiHeadline--w-medium{font-weight:500}.vkuiHeadline--w-semibold{font-weight:600}.vkuiHeadline--android.vkuiHeadline--w-semibold{font-weight:500}
@@ -0,0 +1 @@
1
+ .vkuiParagraph{font-size:15px;font-size:var(--vkui--font_paragraph--font_size--regular);line-height:20px;line-height:var(--vkui--font_paragraph--line_height--regular);font-weight:400;font-weight:var(--vkui--font_paragraph--font_weight--regular);letter-spacing:var(--vk-sans-ls-17)}.vkuiParagraph--w-1{font-weight:600;font-weight:var(--vkui--font_weight_accent1)}.vkuiParagraph--w-2{font-weight:500;font-weight:var(--vkui--font_weight_accent2)}.vkuiParagraph--w-3{font-weight:400;font-weight:var(--vkui--font_weight_accent3)}
@@ -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>;
@@ -0,0 +1,26 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["Component", "getRootRef", "weight", "children"];
4
+ import { createScopedElement } from "../../../lib/jsxRuntime";
5
+ import { classNames } from "../../../lib/classNames";
6
+ import { warnOnce } from "../../../lib/warnOnce";
7
+ import "./Paragraph.css";
8
+ var warn = warnOnce("Paragraph");
9
+ export var Paragraph = function Paragraph(_ref) {
10
+ var _ref$Component = _ref.Component,
11
+ Component = _ref$Component === void 0 ? "span" : _ref$Component,
12
+ getRootRef = _ref.getRootRef,
13
+ weight = _ref.weight,
14
+ children = _ref.children,
15
+ restProps = _objectWithoutProperties(_ref, _excluded);
16
+
17
+ if (process.env.NODE_ENV === "development" && typeof Component !== "string" && getRootRef) {
18
+ warn("getRootRef может использоваться только с элементами DOM", "error");
19
+ }
20
+
21
+ return createScopedElement(Component, _extends({}, restProps, {
22
+ ref: getRootRef,
23
+ vkuiClass: classNames("Paragraph", weight && "Paragraph--w-".concat(weight))
24
+ }), children);
25
+ };
26
+ //# sourceMappingURL=Paragraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Typography/Paragraph/Paragraph.tsx"],"names":["classNames","warnOnce","warn","Paragraph","Component","getRootRef","weight","children","restProps","process","env","NODE_ENV"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,QAAT;AAEA;AAYA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,WAAD,CAArB;AACA,OAAO,IAAME,SAAmC,GAAG,SAAtCA,SAAsC,OAM7C;AAAA,4BALJC,SAKI;AAAA,MALJA,SAKI,+BALQ,MAKR;AAAA,MAJJC,UAII,QAJJA,UAII;AAAA,MAHJC,MAGI,QAHJA,MAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADDC,SACC;;AACJ,MACEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,OAAOP,SAAP,KAAqB,QADrB,IAEAC,UAHF,EAIE;AACAH,IAAAA,IAAI,CAAC,yDAAD,EAA4D,OAA5D,CAAJ;AACD;;AAED,SACE,oBAAC,SAAD,eACMM,SADN;AAEE,IAAA,GAAG,EAAEH,UAFP;AAGE,IAAA,SAAS,EAAEL,UAAU,CAAC,WAAD,EAAcM,MAAM,2BAAoBA,MAApB,CAApB;AAHvB,MAKGC,QALH,CADF;AASD,CAxBM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport { HasComponent, HasRootRef } from \"../../../types\";\nimport \"./Paragraph.css\";\n\nexport interface ParagraphProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n /**\n * Задаёт начертание шрифта, отличное от стандартного.\n */\n weight?: \"1\" | \"2\" | \"3\";\n}\n\nconst warn = warnOnce(\"Paragraph\");\nexport const Paragraph: React.FC<ParagraphProps> = ({\n Component = \"span\",\n getRootRef,\n weight,\n children,\n ...restProps\n}) => {\n if (\n process.env.NODE_ENV === \"development\" &&\n typeof Component !== \"string\" &&\n getRootRef\n ) {\n warn(\"getRootRef может использоваться только с элементами DOM\", \"error\");\n }\n\n return (\n <Component\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\"Paragraph\", weight && `Paragraph--w-${weight}`)}\n >\n {children}\n </Component>\n );\n};\n"],"file":"Paragraph.js"}
@@ -1 +1 @@
1
- .vkuiSubhead{margin:0;font-size:14px;font-size:var(--vkui--font_subhead--font_size--regular);line-height:18px;line-height:var(--vkui--font_subhead--line_height--regular);font-weight:400;font-weight:var(--vkui--font_subhead--font_weight--regular)}.vkuiSubhead--sizeY-compact{font-size:13px;font-size:var(--vkui--font_subhead--font_size--compact);line-height:16px;line-height:var(--vkui--font_subhead--line_height--compact)}.vkuiSubhead--w-regular{font-weight:400}.vkuiSubhead--w-medium{font-weight:500}.vkuiSubhead--w-semibold{font-weight:600}.vkuiSubhead--w-bold{font-weight:700}.vkuiSubhead--w-1{font-weight:600;font-weight:var(--vkui--font_weight_accent1)}.vkuiSubhead--w-2{font-weight:500;font-weight:var(--vkui--font_weight_accent2)}.vkuiSubhead--w-3{font-weight:400;font-weight:var(--vkui--font_weight_accent3)}
1
+ .vkuiSubhead{margin:0;font-size:14px;font-size:var(--vkui--font_subhead--font_size--regular);line-height:18px;line-height:var(--vkui--font_subhead--line_height--regular);font-weight:400;font-weight:var(--vkui--font_subhead--font_weight--regular);letter-spacing:var(--vk-sans-ls-1)}.vkuiSubhead--sizeY-compact{font-size:13px;font-size:var(--vkui--font_subhead--font_size--compact);line-height:16px;line-height:var(--vkui--font_subhead--line_height--compact)}.vkuiSubhead--w-regular{font-weight:400}.vkuiSubhead--w-medium{font-weight:500}.vkuiSubhead--w-semibold{font-weight:600}.vkuiSubhead--w-bold{font-weight:700}.vkuiSubhead--w-1{font-weight:600;font-weight:var(--vkui--font_weight_accent1)}.vkuiSubhead--w-2{font-weight:500;font-weight:var(--vkui--font_weight_accent2)}.vkuiSubhead--w-3{font-weight:400;font-weight:var(--vkui--font_weight_accent3)}
@@ -9,5 +9,4 @@ export interface SubheadProps extends React.AllHTMLAttributes<HTMLElement>, HasC
9
9
  */
10
10
  weight?: "regular" | "medium" | "semibold" | "bold" | "1" | "2" | "3";
11
11
  }
12
- declare const Subhead: React.FC<SubheadProps>;
13
- export default Subhead;
12
+ export declare const Subhead: React.FC<SubheadProps>;
@@ -7,8 +7,7 @@ import { warnOnce } from "../../../lib/warnOnce";
7
7
  import { useAdaptivity } from "../../../hooks/useAdaptivity";
8
8
  import "./Subhead.css";
9
9
  var warn = warnOnce("Subhead");
10
-
11
- var Subhead = function Subhead(_ref) {
10
+ export var Subhead = function Subhead(_ref) {
12
11
  var children = _ref.children,
13
12
  weight = _ref.weight,
14
13
  _ref$Component = _ref.Component,
@@ -23,10 +22,7 @@ var Subhead = function Subhead(_ref) {
23
22
  }
24
23
 
25
24
  return createScopedElement(Component, _extends({}, restProps, {
26
- vkuiClass: classNames("Subhead", "Subhead--sizeY-".concat(sizeY), "Subhead--w-".concat(weight))
25
+ vkuiClass: classNames("Subhead", "Subhead--sizeY-".concat(sizeY), weight && "Subhead--w-".concat(weight))
27
26
  }), children);
28
- }; // eslint-disable-next-line import/no-default-export
29
-
30
-
31
- export default Subhead;
27
+ };
32
28
  //# sourceMappingURL=Subhead.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Typography/Subhead/Subhead.tsx"],"names":["classNames","warnOnce","useAdaptivity","warn","Subhead","children","weight","Component","restProps","sizeY","process","env","NODE_ENV","includes"],"mappings":";;;;AAEA,SAASA,UAAT;AACA,SAASC,QAAT;AACA,SAASC,aAAT;AACA;AAaA,IAAMC,IAAI,GAAGF,QAAQ,CAAC,SAAD,CAArB;;AAEA,IAAMG,OAA+B,GAAG,SAAlCA,OAAkC,OAKpB;AAAA,MAJlBC,QAIkB,QAJlBA,QAIkB;AAAA,MAHlBC,MAGkB,QAHlBA,MAGkB;AAAA,4BAFlBC,SAEkB;AAAA,MAFlBA,SAEkB,+BAFN,IAEM;AAAA,MADfC,SACe;;AAClB,uBAAkBN,aAAa,EAA/B;AAAA,MAAQO,KAAR,kBAAQA,KAAR;;AAEA,MAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,QACEN,MAAM,IACN,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,QAA9B,EAAwC,SAAxC,EAAmDO,QAAnD,CAA4DP,MAA5D,CAFF,EAIEH,IAAI,iFACoBG,MADpB,sSAAJ;AAGH;;AAED,SACE,oBAAC,SAAD,eACME,SADN;AAEE,IAAA,SAAS,EAAER,UAAU,CACnB,SADmB,2BAEDS,KAFC,wBAGLH,MAHK;AAFvB,MAQGD,QARH,CADF;AAYD,CA9BD,C,CAgCA;;;AACA,eAAeD,OAAf","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../../types\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport { useAdaptivity } from \"../../../hooks/useAdaptivity\";\nimport \"./Subhead.css\";\n\nexport interface SubheadProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasComponent {\n /**\n * Задаёт начертание шрифта отличное от стандартного.\n *\n * > ⚠️ Начертания `\"semibold\"`, `medium` и `\"regular\"` устарели и будут удалены в 5.0.0. Используйте значения `\"1\"`, `\"2\"` и `\"3\"`.\n */\n weight?: \"regular\" | \"medium\" | \"semibold\" | \"bold\" | \"1\" | \"2\" | \"3\";\n}\n\nconst warn = warnOnce(\"Subhead\");\n\nconst Subhead: React.FC<SubheadProps> = ({\n children,\n weight,\n Component = \"h5\",\n ...restProps\n}: SubheadProps) => {\n const { sizeY } = useAdaptivity();\n\n if (process.env.NODE_ENV === \"development\") {\n if (\n weight &&\n [\"heavy\", \"bold\", \"semibold\", \"medium\", \"regular\"].includes(weight)\n )\n warn(\n `Начертание weight=\"${weight}\" устарело и будет удалено в 5.0.0. Используйте значения \"1\", \"2\" и \"3\"`\n );\n }\n\n return (\n <Component\n {...restProps}\n vkuiClass={classNames(\n \"Subhead\",\n `Subhead--sizeY-${sizeY}`,\n `Subhead--w-${weight}`\n )}\n >\n {children}\n </Component>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Subhead;\n"],"file":"Subhead.js"}
1
+ {"version":3,"sources":["../../../../../src/components/Typography/Subhead/Subhead.tsx"],"names":["classNames","warnOnce","useAdaptivity","warn","Subhead","children","weight","Component","restProps","sizeY","process","env","NODE_ENV","includes"],"mappings":";;;;AAEA,SAASA,UAAT;AACA,SAASC,QAAT;AACA,SAASC,aAAT;AACA;AAaA,IAAMC,IAAI,GAAGF,QAAQ,CAAC,SAAD,CAArB;AACA,OAAO,IAAMG,OAA+B,GAAG,SAAlCA,OAAkC,OAKzC;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,MAGI,QAHJA,MAGI;AAAA,4BAFJC,SAEI;AAAA,MAFJA,SAEI,+BAFQ,IAER;AAAA,MADDC,SACC;;AACJ,uBAAkBN,aAAa,EAA/B;AAAA,MAAQO,KAAR,kBAAQA,KAAR;;AAEA,MAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,QACEN,MAAM,IACN,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,QAA9B,EAAwC,SAAxC,EAAmDO,QAAnD,CAA4DP,MAA5D,CAFF,EAIEH,IAAI,iFACoBG,MADpB,sSAAJ;AAGH;;AAED,SACE,oBAAC,SAAD,eACME,SADN;AAEE,IAAA,SAAS,EAAER,UAAU,CACnB,SADmB,2BAEDS,KAFC,GAGnBH,MAAM,yBAAkBA,MAAlB,CAHa;AAFvB,MAQGD,QARH,CADF;AAYD,CA9BM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../../types\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport { useAdaptivity } from \"../../../hooks/useAdaptivity\";\nimport \"./Subhead.css\";\n\nexport interface SubheadProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasComponent {\n /**\n * Задаёт начертание шрифта отличное от стандартного.\n *\n * > ⚠️ Начертания `\"semibold\"`, `medium` и `\"regular\"` устарели и будут удалены в 5.0.0. Используйте значения `\"1\"`, `\"2\"` и `\"3\"`.\n */\n weight?: \"regular\" | \"medium\" | \"semibold\" | \"bold\" | \"1\" | \"2\" | \"3\";\n}\n\nconst warn = warnOnce(\"Subhead\");\nexport const Subhead: React.FC<SubheadProps> = ({\n children,\n weight,\n Component = \"h5\",\n ...restProps\n}) => {\n const { sizeY } = useAdaptivity();\n\n if (process.env.NODE_ENV === \"development\") {\n if (\n weight &&\n [\"heavy\", \"bold\", \"semibold\", \"medium\", \"regular\"].includes(weight)\n )\n warn(\n `Начертание weight=\"${weight}\" устарело и будет удалено в 5.0.0. Используйте значения \"1\", \"2\" и \"3\"`\n );\n }\n\n return (\n <Component\n {...restProps}\n vkuiClass={classNames(\n \"Subhead\",\n `Subhead--sizeY-${sizeY}`,\n weight && `Subhead--w-${weight}`\n )}\n >\n {children}\n </Component>\n );\n};\n"],"file":"Subhead.js"}
@@ -1 +1 @@
1
- .vkuiText{display:block;margin:0;font-size:15px;line-height:20px}.vkuiText--w-regular{font-weight:400}.vkuiText--w-medium{font-weight:500}.vkuiText--w-semibold{font-weight:600}.vkuiText--android.vkuiText--w-semibold{font-weight:500}
1
+ .vkuiText{display:block;margin:0;font-size:15px;line-height:20px;letter-spacing:var(--vk-sans-ls-17)}.vkuiText--w-regular{font-weight:400}.vkuiText--w-medium{font-weight:500}.vkuiText--w-semibold{font-weight:600}.vkuiText--android.vkuiText--w-semibold{font-weight:500}
@@ -21,7 +21,7 @@ var Text = function Text(_ref) {
21
21
  var platform = usePlatform();
22
22
 
23
23
  if (process.env.NODE_ENV === "development" && typeof Component !== "string" && getRootRef) {
24
- warn("getRootRef can only be used with DOM components");
24
+ warn("\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E \"getRootRef\" \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0441 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430\u043C\u0438 DOM", "error");
25
25
  }
26
26
 
27
27
  return createScopedElement(Component, _extends({}, restProps, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Typography/Text/Text.tsx"],"names":["usePlatform","classNames","getClassName","warnOnce","warn","Text","children","weight","Component","getRootRef","restProps","platform","process","env","NODE_ENV"],"mappings":";;;;AACA,SAASA,WAAT;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AAEA,SAASC,QAAT;AACA;AASA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,MAAD,CAArB;;AACA,IAAME,IAAyB,GAAG,SAA5BA,IAA4B,OAMjB;AAAA,MALfC,QAKe,QALfA,QAKe;AAAA,yBAJfC,MAIe;AAAA,MAJfA,MAIe,4BAJN,SAIM;AAAA,4BAHfC,SAGe;AAAA,MAHfA,SAGe,+BAHH,MAGG;AAAA,MAFfC,UAEe,QAFfA,UAEe;AAAA,MADZC,SACY;;AACf,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;;AAEA,MACEY,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,OAAON,SAAP,KAAqB,QADrB,IAEAC,UAHF,EAIE;AACAL,IAAAA,IAAI,CAAC,iDAAD,CAAJ;AACD;;AAED,SACE,oBAAC,SAAD,eACMM,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAER,UAAU,CACnBC,YAAY,CAAC,MAAD,EAASS,QAAT,CADO,oBAERJ,MAFQ;AAHvB,MAQGD,QARH,CADF;AAYD,CA7BD,C,CA+BA;;;AACA,eAAeD,IAAf","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../../hooks/usePlatform\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { getClassName } from \"../../../helpers/getClassName\";\nimport { HasComponent, HasRootRef } from \"../../../types\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport \"./Text.css\";\n\nexport interface TextProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n weight: \"regular\" | \"medium\" | \"semibold\";\n}\n\nconst warn = warnOnce(\"Text\");\nconst Text: React.FC<TextProps> = ({\n children,\n weight = \"regular\",\n Component = \"span\",\n getRootRef,\n ...restProps\n}: TextProps) => {\n const platform = usePlatform();\n\n if (\n process.env.NODE_ENV === \"development\" &&\n typeof Component !== \"string\" &&\n getRootRef\n ) {\n warn(\"getRootRef can only be used with DOM components\");\n }\n\n return (\n <Component\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Text\", platform),\n `Text--w-${weight}`\n )}\n >\n {children}\n </Component>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Text;\n"],"file":"Text.js"}
1
+ {"version":3,"sources":["../../../../../src/components/Typography/Text/Text.tsx"],"names":["usePlatform","classNames","getClassName","warnOnce","warn","Text","children","weight","Component","getRootRef","restProps","platform","process","env","NODE_ENV"],"mappings":";;;;AACA,SAASA,WAAT;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AAEA,SAASC,QAAT;AACA;AASA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,MAAD,CAArB;;AACA,IAAME,IAAyB,GAAG,SAA5BA,IAA4B,OAMjB;AAAA,MALfC,QAKe,QALfA,QAKe;AAAA,yBAJfC,MAIe;AAAA,MAJfA,MAIe,4BAJN,SAIM;AAAA,4BAHfC,SAGe;AAAA,MAHfA,SAGe,+BAHH,MAGG;AAAA,MAFfC,UAEe,QAFfA,UAEe;AAAA,MADZC,SACY;;AACf,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;;AAEA,MACEY,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,OAAON,SAAP,KAAqB,QADrB,IAEAC,UAHF,EAIE;AACAL,IAAAA,IAAI,iTAEF,OAFE,CAAJ;AAID;;AAED,SACE,oBAAC,SAAD,eACMM,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAER,UAAU,CACnBC,YAAY,CAAC,MAAD,EAASS,QAAT,CADO,oBAERJ,MAFQ;AAHvB,MAQGD,QARH,CADF;AAYD,CAhCD,C,CAkCA;;;AACA,eAAeD,IAAf","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../../hooks/usePlatform\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { getClassName } from \"../../../helpers/getClassName\";\nimport { HasComponent, HasRootRef } from \"../../../types\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport \"./Text.css\";\n\nexport interface TextProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n weight: \"regular\" | \"medium\" | \"semibold\";\n}\n\nconst warn = warnOnce(\"Text\");\nconst Text: React.FC<TextProps> = ({\n children,\n weight = \"regular\",\n Component = \"span\",\n getRootRef,\n ...restProps\n}: TextProps) => {\n const platform = usePlatform();\n\n if (\n process.env.NODE_ENV === \"development\" &&\n typeof Component !== \"string\" &&\n getRootRef\n ) {\n warn(\n `Свойство \"getRootRef\" может использоваться только с компонентами DOM`,\n \"error\"\n );\n }\n\n return (\n <Component\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Text\", platform),\n `Text--w-${weight}`\n )}\n >\n {children}\n </Component>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Text;\n"],"file":"Text.js"}
@@ -1 +1 @@
1
- .vkuiTitle{display:block;margin:0}.vkuiTitle--l-1{font-size:24px;font-size:var(--vkui--font_title1--font_size--regular);line-height:28px;line-height:var(--vkui--font_title1--line_height--regular);font-weight:600;font-weight:var(--vkui--font_title1--font_weight--regular)}.vkuiTitle--l-2{font-size:20px;font-size:var(--vkui--font_title2--font_size--regular);line-height:24px;line-height:var(--vkui--font_title2--line_height--regular);font-weight:600;font-weight:var(--vkui--font_title2--font_weight--regular)}.vkuiTitle--l-3{font-size:17px;font-size:var(--vkui--font_title3--font_size--regular);line-height:22px;line-height:var(--vkui--font_title3--line_height--regular);font-weight:600;font-weight:var(--vkui--font_title3--font_weight--regular)}.vkuiTitle--w-regular{font-weight:400}.vkuiTitle--w-medium{font-weight:500}.vkuiTitle--w-semibold{font-weight:600}.vkuiTitle--w-bold{font-weight:700}.vkuiTitle--w-heavy{font-weight:800}.vkuiTitle--w-1{font-weight:600;font-weight:var(--vkui--font_weight_accent1)}.vkuiTitle--w-2{font-weight:500;font-weight:var(--vkui--font_weight_accent2)}.vkuiTitle--w-3{font-weight:400;font-weight:var(--vkui--font_weight_accent3)}
1
+ .vkuiTitle{display:block;margin:0}.vkuiTitle--l-1{font-size:24px;font-size:var(--vkui--font_title1--font_size--regular);line-height:28px;line-height:var(--vkui--font_title1--line_height--regular);font-weight:600;font-weight:var(--vkui--font_title1--font_weight--regular);letter-spacing:var(--vk-sans-ls-25)}.vkuiTitle--l-2{font-size:20px;font-size:var(--vkui--font_title2--font_size--regular);line-height:24px;line-height:var(--vkui--font_title2--line_height--regular);font-weight:600;font-weight:var(--vkui--font_title2--font_weight--regular);letter-spacing:var(--vk-sans-ls-35)}.vkuiTitle--l-3{font-size:17px;font-size:var(--vkui--font_title3--font_size--regular);line-height:22px;line-height:var(--vkui--font_title3--line_height--regular);font-weight:600;font-weight:var(--vkui--font_title3--font_weight--regular);letter-spacing:var(--vk-sans-ls-25)}.vkuiTitle--w-regular{font-weight:400}.vkuiTitle--w-medium{font-weight:500}.vkuiTitle--w-semibold{font-weight:600}.vkuiTitle--w-bold{font-weight:700}.vkuiTitle--w-heavy{font-weight:800}.vkuiTitle--w-1{font-weight:600;font-weight:var(--vkui--font_weight_accent1)}.vkuiTitle--w-2{font-weight:500;font-weight:var(--vkui--font_weight_accent2)}.vkuiTitle--w-3{font-weight:400;font-weight:var(--vkui--font_weight_accent3)}
@@ -10,5 +10,4 @@ export interface TitleProps extends React.AllHTMLAttributes<HTMLElement>, HasCom
10
10
  weight?: "heavy" | "bold" | "semibold" | "medium" | "regular" | "1" | "2" | "3";
11
11
  level: "1" | "2" | "3";
12
12
  }
13
- declare const Title: React.FC<TitleProps>;
14
- export default Title;
13
+ export declare const Title: React.FC<TitleProps>;
@@ -1,15 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
3
  var _excluded = ["children", "weight", "level", "Component"];
5
4
  import { createScopedElement } from "../../../lib/jsxRuntime";
6
5
  import { classNames } from "../../../lib/classNames";
7
6
  import { warnOnce } from "../../../lib/warnOnce";
8
- import { resolveWeight } from "../../../helpers/typography";
9
7
  import "./Title.css";
10
8
  var warn = warnOnce("Title");
11
-
12
- var Title = function Title(_ref) {
9
+ export var Title = function Title(_ref) {
13
10
  var children = _ref.children,
14
11
  weight = _ref.weight,
15
12
  _ref$level = _ref.level,
@@ -26,10 +23,7 @@ var Title = function Title(_ref) {
26
23
  }
27
24
 
28
25
  return createScopedElement(Component, _extends({}, restProps, {
29
- vkuiClass: classNames("Title", "Title--l-".concat(level), _defineProperty({}, "Title--w-".concat(resolveWeight(weight)), !!weight))
26
+ vkuiClass: classNames("Title", "Title--l-".concat(level), weight && "Title--w-".concat(weight))
30
27
  }), children);
31
- }; // eslint-disable-next-line import/no-default-export
32
-
33
-
34
- export default Title;
28
+ };
35
29
  //# sourceMappingURL=Title.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Typography/Title/Title.tsx"],"names":["classNames","warnOnce","resolveWeight","warn","Title","children","weight","level","Component","restProps","process","env","NODE_ENV","includes"],"mappings":";;;;;AAEA,SAASA,UAAT;AACA,SAASC,QAAT;AACA,SAASC,aAAT;AACA;AAsBA,IAAMC,IAAI,GAAGF,QAAQ,CAAC,OAAD,CAArB;;AAEA,IAAMG,KAA2B,GAAG,SAA9BA,KAA8B,OAMlB;AAAA,MALhBC,QAKgB,QALhBA,QAKgB;AAAA,MAJhBC,MAIgB,QAJhBA,MAIgB;AAAA,wBAHhBC,KAGgB;AAAA,MAHhBA,KAGgB,2BAHR,GAGQ;AAAA,MAFhBC,SAEgB,QAFhBA,SAEgB;AAAA,MADbC,SACa;;AAChB,MAAI,CAACD,SAAL,EAAgB;AACdA,IAAAA,SAAS,GAAI,MAAMD,KAAnB;AACD;;AAED,MAAIG,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,QACEN,MAAM,IACN,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,QAA9B,EAAwC,SAAxC,EAAmDO,QAAnD,CAA4DP,MAA5D,CAFF,EAIEH,IAAI,iFACoBG,MADpB,sSAAJ;AAGH;;AAED,SACE,oBAAC,SAAD,eACMG,SADN;AAEE,IAAA,SAAS,EAAET,UAAU,CAAC,OAAD,qBAAsBO,KAAtB,0CACNL,aAAa,CAACI,MAAD,CADP,GACoB,CAAC,CAACA,MADtB;AAFvB,MAMGD,QANH,CADF;AAUD,CA/BD,C,CAiCA;;;AACA,eAAeD,KAAf","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../../types\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport { resolveWeight } from \"../../../helpers/typography\";\nimport \"./Title.css\";\n\nexport interface TitleProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasComponent {\n /**\n * Задаёт начертание шрифта отличное от стандартного.\n *\n * > ⚠️ Начертания `\"heavy\"`, `\"bold\"`, `\"semibold\"`, `medium` и `\"regular\"` устарели и будут удалены в 5.0.0. Используйте значения `\"1\"`, `\"2\"` и `\"3\"`.\n */\n weight?:\n | \"heavy\"\n | \"bold\"\n | \"semibold\"\n | \"medium\"\n | \"regular\"\n | \"1\"\n | \"2\"\n | \"3\";\n level: \"1\" | \"2\" | \"3\";\n}\n\nconst warn = warnOnce(\"Title\");\n\nconst Title: React.FC<TitleProps> = ({\n children,\n weight,\n level = \"1\",\n Component,\n ...restProps\n}: TitleProps) => {\n if (!Component) {\n Component = (\"h\" + level) as React.ElementType;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (\n weight &&\n [\"heavy\", \"bold\", \"semibold\", \"medium\", \"regular\"].includes(weight)\n )\n warn(\n `Начертание weight=\"${weight}\" устарело и будет удалено в 5.0.0. Используйте значения \"1\", \"2\" и \"3\"`\n );\n }\n\n return (\n <Component\n {...restProps}\n vkuiClass={classNames(\"Title\", `Title--l-${level}`, {\n [`Title--w-${resolveWeight(weight)}`]: !!weight,\n })}\n >\n {children}\n </Component>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Title;\n"],"file":"Title.js"}
1
+ {"version":3,"sources":["../../../../../src/components/Typography/Title/Title.tsx"],"names":["classNames","warnOnce","warn","Title","children","weight","level","Component","restProps","process","env","NODE_ENV","includes"],"mappings":";;;;AAEA,SAASA,UAAT;AACA,SAASC,QAAT;AACA;AAsBA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,OAAD,CAArB;AACA,OAAO,IAAME,KAA2B,GAAG,SAA9BA,KAA8B,OAMrC;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,MAII,QAJJA,MAII;AAAA,wBAHJC,KAGI;AAAA,MAHJA,KAGI,2BAHI,GAGJ;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADDC,SACC;;AACJ,MAAI,CAACD,SAAL,EAAgB;AACdA,IAAAA,SAAS,GAAI,MAAMD,KAAnB;AACD;;AAED,MAAIG,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,QACEN,MAAM,IACN,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,QAA9B,EAAwC,SAAxC,EAAmDO,QAAnD,CAA4DP,MAA5D,CAFF,EAIEH,IAAI,iFACoBG,MADpB,sSAAJ;AAGH;;AAED,SACE,oBAAC,SAAD,eACMG,SADN;AAEE,IAAA,SAAS,EAAER,UAAU,CACnB,OADmB,qBAEPM,KAFO,GAGnBD,MAAM,uBAAgBA,MAAhB,CAHa;AAFvB,MAQGD,QARH,CADF;AAYD,CAjCM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../../types\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport \"./Title.css\";\n\nexport interface TitleProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasComponent {\n /**\n * Задаёт начертание шрифта отличное от стандартного.\n *\n * > ⚠️ Начертания `\"heavy\"`, `\"bold\"`, `\"semibold\"`, `medium` и `\"regular\"` устарели и будут удалены в 5.0.0. Используйте значения `\"1\"`, `\"2\"` и `\"3\"`.\n */\n weight?:\n | \"heavy\"\n | \"bold\"\n | \"semibold\"\n | \"medium\"\n | \"regular\"\n | \"1\"\n | \"2\"\n | \"3\";\n level: \"1\" | \"2\" | \"3\";\n}\n\nconst warn = warnOnce(\"Title\");\nexport const Title: React.FC<TitleProps> = ({\n children,\n weight,\n level = \"1\",\n Component,\n ...restProps\n}) => {\n if (!Component) {\n Component = (\"h\" + level) as React.ElementType;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (\n weight &&\n [\"heavy\", \"bold\", \"semibold\", \"medium\", \"regular\"].includes(weight)\n )\n warn(\n `Начертание weight=\"${weight}\" устарело и будет удалено в 5.0.0. Используйте значения \"1\", \"2\" и \"3\"`\n );\n }\n\n return (\n <Component\n {...restProps}\n vkuiClass={classNames(\n \"Title\",\n `Title--l-${level}`,\n weight && `Title--w-${weight}`\n )}\n >\n {children}\n </Component>\n );\n};\n"],"file":"Title.js"}
@@ -9,7 +9,7 @@ import { hasReactNode } from "../../lib/utils";
9
9
  import { classNames } from "../../lib/classNames";
10
10
  import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
11
11
  import { Caption } from "../Typography/Caption/Caption";
12
- import Subhead from "../Typography/Subhead/Subhead";
12
+ import { Subhead } from "../Typography/Subhead/Subhead";
13
13
  import { createMasks } from "./masks";
14
14
  import { useDOM } from "../../lib/dom";
15
15
  import "./UsersStack.css";
@@ -36,6 +36,7 @@ var UsersStack = function UsersStack(props) {
36
36
  var canShowOthers = othersCount > 0 && size === "m";
37
37
  var photosShown = photos.slice(0, visibleCount);
38
38
  return createScopedElement("div", _extends({}, restProps, {
39
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
39
40
  vkuiClass: classNames(getClassName("UsersStack", platform), "UsersStack--size-".concat(size), "UsersStack--l-".concat(layout), {
40
41
  "UsersStack--others": canShowOthers
41
42
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/UsersStack/UsersStack.tsx"],"names":["React","getClassName","usePlatform","hasReactNode","classNames","useIsomorphicLayoutEffect","Caption","Subhead","createMasks","useDOM","UsersStack","props","platform","photos","visibleCount","size","layout","children","restProps","document","othersCount","Math","max","length","canShowOthers","photosShown","slice","map","photo","i","backgroundImage","defaultProps","memo"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,yBAAT;AACA,SAASC,OAAT;AACA,OAAOC,OAAP;AACA,SAASC,WAAT;AACA,SAASC,MAAT;AACA;;AAsBA,IAAMC,UAAqC,GAAG,SAAxCA,UAAwC,CAACC,KAAD,EAA4B;AACxE,MAAMC,QAAQ,GAAGV,WAAW,EAA5B;;AACA,sBAOIS,KAPJ,CACEE,MADF;AAAA,MACEA,MADF,8BACW,EADX;AAAA,4BAOIF,KAPJ,CAEEG,YAFF;AAAA,MAEEA,YAFF,oCAEiB,CAFjB;AAAA,MAGEC,IAHF,GAOIJ,KAPJ,CAGEI,IAHF;AAAA,MAIEC,MAJF,GAOIL,KAPJ,CAIEK,MAJF;AAAA,MAKEC,QALF,GAOIN,KAPJ,CAKEM,QALF;AAAA,MAMKC,SANL,4BAOIP,KAPJ;;AAQA,gBAAqBF,MAAM,EAA3B;AAAA,MAAQU,QAAR,WAAQA,QAAR;;AAEAd,EAAAA,yBAAyB,CAAC,YAAM;AAC9BG,IAAAA,WAAW,CAACW,QAAD,CAAX;AACD,GAFwB,EAEtB,CAACA,QAAD,CAFsB,CAAzB;AAIA,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYT,MAAM,CAACU,MAAP,GAAgBT,YAA5B,CAApB;AACA,MAAMU,aAAa,GAAGJ,WAAW,GAAG,CAAd,IAAmBL,IAAI,KAAK,GAAlD;AAEA,MAAMU,WAAW,GAAGZ,MAAM,CAACa,KAAP,CAAa,CAAb,EAAgBZ,YAAhB,CAApB;AAEA,SACE,wCACMI,SADN;AAEE,IAAA,SAAS,EAAEd,UAAU,CACnBH,YAAY,CAAC,YAAD,EAAeW,QAAf,CADO,6BAECG,IAFD,2BAGFC,MAHE,GAInB;AACE,4BAAsBQ;AADxB,KAJmB;AAFvB,MAWE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAoC,IAAA,IAAI,EAAC;AAAzC,KACGC,WAAW,CAACE,GAAZ,CAAgB,UAACC,KAAD,EAAQC,CAAR;AAAA,WACf;AACE,MAAA,GAAG,EAAEA,CADP;AAEE,MAAA,SAAS,EAAC,mBAFZ;AAGE,MAAA,KAAK,EAAE;AAAEC,QAAAA,eAAe,gBAASF,KAAT;AAAjB;AAHT,MADe;AAAA,GAAhB,CADH,EASGJ,aAAa,IACZ,oBAAC,OAAD;AACE,IAAA,MAAM,EAAC,GADT;AAEE,IAAA,SAAS,EAAC,6CAFZ;AAGE,mBAAY;AAHd,KAKE,uCAAQJ,WAAR,CALF,CAVJ,CAXF,EA8BGjB,YAAY,CAACc,QAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,QADH,CA/BJ,CADF;AAsCD,CA3DD;;AA6DAP,UAAU,CAACqB,YAAX,GAA0B;AACxBlB,EAAAA,MAAM,EAAE,EADgB;AAExBE,EAAAA,IAAI,EAAE,GAFkB;AAGxBD,EAAAA,YAAY,EAAE,CAHU;AAIxBE,EAAAA,MAAM,EAAE;AAJgB,CAA1B,C,CAOA;;AACA,4BAAehB,KAAK,CAACgC,IAAN,CAAWtB,UAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport { createMasks } from \"./masks\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./UsersStack.css\";\n\nexport interface UsersStackProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Массив ссылок на фотографии\n */\n photos?: string[];\n /**\n * Размер аватарок\n */\n size?: \"xs\" | \"s\" | \"m\";\n /**\n * Вертикальный режим рекомендуется использовать с размером `m`\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Количество аватарок, которые будут показаны.\n * Если в массиве `photos` больше элементов и используется размер `m`, то будет показано количество остальных элементов\n */\n visibleCount?: number;\n}\n\nconst UsersStack: React.FC<UsersStackProps> = (props: UsersStackProps) => {\n const platform = usePlatform();\n const {\n photos = [],\n visibleCount = 0,\n size,\n layout,\n children,\n ...restProps\n } = props;\n const { document } = useDOM();\n\n useIsomorphicLayoutEffect(() => {\n createMasks(document);\n }, [document]);\n\n const othersCount = Math.max(0, photos.length - visibleCount);\n const canShowOthers = othersCount > 0 && size === \"m\";\n\n const photosShown = photos.slice(0, visibleCount);\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"UsersStack\", platform),\n `UsersStack--size-${size}`,\n `UsersStack--l-${layout}`,\n {\n \"UsersStack--others\": canShowOthers,\n }\n )}\n >\n <div vkuiClass=\"UsersStack__photos\" role=\"presentation\">\n {photosShown.map((photo, i) => (\n <div\n key={i}\n vkuiClass=\"UsersStack__photo\"\n style={{ backgroundImage: `url(${photo})` }}\n />\n ))}\n\n {canShowOthers && (\n <Caption\n weight=\"1\"\n vkuiClass=\"UsersStack__photo UsersStack__photo--others\"\n aria-hidden=\"true\"\n >\n <span>+{othersCount}</span>\n </Caption>\n )}\n </div>\n {hasReactNode(children) && (\n <Subhead Component=\"span\" vkuiClass=\"UsersStack__text\">\n {children}\n </Subhead>\n )}\n </div>\n );\n};\n\nUsersStack.defaultProps = {\n photos: [],\n size: \"s\",\n visibleCount: 3,\n layout: \"horizontal\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(UsersStack);\n"],"file":"UsersStack.js"}
1
+ {"version":3,"sources":["../../../../src/components/UsersStack/UsersStack.tsx"],"names":["React","getClassName","usePlatform","hasReactNode","classNames","useIsomorphicLayoutEffect","Caption","Subhead","createMasks","useDOM","UsersStack","props","platform","photos","visibleCount","size","layout","children","restProps","document","othersCount","Math","max","length","canShowOthers","photosShown","slice","map","photo","i","backgroundImage","defaultProps","memo"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,yBAAT;AACA,SAASC,OAAT;AACA,SAASC,OAAT;AACA,SAASC,WAAT;AACA,SAASC,MAAT;AACA;;AAsBA,IAAMC,UAAqC,GAAG,SAAxCA,UAAwC,CAACC,KAAD,EAA4B;AACxE,MAAMC,QAAQ,GAAGV,WAAW,EAA5B;;AACA,sBAOIS,KAPJ,CACEE,MADF;AAAA,MACEA,MADF,8BACW,EADX;AAAA,4BAOIF,KAPJ,CAEEG,YAFF;AAAA,MAEEA,YAFF,oCAEiB,CAFjB;AAAA,MAGEC,IAHF,GAOIJ,KAPJ,CAGEI,IAHF;AAAA,MAIEC,MAJF,GAOIL,KAPJ,CAIEK,MAJF;AAAA,MAKEC,QALF,GAOIN,KAPJ,CAKEM,QALF;AAAA,MAMKC,SANL,4BAOIP,KAPJ;;AAQA,gBAAqBF,MAAM,EAA3B;AAAA,MAAQU,QAAR,WAAQA,QAAR;;AAEAd,EAAAA,yBAAyB,CAAC,YAAM;AAC9BG,IAAAA,WAAW,CAACW,QAAD,CAAX;AACD,GAFwB,EAEtB,CAACA,QAAD,CAFsB,CAAzB;AAIA,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYT,MAAM,CAACU,MAAP,GAAgBT,YAA5B,CAApB;AACA,MAAMU,aAAa,GAAGJ,WAAW,GAAG,CAAd,IAAmBL,IAAI,KAAK,GAAlD;AAEA,MAAMU,WAAW,GAAGZ,MAAM,CAACa,KAAP,CAAa,CAAb,EAAgBZ,YAAhB,CAApB;AAEA,SACE,wCACMI,SADN;AAEE;AACA,IAAA,SAAS,EAAEd,UAAU,CACnBH,YAAY,CAAC,YAAD,EAAeW,QAAf,CADO,6BAECG,IAFD,2BAGFC,MAHE,GAInB;AACE,4BAAsBQ;AADxB,KAJmB;AAHvB,MAYE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAoC,IAAA,IAAI,EAAC;AAAzC,KACGC,WAAW,CAACE,GAAZ,CAAgB,UAACC,KAAD,EAAQC,CAAR;AAAA,WACf;AACE,MAAA,GAAG,EAAEA,CADP;AAEE,MAAA,SAAS,EAAC,mBAFZ;AAGE,MAAA,KAAK,EAAE;AAAEC,QAAAA,eAAe,gBAASF,KAAT;AAAjB;AAHT,MADe;AAAA,GAAhB,CADH,EASGJ,aAAa,IACZ,oBAAC,OAAD;AACE,IAAA,MAAM,EAAC,GADT;AAEE,IAAA,SAAS,EAAC,6CAFZ;AAGE,mBAAY;AAHd,KAKE,uCAAQJ,WAAR,CALF,CAVJ,CAZF,EA+BGjB,YAAY,CAACc,QAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,QADH,CAhCJ,CADF;AAuCD,CA5DD;;AA8DAP,UAAU,CAACqB,YAAX,GAA0B;AACxBlB,EAAAA,MAAM,EAAE,EADgB;AAExBE,EAAAA,IAAI,EAAE,GAFkB;AAGxBD,EAAAA,YAAY,EAAE,CAHU;AAIxBE,EAAAA,MAAM,EAAE;AAJgB,CAA1B,C,CAOA;;AACA,4BAAehB,KAAK,CAACgC,IAAN,CAAWtB,UAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { createMasks } from \"./masks\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./UsersStack.css\";\n\nexport interface UsersStackProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Массив ссылок на фотографии\n */\n photos?: string[];\n /**\n * Размер аватарок\n */\n size?: \"xs\" | \"s\" | \"m\";\n /**\n * Вертикальный режим рекомендуется использовать с размером `m`\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Количество аватарок, которые будут показаны.\n * Если в массиве `photos` больше элементов и используется размер `m`, то будет показано количество остальных элементов\n */\n visibleCount?: number;\n}\n\nconst UsersStack: React.FC<UsersStackProps> = (props: UsersStackProps) => {\n const platform = usePlatform();\n const {\n photos = [],\n visibleCount = 0,\n size,\n layout,\n children,\n ...restProps\n } = props;\n const { document } = useDOM();\n\n useIsomorphicLayoutEffect(() => {\n createMasks(document);\n }, [document]);\n\n const othersCount = Math.max(0, photos.length - visibleCount);\n const canShowOthers = othersCount > 0 && size === \"m\";\n\n const photosShown = photos.slice(0, visibleCount);\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"UsersStack\", platform),\n `UsersStack--size-${size}`,\n `UsersStack--l-${layout}`,\n {\n \"UsersStack--others\": canShowOthers,\n }\n )}\n >\n <div vkuiClass=\"UsersStack__photos\" role=\"presentation\">\n {photosShown.map((photo, i) => (\n <div\n key={i}\n vkuiClass=\"UsersStack__photo\"\n style={{ backgroundImage: `url(${photo})` }}\n />\n ))}\n\n {canShowOthers && (\n <Caption\n weight=\"1\"\n vkuiClass=\"UsersStack__photo UsersStack__photo--others\"\n aria-hidden=\"true\"\n >\n <span>+{othersCount}</span>\n </Caption>\n )}\n </div>\n {hasReactNode(children) && (\n <Subhead Component=\"span\" vkuiClass=\"UsersStack__text\">\n {children}\n </Subhead>\n )}\n </div>\n );\n};\n\nUsersStack.defaultProps = {\n photos: [],\n size: \"s\",\n visibleCount: 3,\n layout: \"horizontal\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(UsersStack);\n"],"file":"UsersStack.js"}
@@ -1 +1 @@
1
- .vkuiView--ios .vkuiPanel__in{padding-bottom:0;padding-bottom:var(--safe-area-inset-bottom)}.vkuiView--ios .vkuiPanel__in{padding:0 0 0 0;padding:0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left)}.vkuiView--ios .vkuiView__panel--swipe-back-prev{box-shadow:-2px 0 12px rgba(0,0,0,.3)}.vkuiView--ios .vkuiView__panel--swipe-back-prev.vkuiView__panel--swipe-back-success{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-next.vkuiView__panel--swipe-back-success{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-prev.vkuiView__panel--swipe-back-failed{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-next.vkuiView__panel--swipe-back-failed{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.vkuiView--ios .vkuiView__panel--prev{-webkit-animation:vkui-animation-ios-prev-forward .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-prev-forward .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-prev-forward .6s var(--ios-easing);animation:vkui-animation-ios-prev-forward .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next{-webkit-animation:vkui-animation-ios-next-back .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-next-back .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-next-back .6s var(--ios-easing);animation:vkui-animation-ios-next-back .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev~.vkuiView__panel--next{-webkit-animation:vkui-animation-ios-next-forward .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-next-forward .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-next-forward .6s var(--ios-easing);animation:vkui-animation-ios-next-forward .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next~.vkuiView__panel--prev{-webkit-animation:vkui-animation-ios-prev-back .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-prev-back .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-prev-back .6s var(--ios-easing);animation:vkui-animation-ios-prev-back .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev .vkuiPanel__fade,.vkuiView--ios .vkuiView__panel--next .vkuiPanel__fade{position:absolute;width:100%;height:100%;left:0;top:0;z-index:10;background:#000;pointer-events:none}.vkuiView--ios .vkuiView__panel--prev .vkuiPanel__fade{-webkit-animation:vkui-animation-ios-fade-in .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-fade-in .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-fade-in .6s var(--ios-easing);animation:vkui-animation-ios-fade-in .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next .vkuiPanel__fade{-webkit-animation:vkui-animation-ios-fade-out .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-fade-out .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-fade-out .6s var(--ios-easing);animation:vkui-animation-ios-fade-out .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev~.vkuiView__panel--next .vkuiPanel__fade,.vkuiView--ios .vkuiView__panel--next~.vkuiView__panel--prev .vkuiPanel__fade{display:none}.vkuiView--ios.vkuiView--no-motion .vkuiView__panel,.vkuiView--ios.vkuiView--no-motion .vkuiView__panel .vkuiPanel__in{-webkit-animation:none;animation:none}.vkuiView--ios .vkuiView__panel--active .vkuiPanel__fade{display:none}@-webkit-keyframes vkui-animation-ios-next-forward{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes vkui-animation-ios-next-forward{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes vkui-animation-ios-next-back{0%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes vkui-animation-ios-next-back{0%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes vkui-animation-ios-prev-forward{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@keyframes vkui-animation-ios-prev-forward{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@-webkit-keyframes vkui-animation-ios-prev-back{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes vkui-animation-ios-prev-back{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes vkui-animation-ios-fade-in{0%{opacity:0}to{opacity:.3}}@keyframes vkui-animation-ios-fade-in{0%{opacity:0}to{opacity:.3}}@-webkit-keyframes vkui-animation-ios-fade-out{0%{opacity:.3}to{opacity:0}}@keyframes vkui-animation-ios-fade-out{0%{opacity:.3}to{opacity:0}}.vkuiView{position:relative;height:100%;width:100%;word-wrap:break-word}.vkuiView--animated,.vkuiView--swiping-back{overflow:hidden}.vkuiView__header{z-index:2;position:fixed;width:100%}.vkuiView--animated .vkuiView__panel,.vkuiView--animated .vkuiView__header,.vkuiView--swiping-back .vkuiView__panel,.vkuiView--swiping-back .vkuiView__header{pointer-events:none}.vkuiView__panels{height:100%;width:100%}.vkuiView__panel{position:relative;width:100%;height:100%;box-sizing:border-box;z-index:1}.vkuiView__panel-in{height:100%}.vkuiView--animated .vkuiView__panel,.vkuiView--swiping-back .vkuiView__panel{position:fixed;top:0;left:0;overflow:hidden}.vkuiView__popout{position:fixed;left:0;top:0;z-index:100;width:100%;height:100%}.vkuiView__modal{position:fixed;left:0;top:0;z-index:99;width:100%;height:100%}.vkuiView__modal:empty{display:none}.vkuiView--vkcom,.vkuiView--android{font-family:-apple-system,system-ui,Helvetica Neue,Roboto,sans-serif;font-family:var(--font-common)}.vkuiView--vkcom .vkuiView__panel--active::before,.vkuiView--android .vkuiView__panel--active::before{content:none}.vkuiView__panel--next~.vkuiView__panel--prev{-webkit-animation:vkui-animation-view-prev-back .3s cubic-bezier(.4,0,.2,1);animation:vkui-animation-view-prev-back .3s cubic-bezier(.4,0,.2,1);-webkit-animation:vkui-animation-view-prev-back .3s var(--android-easing);animation:vkui-animation-view-prev-back .3s var(--android-easing)}.vkuiView__panel--prev~.vkuiView__panel--next{-webkit-animation:vkui-animation-view-next-forward .3s cubic-bezier(.4,0,.2,1);animation:vkui-animation-view-next-forward .3s cubic-bezier(.4,0,.2,1);-webkit-animation:vkui-animation-view-next-forward .3s var(--android-easing);animation:vkui-animation-view-next-forward .3s var(--android-easing)}.vkuiView--no-motion .vkuiView__panel{-webkit-animation:none;animation:none}@-webkit-keyframes vkui-animation-view-prev-back{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}}@keyframes vkui-animation-view-prev-back{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}}@-webkit-keyframes vkui-animation-view-next-forward{0%{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes vkui-animation-view-next-forward{0%{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}
1
+ .vkuiView--ios .vkuiPanel__in{padding-bottom:0;padding-bottom:var(--safe-area-inset-bottom)}.vkuiView--ios .vkuiPanel__in{padding:0 0 0 0;padding:0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left)}.vkuiView--ios .vkuiView__panel--swipe-back-prev{box-shadow:-2px 0 12px rgba(0,0,0,.3)}.vkuiView--ios .vkuiView__panel--swipe-back-prev.vkuiView__panel--swipe-back-success{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-next.vkuiView__panel--swipe-back-success{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-prev.vkuiView__panel--swipe-back-failed{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-next.vkuiView__panel--swipe-back-failed{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.vkuiView--ios .vkuiView__panel--prev{-webkit-animation:vkui-animation-ios-prev-forward .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-prev-forward .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-prev-forward .6s var(--ios-easing);animation:vkui-animation-ios-prev-forward .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next{-webkit-animation:vkui-animation-ios-next-back .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-next-back .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-next-back .6s var(--ios-easing);animation:vkui-animation-ios-next-back .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev~.vkuiView__panel--next{-webkit-animation:vkui-animation-ios-next-forward .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-next-forward .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-next-forward .6s var(--ios-easing);animation:vkui-animation-ios-next-forward .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next~.vkuiView__panel--prev{-webkit-animation:vkui-animation-ios-prev-back .6s cubic-bezier(.36,.66,.04,1) forwards;animation:vkui-animation-ios-prev-back .6s cubic-bezier(.36,.66,.04,1) forwards;-webkit-animation:vkui-animation-ios-prev-back .6s var(--ios-easing) forwards;animation:vkui-animation-ios-prev-back .6s var(--ios-easing) forwards}.vkuiView--ios .vkuiView__panel--prev .vkuiPanel__fade,.vkuiView--ios .vkuiView__panel--next .vkuiPanel__fade{position:absolute;width:100%;height:100%;left:0;top:0;z-index:10;background:#000;pointer-events:none}.vkuiView--ios .vkuiView__panel--prev .vkuiPanel__fade{-webkit-animation:vkui-animation-ios-fade-in .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-fade-in .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-fade-in .6s var(--ios-easing);animation:vkui-animation-ios-fade-in .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next .vkuiPanel__fade{-webkit-animation:vkui-animation-ios-fade-out .6s cubic-bezier(.36,.66,.04,1) forwards;animation:vkui-animation-ios-fade-out .6s cubic-bezier(.36,.66,.04,1) forwards;-webkit-animation:vkui-animation-ios-fade-out .6s var(--ios-easing) forwards;animation:vkui-animation-ios-fade-out .6s var(--ios-easing) forwards}.vkuiView--ios .vkuiView__panel--prev~.vkuiView__panel--next .vkuiPanel__fade,.vkuiView--ios .vkuiView__panel--next~.vkuiView__panel--prev .vkuiPanel__fade{display:none}.vkuiView--ios.vkuiView--no-motion .vkuiView__panel,.vkuiView--ios.vkuiView--no-motion .vkuiView__panel .vkuiPanel__in{-webkit-animation:none;animation:none}.vkuiView--ios .vkuiView__panel--active .vkuiPanel__fade{display:none}@-webkit-keyframes vkui-animation-ios-next-forward{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes vkui-animation-ios-next-forward{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes vkui-animation-ios-next-back{0%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes vkui-animation-ios-next-back{0%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes vkui-animation-ios-prev-forward{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@keyframes vkui-animation-ios-prev-forward{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@-webkit-keyframes vkui-animation-ios-prev-back{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes vkui-animation-ios-prev-back{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes vkui-animation-ios-fade-in{0%{opacity:0}to{opacity:.3}}@keyframes vkui-animation-ios-fade-in{0%{opacity:0}to{opacity:.3}}@-webkit-keyframes vkui-animation-ios-fade-out{0%{opacity:.3}to{opacity:0}}@keyframes vkui-animation-ios-fade-out{0%{opacity:.3}to{opacity:0}}.vkuiView{position:relative;height:100%;width:100%;word-wrap:break-word}.vkuiView--animated,.vkuiView--swiping-back{overflow:hidden}.vkuiView__header{z-index:2;position:fixed;width:100%}.vkuiView--animated .vkuiView__panel,.vkuiView--animated .vkuiView__header,.vkuiView--swiping-back .vkuiView__panel,.vkuiView--swiping-back .vkuiView__header{pointer-events:none}.vkuiView__panels{height:100%;width:100%}.vkuiView__panel{position:relative;width:100%;height:100%;box-sizing:border-box;z-index:1}.vkuiView__panel-in{height:100%}.vkuiView--animated .vkuiView__panel,.vkuiView--swiping-back .vkuiView__panel{position:fixed;top:0;left:0;overflow:hidden}.vkuiView__popout{position:fixed;left:0;top:0;z-index:100;width:100%;height:100%}.vkuiView__modal{position:fixed;left:0;top:0;z-index:99;width:100%;height:100%}.vkuiView__modal:empty{display:none}.vkuiView--vkcom,.vkuiView--android{font-family:-apple-systemsystem-uiHelvetica NeueRobotosans-serif;font-family:var(--font-common)}.vkuiView--vkcom .vkuiView__panel--active::before,.vkuiView--android .vkuiView__panel--active::before{content:none}.vkuiView__panel--next~.vkuiView__panel--prev{-webkit-animation:vkui-animation-view-prev-back .3s cubic-bezier(.4,0,.2,1) forwards;animation:vkui-animation-view-prev-back .3s cubic-bezier(.4,0,.2,1) forwards;-webkit-animation:vkui-animation-view-prev-back .3s var(--android-easing) forwards;animation:vkui-animation-view-prev-back .3s var(--android-easing) forwards}.vkuiView__panel--prev~.vkuiView__panel--next{-webkit-animation:vkui-animation-view-next-forward .3s cubic-bezier(.4,0,.2,1);animation:vkui-animation-view-next-forward .3s cubic-bezier(.4,0,.2,1);-webkit-animation:vkui-animation-view-next-forward .3s var(--android-easing);animation:vkui-animation-view-next-forward .3s var(--android-easing)}.vkuiView--no-motion .vkuiView__panel{-webkit-animation:none;animation:none}@-webkit-keyframes vkui-animation-view-prev-back{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}}@keyframes vkui-animation-view-prev-back{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}}@-webkit-keyframes vkui-animation-view-next-forward{0%{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes vkui-animation-view-next-forward{0%{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}
@@ -209,6 +209,10 @@ var View = /*#__PURE__*/function (_React$Component) {
209
209
  if (id) {
210
210
  scrollsCache[id] = this.scrolls;
211
211
  }
212
+
213
+ if (this.animationFinishTimeout) {
214
+ clearTimeout(this.animationFinishTimeout);
215
+ }
212
216
  }
213
217
  }, {
214
218
  key: "componentDidUpdate",
@@ -501,6 +505,7 @@ var View = /*#__PURE__*/function (_React$Component) {
501
505
  var isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);
502
506
  var compensateScroll = isPrev || panelId === swipeBackNextPanel || panelId === nextPanel && isBack;
503
507
  return createScopedElement("div", {
508
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
504
509
  vkuiClass: classNames("View__panel", {
505
510
  "View__panel--active": panelId === activePanel,
506
511
  "View__panel--prev": panelId === prevPanel,