@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
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  import { HasPlatform } from "../../types";
3
3
  import { ButtonProps } from "../Button/Button";
4
4
  import { AdaptivityContextInterface, AdaptivityProps } from "../AdaptivityProvider/AdaptivityContext";
5
+ import { ScrollContextInterface } from "../AppRoot/ScrollContext";
5
6
  import "./Alert.css";
6
7
  export declare type AlertActionInterface = AlertAction & React.AnchorHTMLAttributes<HTMLElement>;
7
8
  export interface AlertAction extends Pick<ButtonProps, "Component" | "href"> {
@@ -16,9 +17,11 @@ export interface AlertProps extends React.HTMLAttributes<HTMLElement>, HasPlatfo
16
17
  header?: React.ReactNode;
17
18
  text?: React.ReactNode;
18
19
  onClose?: VoidFunction;
20
+ /** @ignore */
21
+ scroll?: ScrollContextInterface;
19
22
  }
20
23
  export declare type TAlertProps = AlertProps & AdaptivityContextInterface;
21
24
  export interface AlertState {
22
25
  closing: boolean;
23
26
  }
24
- export declare const Alert: React.FC<Pick<Pick<TAlertProps, "platform" | "hidden" | "dir" | "header" | "slot" | "style" | "title" | "text" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "onClose" | "actionsLayout" | "actions"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps, "hidden" | "dir" | "header" | "slot" | "style" | "title" | "text" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "sizeX" | "sizeY" | "onClose" | "actionsLayout" | "actions">>;
27
+ export declare const Alert: React.FC<Pick<Pick<TAlertProps, "platform" | "hidden" | "dir" | "header" | "slot" | "style" | "title" | "text" | "scroll" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "onClose" | "actionsLayout" | "actions"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps, "hidden" | "dir" | "header" | "slot" | "style" | "title" | "text" | "scroll" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "sizeX" | "sizeY" | "onClose" | "actionsLayout" | "actions">>;
@@ -17,13 +17,15 @@ import { transitionEvent } from "../../lib/supportEvents";
17
17
  import { ANDROID, VKCOM, IOS } from "../../lib/platform";
18
18
  import { withPlatform } from "../../hoc/withPlatform";
19
19
  import { withAdaptivity, ViewWidth } from "../../hoc/withAdaptivity";
20
- import Button from "../Button/Button";
20
+ import { Button } from "../Button/Button";
21
21
  import { hasReactNode } from "../../lib/utils";
22
22
  import Headline from "../Typography/Headline/Headline";
23
- import Title from "../Typography/Title/Title";
23
+ import { Title } from "../Typography/Title/Title";
24
24
  import { Caption } from "../Typography/Caption/Caption";
25
25
  import ModalDismissButton from "../ModalDismissButton/ModalDismissButton";
26
26
  import { FocusTrap } from "../FocusTrap/FocusTrap";
27
+ import { withContext } from "../../hoc/withContext";
28
+ import { ScrollContext } from "../AppRoot/ScrollContext";
27
29
 
28
30
  var AlertComponent = /*#__PURE__*/function (_React$Component) {
29
31
  _inherits(AlertComponent, _React$Component);
@@ -129,6 +131,20 @@ var AlertComponent = /*#__PURE__*/function (_React$Component) {
129
131
  }
130
132
 
131
133
  _createClass(AlertComponent, [{
134
+ key: "componentDidMount",
135
+ value: function componentDidMount() {
136
+ var _this$props$scroll;
137
+
138
+ (_this$props$scroll = this.props.scroll) === null || _this$props$scroll === void 0 ? void 0 : _this$props$scroll.enableScrollLock();
139
+ }
140
+ }, {
141
+ key: "componentWillUnmount",
142
+ value: function componentWillUnmount() {
143
+ var _this$props$scroll2;
144
+
145
+ (_this$props$scroll2 = this.props.scroll) === null || _this$props$scroll2 === void 0 ? void 0 : _this$props$scroll2.disableScrollLock();
146
+ }
147
+ }, {
132
148
  key: "timeout",
133
149
  get: function get() {
134
150
  return this.props.platform === ANDROID || this.props.platform === VKCOM ? 200 : 300;
@@ -228,7 +244,8 @@ var AlertComponent = /*#__PURE__*/function (_React$Component) {
228
244
  getRootRef: this.element,
229
245
  onClick: this.stopPropagation,
230
246
  onClose: this.onClose,
231
- timeout: this.timeout,
247
+ timeout: this.timeout // eslint-disable-next-line vkui/no-object-expression-in-arguments
248
+ ,
232
249
  vkuiClass: classNames(getClassName("Alert", platform), {
233
250
  "Alert--v": resolvedActionsLayout === "vertical",
234
251
  "Alert--h": resolvedActionsLayout === "horizontal",
@@ -253,7 +270,7 @@ _defineProperty(AlertComponent, "defaultProps", {
253
270
  actions: []
254
271
  });
255
272
 
256
- export var Alert = withPlatform(withAdaptivity(AlertComponent, {
273
+ export var Alert = withContext(withPlatform(withAdaptivity(AlertComponent, {
257
274
  viewWidth: true
258
- }));
275
+ })), ScrollContext, "scroll");
259
276
  //# sourceMappingURL=Alert.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Alert/Alert.tsx"],"names":["React","Tappable","PopoutWrapper","getClassName","classNames","transitionEvent","ANDROID","VKCOM","IOS","withPlatform","withAdaptivity","ViewWidth","Button","hasReactNode","Headline","Title","Caption","ModalDismissButton","FocusTrap","AlertComponent","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","Component","href","mode","onItemClick","target","title","viewWidth","DESKTOP","element","createRef","state","eventHandler","supported","current","removeEventListener","name","addEventListener","transitionFinishTimeout","clearTimeout","setTimeout","bind","timeout","header","text","actions","actionsLayout","children","className","style","restProps","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","renderHeader","renderText","map","renderAction","Alert"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent } from \"../../lib/supportEvents\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport Button, { ButtonProps } from \"../Button/Button\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Title from \"../Typography/Title/Title\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n}\n\nexport type TAlertProps = AlertProps & AdaptivityContextInterface;\n\nexport interface AlertState {\n closing: boolean;\n}\n\ntype TransitionEndHandler = (e?: TransitionEvent) => void;\n\ntype ItemClickHander = (item: AlertActionInterface) => () => void;\n\nclass AlertComponent extends React.Component<TAlertProps, AlertState> {\n constructor(props: TAlertProps) {\n super(props);\n this.element = React.createRef();\n this.state = {\n closing: false,\n };\n }\n\n element: React.RefObject<HTMLDivElement>;\n\n private transitionFinishTimeout: number | undefined = undefined;\n\n static defaultProps: Partial<TAlertProps> = {\n actionsLayout: \"horizontal\",\n actions: [],\n };\n\n private get timeout(): number {\n return this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 200\n : 300;\n }\n\n onItemClick: ItemClickHander = (item: AlertActionInterface) => () => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n autoclose && this.props.onClose?.();\n action && action();\n }\n });\n } else {\n action && action();\n }\n };\n\n onClose: VoidFunction = () => {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n this.props.onClose?.();\n }\n });\n };\n\n stopPropagation: React.MouseEventHandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n };\n\n waitTransitionFinish(eventHandler: TransitionEndHandler) {\n if (transitionEvent.supported && this.element.current) {\n this.element.current.removeEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n this.element.current.addEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler.bind(this),\n this.timeout\n );\n }\n }\n\n renderHeader(header: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Headline vkuiClass=\"Alert__header\" weight=\"medium\">\n {header}\n </Headline>\n );\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"1\" level=\"3\">\n {header}\n </Title>\n );\n case ANDROID:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"2\" level=\"2\">\n {header}\n </Title>\n );\n default:\n return undefined;\n }\n }\n\n renderText(text: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return <Caption vkuiClass=\"Alert__text\">{text}</Caption>;\n case IOS:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"2\">\n {text}\n </Caption>\n );\n case ANDROID:\n return (\n <Headline vkuiClass=\"Alert__text\" weight=\"regular\">\n {text}\n </Headline>\n );\n default:\n return undefined;\n }\n }\n\n renderAction = (action: AlertActionInterface, i: number) => {\n const { platform } = this.props;\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"Alert__action\",\n `Alert__action--${action.mode}`\n )}\n onClick={this.onItemClick(action)}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (\n this.props.viewWidth === ViewWidth.DESKTOP &&\n action.mode === \"destructive\"\n ) {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={this.onItemClick(action)}\n Component={action.Component}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n };\n\n render() {\n const {\n actions,\n actionsLayout,\n children,\n className,\n style,\n platform,\n viewWidth,\n text,\n header,\n ...restProps\n } = this.props;\n const { closing } = this.state;\n\n const resolvedActionsLayout: TAlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={this.onClose}\n >\n <FocusTrap\n {...restProps}\n getRootRef={this.element}\n onClick={this.stopPropagation}\n onClose={this.onClose}\n timeout={this.timeout}\n vkuiClass={classNames(getClassName(\"Alert\", platform), {\n \"Alert--v\": resolvedActionsLayout === \"vertical\",\n \"Alert--h\": resolvedActionsLayout === \"horizontal\",\n \"Alert--closing\": closing,\n \"Alert--desktop\": isDesktop,\n })}\n >\n {canShowCloseButton && <ModalDismissButton onClick={this.onClose} />}\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && this.renderHeader(header)}\n {hasReactNode(text) && this.renderText(text)}\n {children}\n </div>\n <footer vkuiClass=\"Alert__actions\">\n {actions?.map(this.renderAction)}\n </footer>\n </FocusTrap>\n </PopoutWrapper>\n );\n }\n}\n\nexport const Alert = withPlatform(\n withAdaptivity(AlertComponent, {\n viewWidth: true,\n })\n);\n"],"file":"Alert.js"}
1
+ {"version":3,"sources":["../../../src/components/Alert/Alert.tsx"],"names":["React","Tappable","PopoutWrapper","getClassName","classNames","transitionEvent","ANDROID","VKCOM","IOS","withPlatform","withAdaptivity","ViewWidth","Button","hasReactNode","Headline","Title","Caption","ModalDismissButton","FocusTrap","withContext","ScrollContext","AlertComponent","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","Component","href","mode","onItemClick","target","title","viewWidth","DESKTOP","element","createRef","state","scroll","enableScrollLock","disableScrollLock","eventHandler","supported","current","removeEventListener","name","addEventListener","transitionFinishTimeout","clearTimeout","setTimeout","bind","timeout","header","text","actions","actionsLayout","children","className","style","restProps","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","renderHeader","renderText","map","renderAction","Alert"],"mappings":";;;;;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP;AACA,SAASC,aAAT;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,eAAT;AACA,SAASC,OAAT,EAAkBC,KAAlB,EAAyBC,GAAzB;AAEA,SAASC,YAAT;AACA,SAASC,cAAT,EAAyBC,SAAzB;AACA,SAASC,MAAT;AACA,SAASC,YAAT;AACA,OAAOC,QAAP;AACA,SAASC,KAAT;AACA,SAASC,OAAT;AACA,OAAOC,kBAAP;AACA,SAASC,SAAT;AAKA,SAASC,WAAT;AACA,SACEC,aADF;;IAuCMC,c;;;;;AACJ,0BAAYC,KAAZ,EAAgC;AAAA;;AAAA;;AAC9B,8BAAMA,KAAN;;AAD8B;;AAAA,8EAkBsBC,SAlBtB;;AAAA,kEA+BA,UAACC,IAAD;AAAA,aAAgC,YAAM;AACpE,YAAQC,MAAR,GAA8BD,IAA9B,CAAQC,MAAR;AAAA,YAAgBC,SAAhB,GAA8BF,IAA9B,CAAgBE,SAAhB;;AAEA,YAAIA,SAAJ,EAAe;AACb,gBAAKC,QAAL,CAAc;AAAEC,YAAAA,OAAO,EAAE;AAAX,WAAd;;AACA,gBAAKC,oBAAL,CAA0B,UAACC,CAAD,EAAyB;AACjD,gBAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,YAAF,KAAmB,SAA7B,EAAwC;AAAA;;AACtCL,cAAAA,SAAS,4BAAI,qBAAKJ,KAAL,EAAWU,OAAf,wDAAI,qCAAJ,CAAT;AACAP,cAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD;AACF,WALD;AAMD,SARD,MAQO;AACLA,UAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD;AACF,OAd+B;AAAA,KA/BA;;AAAA,8DA+CR,YAAM;AAC5B,YAAKE,QAAL,CAAc;AAAEC,QAAAA,OAAO,EAAE;AAAX,OAAd;;AACA,YAAKC,oBAAL,CAA0B,UAACC,CAAD,EAAyB;AACjD,YAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,YAAF,KAAmB,SAA7B,EAAwC;AAAA;;AACtC,wDAAKT,KAAL,EAAWU,OAAX;AACD;AACF,OAJD;AAKD,KAtD+B;;AAAA,sEAwDW,UAACF,CAAD,EAA6B;AACtEA,MAAAA,CAAC,CAACG,eAAF;AACD,KA1D+B;;AAAA,mEA+HjB,UAACR,MAAD,EAA+BS,CAA/B,EAA6C;AAC1D,UAAQC,QAAR,GAAqB,MAAKb,KAA1B,CAAQa,QAAR;;AAEA,UAAIA,QAAQ,KAAK3B,GAAjB,EAAsB;AACpB,gCAAiCiB,MAAjC,CAAQW,SAAR;AAAA,YAAQA,SAAR,kCAAoB,QAApB;AACA,eACE,oBAAC,QAAD;AACE,UAAA,SAAS,EAAEX,MAAM,CAACY,IAAP,GAAc,GAAd,GAAoBD,SADjC;AAEE,UAAA,SAAS,EAAEhC,UAAU,CACnB,eADmB,2BAEDqB,MAAM,CAACa,IAFN,EAFvB;AAME,UAAA,OAAO,EAAE,MAAKC,WAAL,CAAiBd,MAAjB,CANX;AAOE,UAAA,IAAI,EAAEA,MAAM,CAACY,IAPf;AAQE,UAAA,GAAG,yBAAkBH,CAAlB,CARL;AASE,UAAA,MAAM,EAAET,MAAM,CAACe;AATjB,WAWGf,MAAM,CAACgB,KAXV,CADF;AAeD;;AAED,UAAIH,IAAyB,GAC3Bb,MAAM,CAACa,IAAP,KAAgB,QAAhB,GAA2B,WAA3B,GAAyC,SAD3C;;AAGA,UAAIH,QAAQ,KAAK7B,OAAjB,EAA0B;AACxBgC,QAAAA,IAAI,GAAG,UAAP;;AAEA,YACE,MAAKhB,KAAL,CAAWoB,SAAX,KAAyB/B,SAAS,CAACgC,OAAnC,IACAlB,MAAM,CAACa,IAAP,KAAgB,aAFlB,EAGE;AACAA,UAAAA,IAAI,GAAG,aAAP;AACD;AACF;;AAED,aACE,oBAAC,MAAD;AACE,QAAA,SAAS,EAAElC,UAAU,CAAC,eAAD,2BAAoCqB,MAAM,CAACa,IAA3C,EADvB;AAEE,QAAA,IAAI,EAAEA,IAFR;AAGE,QAAA,IAAI,EAAC,GAHP;AAIE,QAAA,OAAO,EAAE,MAAKC,WAAL,CAAiBd,MAAjB,CAJX;AAKE,QAAA,SAAS,EAAEA,MAAM,CAACW,SALpB;AAME,QAAA,IAAI,EAAEX,MAAM,CAACY,IANf;AAOE,QAAA,GAAG,yBAAkBH,CAAlB,CAPL;AAQE,QAAA,MAAM,EAAET,MAAM,CAACe;AARjB,SAUGf,MAAM,CAACgB,KAVV,CADF;AAcD,KAjL+B;;AAE9B,UAAKG,OAAL,gBAAe5C,KAAK,CAAC6C,SAAN,EAAf;AACA,UAAKC,KAAL,GAAa;AACXlB,MAAAA,OAAO,EAAE;AADE,KAAb;AAH8B;AAM/B;;;;WAED,6BAAoB;AAAA;;AAClB,iCAAKN,KAAL,CAAWyB,MAAX,0EAAmBC,gBAAnB;AACD;;;WAED,gCAAuB;AAAA;;AACrB,kCAAK1B,KAAL,CAAWyB,MAAX,4EAAmBE,iBAAnB;AACD;;;SAWD,eAA8B;AAC5B,aAAO,KAAK3B,KAAL,CAAWa,QAAX,KAAwB7B,OAAxB,IAAmC,KAAKgB,KAAL,CAAWa,QAAX,KAAwB5B,KAA3D,GACH,GADG,GAEH,GAFJ;AAGD;;;WA+BD,8BAAqB2C,YAArB,EAAyD;AACvD,UAAI7C,eAAe,CAAC8C,SAAhB,IAA6B,KAAKP,OAAL,CAAaQ,OAA9C,EAAuD;AACrD,aAAKR,OAAL,CAAaQ,OAAb,CAAqBC,mBAArB,CACEhD,eAAe,CAACiD,IADlB,EAEEJ,YAFF;AAIA,aAAKN,OAAL,CAAaQ,OAAb,CAAqBG,gBAArB,CACElD,eAAe,CAACiD,IADlB,EAEEJ,YAFF;AAID,OATD,MASO;AACL,YAAI,KAAKM,uBAAT,EAAkC;AAChCC,UAAAA,YAAY,CAAC,KAAKD,uBAAN,CAAZ;AACD;;AACD,aAAKA,uBAAL,GAA+BE,UAAU,CACvCR,YAAY,CAACS,IAAb,CAAkB,IAAlB,CADuC,EAEvC,KAAKC,OAFkC,CAAzC;AAID;AACF;;;WAED,sBAAaC,MAAb,EAAsC;AACpC,cAAQ,KAAKvC,KAAL,CAAWa,QAAnB;AACE,aAAK5B,KAAL;AACE,iBACE,oBAAC,QAAD;AAAU,YAAA,SAAS,EAAC,eAApB;AAAoC,YAAA,MAAM,EAAC;AAA3C,aACGsD,MADH,CADF;;AAKF,aAAKrD,GAAL;AACE,iBACE,oBAAC,KAAD;AAAO,YAAA,SAAS,EAAC,eAAjB;AAAiC,YAAA,MAAM,EAAC,GAAxC;AAA4C,YAAA,KAAK,EAAC;AAAlD,aACGqD,MADH,CADF;;AAKF,aAAKvD,OAAL;AACE,iBACE,oBAAC,KAAD;AAAO,YAAA,SAAS,EAAC,eAAjB;AAAiC,YAAA,MAAM,EAAC,GAAxC;AAA4C,YAAA,KAAK,EAAC;AAAlD,aACGuD,MADH,CADF;;AAKF;AACE,iBAAOtC,SAAP;AApBJ;AAsBD;;;WAED,oBAAWuC,IAAX,EAAkC;AAChC,cAAQ,KAAKxC,KAAL,CAAWa,QAAnB;AACE,aAAK5B,KAAL;AACE,iBAAO,oBAAC,OAAD;AAAS,YAAA,SAAS,EAAC;AAAnB,aAAkCuD,IAAlC,CAAP;;AACF,aAAKtD,GAAL;AACE,iBACE,oBAAC,OAAD;AAAS,YAAA,SAAS,EAAC,aAAnB;AAAiC,YAAA,KAAK,EAAC;AAAvC,aACGsD,IADH,CADF;;AAKF,aAAKxD,OAAL;AACE,iBACE,oBAAC,QAAD;AAAU,YAAA,SAAS,EAAC,aAApB;AAAkC,YAAA,MAAM,EAAC;AAAzC,aACGwD,IADH,CADF;;AAKF;AACE,iBAAOvC,SAAP;AAhBJ;AAkBD;;;WAsDD,kBAAS;AACP,yBAWI,KAAKD,KAXT;AAAA,UACEyC,OADF,gBACEA,OADF;AAAA,UAEEC,aAFF,gBAEEA,aAFF;AAAA,UAGEC,QAHF,gBAGEA,QAHF;AAAA,UAIEC,SAJF,gBAIEA,SAJF;AAAA,UAKEC,KALF,gBAKEA,KALF;AAAA,UAMEhC,QANF,gBAMEA,QANF;AAAA,UAOEO,SAPF,gBAOEA,SAPF;AAAA,UAQEoB,IARF,gBAQEA,IARF;AAAA,UASED,MATF,gBASEA,MATF;AAAA,UAUKO,SAVL;;AAYA,UAAQxC,OAAR,GAAoB,KAAKkB,KAAzB,CAAQlB,OAAR;AAEA,UAAMyC,qBAAmD,GACvDlC,QAAQ,KAAK5B,KAAb,GAAqB,YAArB,GAAoCyD,aADtC;AAEA,UAAMM,kBAAkB,GACtBnC,QAAQ,KAAK5B,KAAb,IACC4B,QAAQ,KAAK7B,OAAb,IAAwBoC,SAAS,IAAI/B,SAAS,CAAC4D,YAFlD;AAGA,UAAMC,SAAS,GAAG9B,SAAS,IAAI/B,SAAS,CAAC4D,YAAzC;AAEA,aACE,oBAAC,aAAD;AACE,QAAA,SAAS,EAAEL,SADb;AAEE,QAAA,OAAO,EAAEtC,OAFX;AAGE,QAAA,KAAK,EAAEuC,KAHT;AAIE,QAAA,OAAO,EAAE,KAAKnC;AAJhB,SAME,oBAAC,SAAD,eACMoC,SADN;AAEE,QAAA,UAAU,EAAE,KAAKxB,OAFnB;AAGE,QAAA,OAAO,EAAE,KAAKX,eAHhB;AAIE,QAAA,OAAO,EAAE,KAAKD,OAJhB;AAKE,QAAA,OAAO,EAAE,KAAK4B,OALhB,CAME;AANF;AAOE,QAAA,SAAS,EAAExD,UAAU,CAACD,YAAY,CAAC,OAAD,EAAUgC,QAAV,CAAb,EAAkC;AACrD,sBAAYkC,qBAAqB,KAAK,UADe;AAErD,sBAAYA,qBAAqB,KAAK,YAFe;AAGrD,4BAAkBzC,OAHmC;AAIrD,4BAAkB4C;AAJmC,SAAlC;AAPvB,UAcGF,kBAAkB,IAAI,oBAAC,kBAAD;AAAoB,QAAA,OAAO,EAAE,KAAKtC;AAAlC,QAdzB,EAeE;AAAK,QAAA,SAAS,EAAC;AAAf,SACGnB,YAAY,CAACgD,MAAD,CAAZ,IAAwB,KAAKY,YAAL,CAAkBZ,MAAlB,CAD3B,EAEGhD,YAAY,CAACiD,IAAD,CAAZ,IAAsB,KAAKY,UAAL,CAAgBZ,IAAhB,CAFzB,EAGGG,QAHH,CAfF,EAoBE;AAAQ,QAAA,SAAS,EAAC;AAAlB,SACGF,OADH,aACGA,OADH,uBACGA,OAAO,CAAEY,GAAT,CAAa,KAAKC,YAAlB,CADH,CApBF,CANF,CADF;AAiCD;;;;EA3O0B5E,KAAK,CAACoC,S;;gBAA7Bf,c,kBAqBwC;AAC1C2C,EAAAA,aAAa,EAAE,YAD2B;AAE1CD,EAAAA,OAAO,EAAE;AAFiC,C;;AAyN9C,OAAO,IAAMc,KAAK,GAAG1D,WAAW,CAC9BV,YAAY,CACVC,cAAc,CAACW,cAAD,EAAiB;AAC7BqB,EAAAA,SAAS,EAAE;AADkB,CAAjB,CADJ,CADkB,EAM9BtB,aAN8B,EAO9B,QAP8B,CAAzB","sourcesContent":["import * as React from \"react\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent } from \"../../lib/supportEvents\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\nexport type TAlertProps = AlertProps & AdaptivityContextInterface;\n\nexport interface AlertState {\n closing: boolean;\n}\n\ntype TransitionEndHandler = (e?: TransitionEvent) => void;\n\ntype ItemClickHandler = (item: AlertActionInterface) => () => void;\n\nclass AlertComponent extends React.Component<TAlertProps, AlertState> {\n constructor(props: TAlertProps) {\n super(props);\n this.element = React.createRef();\n this.state = {\n closing: false,\n };\n }\n\n componentDidMount() {\n this.props.scroll?.enableScrollLock();\n }\n\n componentWillUnmount() {\n this.props.scroll?.disableScrollLock();\n }\n\n element: React.RefObject<HTMLDivElement>;\n\n private transitionFinishTimeout: number | undefined = undefined;\n\n static defaultProps: Partial<TAlertProps> = {\n actionsLayout: \"horizontal\",\n actions: [],\n };\n\n private get timeout(): number {\n return this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 200\n : 300;\n }\n\n onItemClick: ItemClickHandler = (item: AlertActionInterface) => () => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n autoclose && this.props.onClose?.();\n action && action();\n }\n });\n } else {\n action && action();\n }\n };\n\n onClose: VoidFunction = () => {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n this.props.onClose?.();\n }\n });\n };\n\n stopPropagation: React.MouseEventHandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n };\n\n waitTransitionFinish(eventHandler: TransitionEndHandler) {\n if (transitionEvent.supported && this.element.current) {\n this.element.current.removeEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n this.element.current.addEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler.bind(this),\n this.timeout\n );\n }\n }\n\n renderHeader(header: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Headline vkuiClass=\"Alert__header\" weight=\"medium\">\n {header}\n </Headline>\n );\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"1\" level=\"3\">\n {header}\n </Title>\n );\n case ANDROID:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"2\" level=\"2\">\n {header}\n </Title>\n );\n default:\n return undefined;\n }\n }\n\n renderText(text: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return <Caption vkuiClass=\"Alert__text\">{text}</Caption>;\n case IOS:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"2\">\n {text}\n </Caption>\n );\n case ANDROID:\n return (\n <Headline vkuiClass=\"Alert__text\" weight=\"regular\">\n {text}\n </Headline>\n );\n default:\n return undefined;\n }\n }\n\n renderAction = (action: AlertActionInterface, i: number) => {\n const { platform } = this.props;\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"Alert__action\",\n `Alert__action--${action.mode}`\n )}\n onClick={this.onItemClick(action)}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (\n this.props.viewWidth === ViewWidth.DESKTOP &&\n action.mode === \"destructive\"\n ) {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={this.onItemClick(action)}\n Component={action.Component}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n };\n\n render() {\n const {\n actions,\n actionsLayout,\n children,\n className,\n style,\n platform,\n viewWidth,\n text,\n header,\n ...restProps\n } = this.props;\n const { closing } = this.state;\n\n const resolvedActionsLayout: TAlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={this.onClose}\n >\n <FocusTrap\n {...restProps}\n getRootRef={this.element}\n onClick={this.stopPropagation}\n onClose={this.onClose}\n timeout={this.timeout}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"Alert\", platform), {\n \"Alert--v\": resolvedActionsLayout === \"vertical\",\n \"Alert--h\": resolvedActionsLayout === \"horizontal\",\n \"Alert--closing\": closing,\n \"Alert--desktop\": isDesktop,\n })}\n >\n {canShowCloseButton && <ModalDismissButton onClick={this.onClose} />}\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && this.renderHeader(header)}\n {hasReactNode(text) && this.renderText(text)}\n {children}\n </div>\n <footer vkuiClass=\"Alert__actions\">\n {actions?.map(this.renderAction)}\n </footer>\n </FocusTrap>\n </PopoutWrapper>\n );\n }\n}\n\nexport const Alert = withContext(\n withPlatform(\n withAdaptivity(AlertComponent, {\n viewWidth: true,\n })\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"Alert.js"}
@@ -17,6 +17,7 @@ import { noop } from "../../lib/utils";
17
17
  import { warnOnce } from "../../lib/warnOnce";
18
18
  import { useKeyboardInputTracker } from "../../hooks/useKeyboardInputTracker";
19
19
  import { useInsets } from "../../hooks/useInsets";
20
+ import { ConfigProviderContext } from "../ConfigProvider/ConfigProviderContext";
20
21
  var warn = warnOnce("AppRoot");
21
22
  export var AppRoot = withAdaptivity(function (_ref) {
22
23
  var children = _ref.children,
@@ -45,6 +46,10 @@ export var AppRoot = withAdaptivity(function (_ref) {
45
46
  document = _useDOM.document;
46
47
 
47
48
  var insets = useInsets();
49
+
50
+ var _React$useContext = React.useContext(ConfigProviderContext),
51
+ appearance = _React$useContext.appearance;
52
+
48
53
  var initialized = React.useRef(false);
49
54
 
50
55
  if (!initialized.current) {
@@ -58,11 +63,11 @@ export var AppRoot = withAdaptivity(function (_ref) {
58
63
 
59
64
  if (process.env.NODE_ENV === "development") {
60
65
  if (scroll !== "global" && mode !== "embedded") {
61
- warn("Scroll modes only supported in embedded mode");
66
+ warn("\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E scroll=\"".concat(scroll, "\" \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 embedded"), "error");
62
67
  }
63
68
 
64
69
  if (_mode && _embedded) {
65
- warn("mode=\"".concat(mode, "\" overrides embedded"));
70
+ warn("\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E mode=\"".concat(mode, "\" \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u043D\u0435\u0435, \u0447\u0435\u043C \"embedded\""));
66
71
  }
67
72
  } // setup portal
68
73
 
@@ -140,6 +145,16 @@ export var AppRoot = withAdaptivity(function (_ref) {
140
145
  return container === null || container === void 0 ? void 0 : container.classList.remove("vkui--sizeX-regular");
141
146
  };
142
147
  }, [sizeX]);
148
+ useIsomorphicLayoutEffect(function () {
149
+ if (mode !== "full" || appearance === undefined) {
150
+ return noop;
151
+ }
152
+
153
+ document.documentElement.style.setProperty("color-scheme", appearance);
154
+ return function () {
155
+ return document.documentElement.style.removeProperty("color-scheme");
156
+ };
157
+ }, [appearance]);
143
158
  var scrollController = React.useMemo(function () {
144
159
  return scroll === "contain" ? elementScrollController(rootRef) : globalScrollController(window, document);
145
160
  }, [document, scroll, window]);
@@ -158,7 +173,8 @@ export var AppRoot = withAdaptivity(function (_ref) {
158
173
  globalClasses: !noLegacyClasses
159
174
  }, children)));
160
175
  return mode === "partial" ? content : createScopedElement("div", _extends({
161
- ref: rootRef,
176
+ ref: rootRef // eslint-disable-next-line vkui/no-object-expression-in-arguments
177
+ ,
162
178
  vkuiClass: classNames("AppRoot", {
163
179
  "AppRoot--no-mouse": !hasMouse
164
180
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","elementScrollController","globalScrollController","ScrollContext","noop","warnOnce","useKeyboardInputTracker","useInsets","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","window","document","insets","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","scrollController","useMemo","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n elementScrollController,\n globalScrollController,\n ScrollContext,\n ScrollContextInterface,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n}\n\nconst warn = warnOnce(\"AppRoot\");\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { window, document } = useDOM();\n const insets = useInsets();\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\"Scroll modes only supported in embedded mode\");\n }\n if (_mode && _embedded) {\n warn(`mode=\"${mode}\" overrides embedded`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement?.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () =>\n scroll === \"contain\"\n ? elementScrollController(rootRef)\n : globalScrollController(window, document),\n [document, scroll, window]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n }}\n >\n <ScrollContext.Provider value={scrollController}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollContext.Provider>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","elementScrollController","globalScrollController","ScrollContext","noop","warnOnce","useKeyboardInputTracker","useInsets","ConfigProviderContext","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","window","document","insets","useContext","appearance","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","undefined","scrollController","useMemo","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n elementScrollController,\n globalScrollController,\n ScrollContext,\n ScrollContextInterface,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n}\n\nconst warn = warnOnce(\"AppRoot\");\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { window, document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement?.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () =>\n scroll === \"contain\"\n ? elementScrollController(rootRef)\n : globalScrollController(window, document),\n [document, scroll, window]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n }}\n >\n <ScrollContext.Provider value={scrollController}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollContext.Provider>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
@@ -5,19 +5,11 @@ export interface ScrollContextInterface {
5
5
  y: number;
6
6
  };
7
7
  scrollTo(x?: number, y?: number): void;
8
+ enableScrollLock(): void;
9
+ disableScrollLock(): void;
8
10
  }
9
11
  export declare const ScrollContext: React.Context<ScrollContextInterface>;
10
- export declare const globalScrollController: (window: Window | undefined, document: HTMLDocument | undefined) => {
11
- getScroll: () => {
12
- x: number;
13
- y: number;
14
- };
15
- scrollTo: (x?: number, y?: number) => void;
16
- };
17
- export declare const elementScrollController: (elRef: React.RefObject<HTMLElement>) => {
18
- getScroll: () => {
19
- x: number;
20
- y: number;
21
- };
22
- scrollTo: (x?: number, y?: number) => void;
23
- };
12
+ export declare const useScroll: () => ScrollContextInterface;
13
+ export declare const globalScrollController: (window: Window | undefined, document: HTMLDocument | undefined) => ScrollContextInterface;
14
+ export declare const elementScrollController: (elRef: React.RefObject<HTMLElement>) => ScrollContextInterface;
15
+ export declare const useScrollLock: (enabled?: boolean) => void;
@@ -1,6 +1,19 @@
1
1
  import * as React from "react";
2
2
  import { noop } from "../../lib/utils";
3
+ import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
3
4
  import { clamp } from "../../helpers/math";
5
+
6
+ var clearDisableScrollStyle = function clearDisableScrollStyle(node) {
7
+ Object.assign(node.style, {
8
+ position: "",
9
+ top: "",
10
+ left: "",
11
+ right: "",
12
+ overflowY: "",
13
+ overflowX: ""
14
+ });
15
+ };
16
+
4
17
  export var ScrollContext = /*#__PURE__*/React.createContext({
5
18
  getScroll: function getScroll() {
6
19
  return {
@@ -8,8 +21,13 @@ export var ScrollContext = /*#__PURE__*/React.createContext({
8
21
  y: 0
9
22
  };
10
23
  },
11
- scrollTo: noop
24
+ scrollTo: noop,
25
+ enableScrollLock: noop,
26
+ disableScrollLock: noop
12
27
  });
28
+ export var useScroll = function useScroll() {
29
+ return React.useContext(ScrollContext);
30
+ };
13
31
  export var globalScrollController = function globalScrollController(window, document) {
14
32
  return {
15
33
  getScroll: function getScroll() {
@@ -23,6 +41,26 @@ export var globalScrollController = function globalScrollController(window, docu
23
41
  var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
24
42
  // Some iOS versions do not normalize scroll — do it manually.
25
43
  window.scrollTo(x ? clamp(x, 0, document.body.scrollWidth - window.innerWidth) : 0, y ? clamp(y, 0, document.body.scrollHeight - window.innerHeight) : 0);
44
+ },
45
+ enableScrollLock: function enableScrollLock() {
46
+ var scrollY = window.pageYOffset;
47
+ var scrollX = window.pageXOffset;
48
+ var overflowY = window.innerWidth > document.documentElement.clientWidth ? "scroll" : "";
49
+ var overflowX = window.innerHeight > document.documentElement.clientHeight ? "scroll" : "";
50
+ Object.assign(document.body.style, {
51
+ position: "fixed",
52
+ top: "-".concat(scrollY, "px"),
53
+ left: "-".concat(scrollX, "px"),
54
+ right: "0",
55
+ overflowY: overflowY,
56
+ overflowX: overflowX
57
+ });
58
+ },
59
+ disableScrollLock: function disableScrollLock() {
60
+ var scrollY = document.body.style.top;
61
+ var scrollX = document.body.style.left;
62
+ clearDisableScrollStyle(document.body);
63
+ window.scrollTo(-parseInt(scrollX || "0"), -parseInt(scrollY || "0"));
26
64
  }
27
65
  };
28
66
  };
@@ -42,7 +80,55 @@ export var elementScrollController = function elementScrollController(elRef) {
42
80
  var el = elRef.current; // Some iOS versions do not normalize scroll — do it manually.
43
81
 
44
82
  el === null || el === void 0 ? void 0 : el.scrollTo(x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0, y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0);
83
+ },
84
+ enableScrollLock: function enableScrollLock() {
85
+ var el = elRef.current;
86
+
87
+ if (!el) {
88
+ return;
89
+ }
90
+
91
+ var scrollY = el.scrollTop;
92
+ var scrollX = el.scrollLeft;
93
+ var overflowY = el.scrollWidth > el.clientWidth ? "scroll" : "";
94
+ var overflowX = el.scrollHeight > el.clientHeight ? "scroll" : "";
95
+ Object.assign(el.style, {
96
+ position: "absolute",
97
+ top: "-".concat(scrollY, "px"),
98
+ left: "-".concat(scrollX, "px"),
99
+ right: "0",
100
+ overflowY: overflowY,
101
+ overflowX: overflowX
102
+ });
103
+ },
104
+ disableScrollLock: function disableScrollLock() {
105
+ var el = elRef.current;
106
+
107
+ if (!el) {
108
+ return;
109
+ }
110
+
111
+ var scrollY = el.style.top;
112
+ var scrollX = el.style.left;
113
+ clearDisableScrollStyle(el);
114
+ el.scrollTo(-parseInt(scrollX || "0"), -parseInt(scrollY || "0"));
45
115
  }
46
116
  };
47
117
  };
118
+ export var useScrollLock = function useScrollLock() {
119
+ var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
120
+
121
+ var _useScroll = useScroll(),
122
+ enableScrollLock = _useScroll.enableScrollLock,
123
+ disableScrollLock = _useScroll.disableScrollLock;
124
+
125
+ useIsomorphicLayoutEffect(function () {
126
+ if (enabled) {
127
+ enableScrollLock();
128
+ return disableScrollLock;
129
+ }
130
+
131
+ return noop;
132
+ }, [enableScrollLock, disableScrollLock, enabled]);
133
+ };
48
134
  //# sourceMappingURL=ScrollContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/ScrollContext.ts"],"names":["React","noop","clamp","ScrollContext","createContext","getScroll","x","y","scrollTo","globalScrollController","window","document","pageXOffset","pageYOffset","body","scrollWidth","innerWidth","scrollHeight","innerHeight","elementScrollController","elRef","current","scrollLeft","scrollTop","el","clientWidth","clientHeight"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT;AACA,SAASC,KAAT;AAOA,OAAO,IAAMC,aAAa,gBAAGH,KAAK,CAACI,aAAN,CAA4C;AACvEC,EAAAA,SAAS,EAAE;AAAA,WAAO;AAAEC,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAP;AAAA,GAD4D;AAEvEC,EAAAA,QAAQ,EAAEP;AAF6D,CAA5C,CAAtB;AAKP,OAAO,IAAMQ,sBAAsB,GAAG,SAAzBA,sBAAyB,CACpCC,MADoC,EAEpCC,QAFoC;AAAA,SAGhC;AACJN,IAAAA,SAAS,EAAE;AAAA,aAAO;AAAEC,QAAAA,CAAC,EAAEI,MAAM,CAAEE,WAAb;AAA0BL,QAAAA,CAAC,EAAEG,MAAM,CAAEG;AAArC,OAAP;AAAA,KADP;AAEJL,IAAAA,QAAQ,EAAE,oBAAkB;AAAA,UAAjBF,CAAiB,uEAAb,CAAa;AAAA,UAAVC,CAAU,uEAAN,CAAM;AAC1B;AACAG,MAAAA,MAAM,CAAEF,QAAR,CACEF,CAAC,GAAGJ,KAAK,CAACI,CAAD,EAAI,CAAJ,EAAOK,QAAQ,CAAEG,IAAV,CAAeC,WAAf,GAA6BL,MAAM,CAAEM,UAA5C,CAAR,GAAkE,CADrE,EAEET,CAAC,GAAGL,KAAK,CAACK,CAAD,EAAI,CAAJ,EAAOI,QAAQ,CAAEG,IAAV,CAAeG,YAAf,GAA8BP,MAAM,CAAEQ,WAA7C,CAAR,GAAoE,CAFvE;AAID;AARG,GAHgC;AAAA,CAA/B;AAcP,OAAO,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CACrCC,KADqC;AAAA,SAEjC;AACJf,IAAAA,SAAS,EAAE;AAAA;;AAAA,aAAO;AAChBC,QAAAA,CAAC,6CAAEc,KAAK,CAACC,OAAR,mDAAE,eAAeC,UAAjB,yEAA+B,CADhB;AAEhBf,QAAAA,CAAC,+CAAEa,KAAK,CAACC,OAAR,oDAAE,gBAAeE,SAAjB,2EAA8B;AAFf,OAAP;AAAA,KADP;AAKJf,IAAAA,QAAQ,EAAE,oBAAkB;AAAA,UAAjBF,CAAiB,uEAAb,CAAa;AAAA,UAAVC,CAAU,uEAAN,CAAM;AAC1B,UAAMiB,EAAE,GAAGJ,KAAK,CAACC,OAAjB,CAD0B,CAE1B;;AACAG,MAAAA,EAAE,SAAF,IAAAA,EAAE,WAAF,YAAAA,EAAE,CAAEhB,QAAJ,CACEF,CAAC,GAAGJ,KAAK,CAACI,CAAD,EAAI,CAAJ,EAAOkB,EAAE,CAACT,WAAH,GAAiBS,EAAE,CAACC,WAA3B,CAAR,GAAkD,CADrD,EAEElB,CAAC,GAAGL,KAAK,CAACK,CAAD,EAAI,CAAJ,EAAOiB,EAAE,CAACP,YAAH,GAAkBO,EAAE,CAACE,YAA5B,CAAR,GAAoD,CAFvD;AAID;AAZG,GAFiC;AAAA,CAAhC","sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../../lib/utils\";\nimport { clamp } from \"../../helpers/math\";\n\nexport interface ScrollContextInterface {\n getScroll(): { x: number; y: number };\n scrollTo(x?: number, y?: number): void;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n});\n\nexport const globalScrollController = (\n window: Window | undefined,\n document: HTMLDocument | undefined\n) => ({\n getScroll: () => ({ x: window!.pageXOffset, y: window!.pageYOffset }),\n scrollTo: (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0\n );\n },\n});\n\nexport const elementScrollController = (\n elRef: React.RefObject<HTMLElement>\n) => ({\n getScroll: () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n scrollTo: (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0\n );\n },\n});\n"],"file":"ScrollContext.js"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/ScrollContext.ts"],"names":["React","noop","useIsomorphicLayoutEffect","clamp","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","ScrollContext","createContext","getScroll","x","y","scrollTo","enableScrollLock","disableScrollLock","useScroll","useContext","globalScrollController","window","document","pageXOffset","pageYOffset","body","scrollWidth","innerWidth","scrollHeight","innerHeight","scrollY","scrollX","documentElement","clientWidth","clientHeight","parseInt","elementScrollController","elRef","current","scrollLeft","scrollTop","el","useScrollLock","enabled"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../../lib/utils\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { clamp } from \"../../helpers/math\";\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: \"\",\n top: \"\",\n left: \"\",\n right: \"\",\n overflowY: \"\",\n overflowX: \"\",\n });\n};\n\nexport interface ScrollContextInterface {\n getScroll(): { x: number; y: number };\n scrollTo(x?: number, y?: number): void;\n enableScrollLock(): void;\n disableScrollLock(): void;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport const globalScrollController = (\n window: Window | undefined,\n document: HTMLDocument | undefined\n): ScrollContextInterface => ({\n getScroll: () => ({ x: window!.pageXOffset, y: window!.pageYOffset }),\n scrollTo: (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0\n );\n },\n enableScrollLock: () => {\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY =\n window!.innerWidth > document!.documentElement.clientWidth\n ? \"scroll\"\n : \"\";\n const overflowX =\n window!.innerHeight > document!.documentElement.clientHeight\n ? \"scroll\"\n : \"\";\n\n Object.assign(document!.body.style, {\n position: \"fixed\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n },\n disableScrollLock: () => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n },\n});\n\nexport const elementScrollController = (\n elRef: React.RefObject<HTMLElement>\n): ScrollContextInterface => ({\n getScroll: () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n scrollTo: (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0\n );\n },\n enableScrollLock: () => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? \"scroll\" : \"\";\n const overflowX = el.scrollHeight > el.clientHeight ? \"scroll\" : \"\";\n\n Object.assign(el.style, {\n position: \"absolute\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n },\n disableScrollLock: () => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n },\n});\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"file":"ScrollContext.js"}
@@ -89,6 +89,7 @@ var Avatar = function Avatar(_ref) {
89
89
 
90
90
  var hasSrc = src || srcSet;
91
91
  return createScopedElement("div", _extends({}, restProps, {
92
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
92
93
  vkuiClass: classNames(getClassName("Avatar", platform), "Avatar--type-".concat(mode), "Avatar--sz-".concat(size), {
93
94
  "Avatar--shadow": shadow,
94
95
  "Avatar--failed": failedImage
@@ -122,7 +123,8 @@ var Avatar = function Avatar(_ref) {
122
123
  }), children && createScopedElement("div", {
123
124
  vkuiClass: "Avatar__children"
124
125
  }, children), overlayIcon && createScopedElement(Tappable, {
125
- Component: "button",
126
+ Component: "button" // eslint-disable-next-line vkui/no-object-expression-in-arguments
127
+ ,
126
128
  vkuiClass: classNames("Avatar__overlay", {
127
129
  "Avatar__overlay--visible": overlayAction === "always",
128
130
  "Avatar__overlay--light": overlayMode === "light",
@@ -133,6 +135,7 @@ var Avatar = function Avatar(_ref) {
133
135
  hasActive: false,
134
136
  onClick: onClick
135
137
  }, overlayIcon), badge && createScopedElement("div", {
138
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
136
139
  vkuiClass: classNames("Avatar__badge", {
137
140
  "Avatar__badge--large": size >= 96,
138
141
  "Avatar__badge--shadow": badge !== "online" && badge !== "online-mobile"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Avatar/Avatar.tsx"],"names":["React","Icon12Circle","Icon12OnlineMobile","getClassName","classNames","usePlatform","useAdaptivity","Tappable","AVATAR_DEFAULT_SIZE","AVATAR_DEFAULT_SHADOW","Avatar","alt","crossOrigin","decoding","height","loading","referrerPolicy","sizes","src","srcSet","useMap","width","getRef","size","shadow","mode","className","children","getRootRef","style","ariaLabel","badge","overlayIcon","overlayMode","passedOverlayAction","overlayAction","onClick","restProps","platform","hasMouse","useState","failedImage","setFailedImage","onImageError","onImageLoad","borderRadius","hasSrc","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon12Circle, Icon12OnlineMobile } from \"@vkontakte/icons\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport \"./Avatar.css\";\n\nexport interface AvatarProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Рекомендуемый сет значений: 96 | 88 | 80 | 72 | 64 | 56 | 48 | 44 | 40 | 36 | 32 | 28 | 24\n */\n size?: number;\n mode?: \"default\" | \"image\" | \"app\";\n shadow?: boolean;\n badge?: \"online\" | \"online-mobile\" | JSX.Element;\n overlayIcon?: JSX.Element;\n overlayMode?: \"dark\" | \"light\";\n /**\n * Поведение показа overlay: \"hover\" - при наведении, \"always\" - всегда\n */\n overlayAction?: \"hover\" | \"always\";\n}\n\nexport const AVATAR_DEFAULT_SIZE = 48;\nexport const AVATAR_DEFAULT_SHADOW = true;\n\nconst Avatar: React.FC<AvatarProps> = ({\n alt,\n crossOrigin,\n decoding,\n height,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n width,\n getRef,\n size = AVATAR_DEFAULT_SIZE,\n shadow = AVATAR_DEFAULT_SHADOW,\n mode = \"default\",\n className,\n children,\n getRootRef,\n style,\n \"aria-label\": ariaLabel,\n badge,\n overlayIcon,\n overlayMode = \"light\",\n overlayAction: passedOverlayAction,\n onClick,\n ...restProps\n}: AvatarProps) => {\n const platform = usePlatform();\n const { hasMouse } = useAdaptivity();\n const [failedImage, setFailedImage] = React.useState(false);\n\n const overlayAction = passedOverlayAction ?? (hasMouse ? \"hover\" : \"always\");\n\n const onImageError = () => {\n setFailedImage(true);\n };\n\n const onImageLoad = () => {\n setFailedImage(false);\n };\n\n let borderRadius: string | number = \"50%\";\n\n switch (mode) {\n case \"image\":\n size < 64 && (borderRadius = 4);\n size >= 64 && size < 96 && (borderRadius = 6);\n size >= 96 && (borderRadius = 8);\n break;\n case \"app\":\n size <= 40 && (borderRadius = 8);\n size > 40 && size < 56 && (borderRadius = 10);\n size >= 56 && size < 64 && (borderRadius = 12);\n size >= 64 && size < 84 && (borderRadius = 16);\n size >= 84 && (borderRadius = 18);\n break;\n default:\n break;\n }\n\n const hasSrc = src || srcSet;\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Avatar\", platform),\n `Avatar--type-${mode}`,\n `Avatar--sz-${size}`,\n {\n \"Avatar--shadow\": shadow,\n \"Avatar--failed\": failedImage,\n }\n )}\n className={className}\n ref={getRootRef}\n role={hasSrc ? \"img\" : \"presentation\"}\n aria-label={alt || ariaLabel}\n onClick={!overlayIcon ? onClick : undefined}\n style={{ ...style, width: size, height: size, borderRadius }}\n >\n {hasSrc && (\n <img\n crossOrigin={crossOrigin}\n decoding={decoding}\n height={height}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={width}\n ref={getRef}\n onError={onImageError}\n onLoad={onImageLoad}\n vkuiClass=\"Avatar__img\"\n alt=\"\"\n />\n )}\n {children && <div vkuiClass=\"Avatar__children\">{children}</div>}\n {overlayIcon && (\n <Tappable\n Component=\"button\"\n vkuiClass={classNames(\"Avatar__overlay\", {\n \"Avatar__overlay--visible\": overlayAction === \"always\",\n \"Avatar__overlay--light\": overlayMode === \"light\",\n \"Avatar__overlay--dark\": overlayMode === \"dark\",\n })}\n hoverMode=\"Avatar__overlay--visible\"\n focusVisibleMode=\"Avatar__overlay--focus-visible\"\n hasActive={false}\n onClick={onClick}\n >\n {overlayIcon}\n </Tappable>\n )}\n {badge && (\n <div\n vkuiClass={classNames(\"Avatar__badge\", {\n \"Avatar__badge--large\": size >= 96,\n \"Avatar__badge--shadow\":\n badge !== \"online\" && badge !== \"online-mobile\",\n })}\n >\n {badge === \"online\" ? (\n <div vkuiClass=\"Avatar__badge-online\">\n <Icon12Circle\n width={size >= 72 ? 15 : 12}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : badge === \"online-mobile\" ? (\n <div vkuiClass=\"Avatar__badge-online-mobile\">\n <Icon12OnlineMobile\n width={size >= 72 ? 9 : 8}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : (\n badge\n )}\n </div>\n )}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Avatar;\n"],"file":"Avatar.js"}
1
+ {"version":3,"sources":["../../../src/components/Avatar/Avatar.tsx"],"names":["React","Icon12Circle","Icon12OnlineMobile","getClassName","classNames","usePlatform","useAdaptivity","Tappable","AVATAR_DEFAULT_SIZE","AVATAR_DEFAULT_SHADOW","Avatar","alt","crossOrigin","decoding","height","loading","referrerPolicy","sizes","src","srcSet","useMap","width","getRef","size","shadow","mode","className","children","getRootRef","style","ariaLabel","badge","overlayIcon","overlayMode","passedOverlayAction","overlayAction","onClick","restProps","platform","hasMouse","useState","failedImage","setFailedImage","onImageError","onImageLoad","borderRadius","hasSrc","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon12Circle, Icon12OnlineMobile } from \"@vkontakte/icons\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport \"./Avatar.css\";\n\nexport interface AvatarProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Рекомендуемый сет значений: 96 | 88 | 80 | 72 | 64 | 56 | 48 | 44 | 40 | 36 | 32 | 28 | 24\n */\n size?: number;\n mode?: \"default\" | \"image\" | \"app\";\n shadow?: boolean;\n badge?: \"online\" | \"online-mobile\" | JSX.Element;\n overlayIcon?: JSX.Element;\n overlayMode?: \"dark\" | \"light\";\n /**\n * Поведение показа overlay: \"hover\" - при наведении, \"always\" - всегда\n */\n overlayAction?: \"hover\" | \"always\";\n}\n\nexport const AVATAR_DEFAULT_SIZE = 48;\nexport const AVATAR_DEFAULT_SHADOW = true;\n\nconst Avatar: React.FC<AvatarProps> = ({\n alt,\n crossOrigin,\n decoding,\n height,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n width,\n getRef,\n size = AVATAR_DEFAULT_SIZE,\n shadow = AVATAR_DEFAULT_SHADOW,\n mode = \"default\",\n className,\n children,\n getRootRef,\n style,\n \"aria-label\": ariaLabel,\n badge,\n overlayIcon,\n overlayMode = \"light\",\n overlayAction: passedOverlayAction,\n onClick,\n ...restProps\n}: AvatarProps) => {\n const platform = usePlatform();\n const { hasMouse } = useAdaptivity();\n const [failedImage, setFailedImage] = React.useState(false);\n\n const overlayAction = passedOverlayAction ?? (hasMouse ? \"hover\" : \"always\");\n\n const onImageError = () => {\n setFailedImage(true);\n };\n\n const onImageLoad = () => {\n setFailedImage(false);\n };\n\n let borderRadius: string | number = \"50%\";\n\n switch (mode) {\n case \"image\":\n size < 64 && (borderRadius = 4);\n size >= 64 && size < 96 && (borderRadius = 6);\n size >= 96 && (borderRadius = 8);\n break;\n case \"app\":\n size <= 40 && (borderRadius = 8);\n size > 40 && size < 56 && (borderRadius = 10);\n size >= 56 && size < 64 && (borderRadius = 12);\n size >= 64 && size < 84 && (borderRadius = 16);\n size >= 84 && (borderRadius = 18);\n break;\n default:\n break;\n }\n\n const hasSrc = src || srcSet;\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Avatar\", platform),\n `Avatar--type-${mode}`,\n `Avatar--sz-${size}`,\n {\n \"Avatar--shadow\": shadow,\n \"Avatar--failed\": failedImage,\n }\n )}\n className={className}\n ref={getRootRef}\n role={hasSrc ? \"img\" : \"presentation\"}\n aria-label={alt || ariaLabel}\n onClick={!overlayIcon ? onClick : undefined}\n style={{ ...style, width: size, height: size, borderRadius }}\n >\n {hasSrc && (\n <img\n crossOrigin={crossOrigin}\n decoding={decoding}\n height={height}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={width}\n ref={getRef}\n onError={onImageError}\n onLoad={onImageLoad}\n vkuiClass=\"Avatar__img\"\n alt=\"\"\n />\n )}\n {children && <div vkuiClass=\"Avatar__children\">{children}</div>}\n {overlayIcon && (\n <Tappable\n Component=\"button\"\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Avatar__overlay\", {\n \"Avatar__overlay--visible\": overlayAction === \"always\",\n \"Avatar__overlay--light\": overlayMode === \"light\",\n \"Avatar__overlay--dark\": overlayMode === \"dark\",\n })}\n hoverMode=\"Avatar__overlay--visible\"\n focusVisibleMode=\"Avatar__overlay--focus-visible\"\n hasActive={false}\n onClick={onClick}\n >\n {overlayIcon}\n </Tappable>\n )}\n {badge && (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Avatar__badge\", {\n \"Avatar__badge--large\": size >= 96,\n \"Avatar__badge--shadow\":\n badge !== \"online\" && badge !== \"online-mobile\",\n })}\n >\n {badge === \"online\" ? (\n <div vkuiClass=\"Avatar__badge-online\">\n <Icon12Circle\n width={size >= 72 ? 15 : 12}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : badge === \"online-mobile\" ? (\n <div vkuiClass=\"Avatar__badge-online-mobile\">\n <Icon12OnlineMobile\n width={size >= 72 ? 9 : 8}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : (\n badge\n )}\n </div>\n )}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Avatar;\n"],"file":"Avatar.js"}