@vkontakte/vkui 4.28.1 → 4.29.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 (1055) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +5136 -9779
  4. package/.cache/ts/src/components/Button/Button.d.ts +1 -2
  5. package/.cache/ts/src/components/Cell/Cell.d.ts +1 -1
  6. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +1 -2
  7. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  8. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  9. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +2 -2
  10. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  11. package/.cache/ts/src/components/Gallery/Gallery.d.ts +9 -1
  12. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +1 -0
  13. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  14. package/.cache/ts/src/components/Input/Input.d.ts +1 -2
  15. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  16. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  17. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +16 -1
  18. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +14 -2
  19. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  20. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  21. package/.cache/ts/src/components/ModalRoot/types.d.ts +16 -1
  22. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +6 -5
  23. package/.cache/ts/src/components/Pagination/Pagination.d.ts +3 -3
  24. package/.cache/ts/src/components/Select/Select.d.ts +1 -2
  25. package/.cache/ts/src/components/Touch/TouchContext.d.ts +1 -1
  26. package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  27. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +1 -2
  28. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -2
  29. package/.cache/ts/src/hooks/useBridgeAdaptivity.d.ts +6 -0
  30. package/.cache/ts/src/hooks/useKeyboard.d.ts +1 -1
  31. package/.cache/ts/src/hooks/usePagination.d.ts +3 -3
  32. package/.cache/ts/src/index.d.ts +20 -9
  33. package/.cache/ts/src/lib/date.d.ts +29 -0
  34. package/.cache/ts/src/lib/getNavId.d.ts +2 -1
  35. package/.cache/ts/src/lib/warnOnce.d.ts +2 -1
  36. package/.cache/ts/src/testing/utils.d.ts +1 -0
  37. package/.cache/ts/src/tokenized/index.d.ts +22 -4
  38. package/.eslintrc.json +8 -2
  39. package/dist/cjs/components/ActionSheet/ActionSheet.js +1 -1
  40. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  41. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +2 -1
  42. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  43. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  44. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  45. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +7 -6
  46. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  47. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +44 -11
  48. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  49. package/dist/cjs/components/Alert/Alert.js +7 -6
  50. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  51. package/dist/cjs/components/AppRoot/AppRoot.js +3 -2
  52. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  53. package/dist/cjs/components/Avatar/Avatar.js +4 -1
  54. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  55. package/dist/cjs/components/Banner/Banner.js +5 -4
  56. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  57. package/dist/cjs/components/Button/Button.d.ts +1 -2
  58. package/dist/cjs/components/Button/Button.js +36 -41
  59. package/dist/cjs/components/Button/Button.js.map +1 -1
  60. package/dist/cjs/components/Calendar/Calendar.js +5 -5
  61. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  62. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -1
  63. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  64. package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -3
  65. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  66. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -15
  67. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  68. package/dist/cjs/components/CalendarRange/CalendarRange.js +12 -15
  69. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  70. package/dist/cjs/components/CalendarTime/CalendarTime.js +8 -10
  71. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  72. package/dist/cjs/components/CardScroll/CardScroll.js +3 -2
  73. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  74. package/dist/cjs/components/Cell/Cell.d.ts +1 -1
  75. package/dist/cjs/components/Cell/Cell.js +4 -3
  76. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  77. package/dist/cjs/components/CellButton/CellButton.js +1 -0
  78. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  79. package/dist/cjs/components/Chip/Chip.js +1 -0
  80. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  81. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -2
  82. package/dist/cjs/components/ChipsInput/ChipsInput.js +4 -9
  83. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  84. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  85. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +8 -12
  86. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  87. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +1 -1
  88. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  89. package/dist/cjs/components/ContentCard/ContentCard.js +4 -3
  90. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  91. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +2 -2
  92. package/dist/cjs/components/CustomSelect/CustomSelect.js +24 -33
  93. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  94. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  95. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  96. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  97. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +24 -14
  98. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  99. package/dist/cjs/components/DateInput/DateInput.js +5 -5
  100. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  101. package/dist/cjs/components/DatePicker/DatePicker.js +6 -6
  102. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  103. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +7 -7
  104. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  105. package/dist/cjs/components/File/File.js +2 -2
  106. package/dist/cjs/components/File/File.js.map +1 -1
  107. package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
  108. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  109. package/dist/cjs/components/FormField/FormField.js +2 -6
  110. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  111. package/dist/cjs/components/FormItem/FormItem.js +4 -3
  112. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  113. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  114. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  115. package/dist/cjs/components/Gallery/Gallery.d.ts +9 -1
  116. package/dist/cjs/components/Gallery/Gallery.js +10 -2
  117. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  118. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +1 -0
  119. package/dist/cjs/components/GridAvatar/GridAvatar.js +6 -6
  120. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  121. package/dist/cjs/components/Group/Group.js +2 -1
  122. package/dist/cjs/components/Group/Group.js.map +1 -1
  123. package/dist/cjs/components/Header/Header.js +10 -7
  124. package/dist/cjs/components/Header/Header.js.map +1 -1
  125. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +2 -2
  126. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  127. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  128. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +22 -21
  129. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  130. package/dist/cjs/components/InfoRow/InfoRow.js +2 -2
  131. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  132. package/dist/cjs/components/Input/Input.d.ts +1 -2
  133. package/dist/cjs/components/Input/Input.js +11 -15
  134. package/dist/cjs/components/Input/Input.js.map +1 -1
  135. package/dist/cjs/components/List/List.js +1 -0
  136. package/dist/cjs/components/List/List.js.map +1 -1
  137. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +1 -0
  138. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  139. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  140. package/dist/cjs/components/ModalCard/ModalCard.js +1 -0
  141. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  142. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  143. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +10 -4
  144. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  145. package/dist/cjs/components/ModalPage/ModalPage.d.ts +16 -1
  146. package/dist/cjs/components/ModalPage/ModalPage.js +5 -1
  147. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  148. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +1 -0
  149. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  150. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +14 -2
  151. package/dist/cjs/components/ModalRoot/ModalRoot.js +14 -11
  152. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  153. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  154. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  155. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  156. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +10 -7
  157. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  158. package/dist/cjs/components/ModalRoot/types.d.ts +16 -1
  159. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  160. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +6 -5
  161. package/dist/cjs/components/ModalRoot/useModalManager.js +54 -16
  162. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  163. package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -1
  164. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  165. package/dist/cjs/components/Pagination/Pagination.d.ts +3 -3
  166. package/dist/cjs/components/Pagination/Pagination.js +3 -3
  167. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  168. package/dist/cjs/components/Panel/Panel.js +2 -1
  169. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  170. package/dist/cjs/components/PanelHeader/PanelHeader.js +1 -0
  171. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  172. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  173. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  174. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +5 -4
  175. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  176. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  177. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  178. package/dist/cjs/components/Placeholder/Placeholder.js +4 -3
  179. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  180. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -0
  181. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  182. package/dist/cjs/components/Popper/Popper.js +2 -2
  183. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  184. package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -2
  185. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  186. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
  187. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  188. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  189. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  190. package/dist/cjs/components/RichCell/RichCell.js +3 -2
  191. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  192. package/dist/cjs/components/RichTooltip/RichTooltip.js +2 -1
  193. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  194. package/dist/cjs/components/Root/Root.js +8 -7
  195. package/dist/cjs/components/Root/Root.js.map +1 -1
  196. package/dist/cjs/components/Search/Search.js +3 -2
  197. package/dist/cjs/components/Search/Search.js.map +1 -1
  198. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +19 -13
  199. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  200. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  201. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  202. package/dist/cjs/components/Select/Select.d.ts +1 -2
  203. package/dist/cjs/components/Select/Select.js +7 -9
  204. package/dist/cjs/components/Select/Select.js.map +1 -1
  205. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +2 -1
  206. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  207. package/dist/cjs/components/Separator/Separator.js +3 -1
  208. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  209. package/dist/cjs/components/SimpleCell/SimpleCell.js +5 -4
  210. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  211. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  212. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  213. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -0
  214. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  215. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +1 -0
  216. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  217. package/dist/cjs/components/Snackbar/Snackbar.js +3 -2
  218. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  219. package/dist/cjs/components/Spacing/Spacing.js +2 -1
  220. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  221. package/dist/cjs/components/SplitCol/SplitCol.js +2 -1
  222. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  223. package/dist/cjs/components/SplitLayout/SplitLayout.js +2 -1
  224. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  225. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +2 -2
  226. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  227. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +4 -3
  228. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  229. package/dist/cjs/components/Switch/Switch.js +1 -0
  230. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  231. package/dist/cjs/components/Tabbar/Tabbar.js +1 -0
  232. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  233. package/dist/cjs/components/TabbarItem/TabbarItem.js +2 -1
  234. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  235. package/dist/cjs/components/TabsItem/TabsItem.js +3 -2
  236. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  237. package/dist/cjs/components/Tappable/Tappable.js +5 -4
  238. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  239. package/dist/cjs/components/TextTooltip/TextTooltip.js +3 -3
  240. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  241. package/dist/cjs/components/Tooltip/Tooltip.js +6 -6
  242. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  243. package/dist/cjs/components/Touch/Touch.js +9 -3
  244. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  245. package/dist/cjs/components/Touch/TouchContext.d.ts +1 -1
  246. package/dist/cjs/components/Touch/TouchContext.js +1 -1
  247. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  248. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  249. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +42 -0
  250. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -0
  251. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +1 -2
  252. package/dist/cjs/components/Typography/Subhead/Subhead.js +4 -6
  253. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  254. package/dist/cjs/components/Typography/Text/Text.js +1 -1
  255. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  256. package/dist/cjs/components/Typography/Title/Title.d.ts +1 -2
  257. package/dist/cjs/components/Typography/Title/Title.js +5 -11
  258. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  259. package/dist/cjs/components/UsersStack/UsersStack.js +3 -2
  260. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  261. package/dist/cjs/components/View/View.js +5 -0
  262. package/dist/cjs/components/View/View.js.map +1 -1
  263. package/dist/cjs/components/View/ViewInfinite.js +5 -0
  264. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  265. package/dist/cjs/components/View/utils.js +5 -2
  266. package/dist/cjs/components/View/utils.js.map +1 -1
  267. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -2
  268. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  269. package/dist/cjs/helpers/scheme.js +2 -2
  270. package/dist/cjs/helpers/scheme.js.map +1 -1
  271. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +6 -0
  272. package/dist/cjs/hooks/useBridgeAdaptivity.js +85 -0
  273. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -0
  274. package/dist/cjs/hooks/useCalendar.js +6 -6
  275. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  276. package/dist/cjs/hooks/useKeyboard.d.ts +1 -1
  277. package/dist/cjs/hooks/useKeyboard.js +1 -1
  278. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  279. package/dist/cjs/hooks/usePagination.d.ts +3 -3
  280. package/dist/cjs/hooks/usePagination.js +3 -3
  281. package/dist/cjs/hooks/usePagination.js.map +1 -1
  282. package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
  283. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  284. package/dist/cjs/hooks/useWaitTransitionFinish.js +6 -1
  285. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  286. package/dist/cjs/index.d.ts +20 -9
  287. package/dist/cjs/index.js +26 -18
  288. package/dist/cjs/index.js.map +1 -1
  289. package/dist/cjs/lib/calendar.js +12 -23
  290. package/dist/cjs/lib/calendar.js.map +1 -1
  291. package/dist/cjs/lib/date.d.ts +29 -0
  292. package/dist/cjs/lib/date.js +286 -0
  293. package/dist/cjs/lib/date.js.map +1 -0
  294. package/dist/cjs/lib/getNavId.d.ts +2 -1
  295. package/dist/cjs/lib/getNavId.js +1 -1
  296. package/dist/cjs/lib/getNavId.js.map +1 -1
  297. package/dist/cjs/lib/warnOnce.d.ts +2 -1
  298. package/dist/cjs/lib/warnOnce.js +3 -1
  299. package/dist/cjs/lib/warnOnce.js.map +1 -1
  300. package/dist/cjs/tokenized/index.d.ts +22 -4
  301. package/dist/cjs/tokenized/index.js +80 -10
  302. package/dist/cjs/tokenized/index.js.map +1 -1
  303. package/dist/components/ActionSheet/ActionSheet.js +1 -1
  304. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  305. package/dist/components/ActionSheet/ActionSheetDropdown.js +2 -1
  306. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  307. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  308. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  309. package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -3
  310. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  311. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  312. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  313. package/dist/components/Alert/Alert.js +4 -3
  314. package/dist/components/Alert/Alert.js.map +1 -1
  315. package/dist/components/AppRoot/AppRoot.js +3 -2
  316. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  317. package/dist/components/Avatar/Avatar.js +4 -1
  318. package/dist/components/Avatar/Avatar.js.map +1 -1
  319. package/dist/components/Banner/Banner.js +3 -2
  320. package/dist/components/Banner/Banner.js.map +1 -1
  321. package/dist/components/Button/Button.d.ts +1 -2
  322. package/dist/components/Button/Button.js +29 -33
  323. package/dist/components/Button/Button.js.map +1 -1
  324. package/dist/components/Calendar/Calendar.js +3 -3
  325. package/dist/components/Calendar/Calendar.js.map +1 -1
  326. package/dist/components/CalendarDay/CalendarDay.js +4 -1
  327. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  328. package/dist/components/CalendarDays/CalendarDays.js +1 -1
  329. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  330. package/dist/components/CalendarHeader/CalendarHeader.js +8 -8
  331. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  332. package/dist/components/CalendarRange/CalendarRange.js +2 -5
  333. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  334. package/dist/components/CalendarTime/CalendarTime.js +3 -3
  335. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  336. package/dist/components/CardScroll/CardScroll.js +2 -1
  337. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  338. package/dist/components/Cell/Cell.d.ts +1 -1
  339. package/dist/components/Cell/Cell.js +4 -3
  340. package/dist/components/Cell/Cell.js.map +1 -1
  341. package/dist/components/CellButton/CellButton.js +1 -0
  342. package/dist/components/CellButton/CellButton.js.map +1 -1
  343. package/dist/components/Chip/Chip.js +1 -0
  344. package/dist/components/Chip/Chip.js.map +1 -1
  345. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -2
  346. package/dist/components/ChipsInput/ChipsInput.js +3 -10
  347. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  348. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  349. package/dist/components/ChipsSelect/ChipsSelect.js +3 -6
  350. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  351. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  352. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  353. package/dist/components/ContentCard/ContentCard.js +3 -2
  354. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  355. package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
  356. package/dist/components/CustomSelect/CustomSelect.js +20 -27
  357. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  358. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  359. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  360. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  361. package/dist/components/CustomSelectOption/CustomSelectOption.js +19 -15
  362. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  363. package/dist/components/DateInput/DateInput.js +3 -3
  364. package/dist/components/DateInput/DateInput.js.map +1 -1
  365. package/dist/components/DatePicker/DatePicker.js +2 -2
  366. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  367. package/dist/components/DateRangeInput/DateRangeInput.js +2 -2
  368. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  369. package/dist/components/File/File.js +1 -1
  370. package/dist/components/File/File.js.map +1 -1
  371. package/dist/components/FixedLayout/FixedLayout.js +2 -1
  372. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  373. package/dist/components/FormField/FormField.js +2 -6
  374. package/dist/components/FormField/FormField.js.map +1 -1
  375. package/dist/components/FormItem/FormItem.js +3 -2
  376. package/dist/components/FormItem/FormItem.js.map +1 -1
  377. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  378. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  379. package/dist/components/Gallery/Gallery.d.ts +9 -1
  380. package/dist/components/Gallery/Gallery.js +10 -2
  381. package/dist/components/Gallery/Gallery.js.map +1 -1
  382. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -0
  383. package/dist/components/GridAvatar/GridAvatar.js +5 -6
  384. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  385. package/dist/components/Group/Group.js +2 -1
  386. package/dist/components/Group/Group.js.map +1 -1
  387. package/dist/components/Header/Header.js +7 -4
  388. package/dist/components/Header/Header.js.map +1 -1
  389. package/dist/components/HorizontalCell/HorizontalCell.js +1 -1
  390. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  391. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  392. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -18
  393. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  394. package/dist/components/InfoRow/InfoRow.js +1 -1
  395. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  396. package/dist/components/Input/Input.d.ts +1 -2
  397. package/dist/components/Input/Input.js +8 -10
  398. package/dist/components/Input/Input.js.map +1 -1
  399. package/dist/components/List/List.js +1 -0
  400. package/dist/components/List/List.js.map +1 -1
  401. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -0
  402. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  403. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  404. package/dist/components/ModalCard/ModalCard.js +1 -0
  405. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  406. package/dist/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  407. package/dist/components/ModalCardBase/ModalCardBase.js +9 -3
  408. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  409. package/dist/components/ModalPage/ModalPage.d.ts +16 -1
  410. package/dist/components/ModalPage/ModalPage.js +5 -1
  411. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  412. package/dist/components/ModalPageHeader/ModalPageHeader.js +1 -0
  413. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  414. package/dist/components/ModalRoot/ModalRoot.d.ts +14 -2
  415. package/dist/components/ModalRoot/ModalRoot.js +14 -11
  416. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  417. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  418. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  419. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  420. package/dist/components/ModalRoot/ModalRootDesktop.js +10 -7
  421. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  422. package/dist/components/ModalRoot/types.d.ts +16 -1
  423. package/dist/components/ModalRoot/types.js.map +1 -1
  424. package/dist/components/ModalRoot/useModalManager.d.ts +6 -5
  425. package/dist/components/ModalRoot/useModalManager.js +54 -16
  426. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  427. package/dist/components/NativeSelect/NativeSelect.js +2 -1
  428. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  429. package/dist/components/Pagination/Pagination.d.ts +3 -3
  430. package/dist/components/Pagination/Pagination.js +1 -1
  431. package/dist/components/Pagination/Pagination.js.map +1 -1
  432. package/dist/components/Panel/Panel.js +2 -1
  433. package/dist/components/Panel/Panel.js.map +1 -1
  434. package/dist/components/PanelHeader/PanelHeader.js +1 -0
  435. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  436. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  437. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  438. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  439. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  440. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  441. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  442. package/dist/components/Placeholder/Placeholder.js +3 -2
  443. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  444. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -0
  445. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  446. package/dist/components/Popper/Popper.js +2 -2
  447. package/dist/components/Popper/Popper.js.map +1 -1
  448. package/dist/components/PromoBanner/PromoBanner.js +1 -1
  449. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  450. package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
  451. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  452. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  453. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  454. package/dist/components/RichCell/RichCell.js +2 -1
  455. package/dist/components/RichCell/RichCell.js.map +1 -1
  456. package/dist/components/RichTooltip/RichTooltip.js +2 -1
  457. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  458. package/dist/components/Root/Root.js +8 -7
  459. package/dist/components/Root/Root.js.map +1 -1
  460. package/dist/components/Search/Search.js +2 -1
  461. package/dist/components/Search/Search.js.map +1 -1
  462. package/dist/components/SegmentedControl/SegmentedControl.js +19 -13
  463. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  464. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  465. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  466. package/dist/components/Select/Select.d.ts +1 -2
  467. package/dist/components/Select/Select.js +4 -5
  468. package/dist/components/Select/Select.js.map +1 -1
  469. package/dist/components/SelectMimicry/SelectMimicry.js +2 -1
  470. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  471. package/dist/components/Separator/Separator.js +3 -1
  472. package/dist/components/Separator/Separator.js.map +1 -1
  473. package/dist/components/SimpleCell/SimpleCell.js +3 -2
  474. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  475. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  476. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  477. package/dist/components/SliderSwitch/SliderSwitch.js +1 -0
  478. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  479. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -0
  480. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  481. package/dist/components/Snackbar/Snackbar.js +2 -1
  482. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  483. package/dist/components/Spacing/Spacing.js +2 -1
  484. package/dist/components/Spacing/Spacing.js.map +1 -1
  485. package/dist/components/SplitCol/SplitCol.js +2 -1
  486. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  487. package/dist/components/SplitLayout/SplitLayout.js +2 -1
  488. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  489. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -1
  490. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  491. package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -2
  492. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  493. package/dist/components/Switch/Switch.js +1 -0
  494. package/dist/components/Switch/Switch.js.map +1 -1
  495. package/dist/components/Tabbar/Tabbar.js +1 -0
  496. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  497. package/dist/components/TabbarItem/TabbarItem.js +2 -1
  498. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  499. package/dist/components/TabsItem/TabsItem.js +2 -1
  500. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  501. package/dist/components/Tappable/Tappable.js +5 -4
  502. package/dist/components/Tappable/Tappable.js.map +1 -1
  503. package/dist/components/TextTooltip/TextTooltip.js +1 -1
  504. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  505. package/dist/components/Tooltip/Tooltip.js +4 -4
  506. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  507. package/dist/components/Touch/Touch.js +9 -3
  508. package/dist/components/Touch/Touch.js.map +1 -1
  509. package/dist/components/Touch/TouchContext.d.ts +1 -1
  510. package/dist/components/Touch/TouchContext.js +1 -1
  511. package/dist/components/Touch/TouchContext.js.map +1 -1
  512. package/dist/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  513. package/dist/components/Typography/Paragraph/Paragraph.js +25 -0
  514. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -0
  515. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -2
  516. package/dist/components/Typography/Subhead/Subhead.js +3 -7
  517. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  518. package/dist/components/Typography/Text/Text.js +1 -1
  519. package/dist/components/Typography/Text/Text.js.map +1 -1
  520. package/dist/components/Typography/Title/Title.d.ts +1 -2
  521. package/dist/components/Typography/Title/Title.js +3 -9
  522. package/dist/components/Typography/Title/Title.js.map +1 -1
  523. package/dist/components/UsersStack/UsersStack.js +2 -1
  524. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  525. package/dist/components/View/View.js +5 -0
  526. package/dist/components/View/View.js.map +1 -1
  527. package/dist/components/View/ViewInfinite.js +5 -0
  528. package/dist/components/View/ViewInfinite.js.map +1 -1
  529. package/dist/components/View/utils.js +5 -2
  530. package/dist/components/View/utils.js.map +1 -1
  531. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -2
  532. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  533. package/dist/components.css +21 -6
  534. package/dist/components.css.map +1 -1
  535. package/dist/cssm/components/ActionSheet/ActionSheet.js +1 -1
  536. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  537. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +2 -1
  538. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  539. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  540. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  541. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -3
  542. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  543. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  544. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  545. package/dist/cssm/components/Alert/Alert.css +1 -1
  546. package/dist/cssm/components/Alert/Alert.js +4 -3
  547. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  548. package/dist/cssm/components/AppRoot/AppRoot.js +3 -2
  549. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  550. package/dist/cssm/components/Avatar/Avatar.js +4 -1
  551. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  552. package/dist/cssm/components/Banner/Banner.js +3 -2
  553. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  554. package/dist/cssm/components/Button/Button.d.ts +1 -2
  555. package/dist/cssm/components/Button/Button.js +29 -33
  556. package/dist/cssm/components/Button/Button.js.map +1 -1
  557. package/dist/cssm/components/Calendar/Calendar.js +3 -3
  558. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  559. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  560. package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -1
  561. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  562. package/dist/cssm/components/CalendarDays/CalendarDays.js +1 -1
  563. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  564. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +8 -8
  565. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  566. package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -5
  567. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  568. package/dist/cssm/components/CalendarTime/CalendarTime.js +3 -3
  569. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  570. package/dist/cssm/components/CardScroll/CardScroll.js +2 -1
  571. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  572. package/dist/cssm/components/Cell/Cell.d.ts +1 -1
  573. package/dist/cssm/components/Cell/Cell.js +4 -3
  574. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  575. package/dist/cssm/components/CellButton/CellButton.js +1 -0
  576. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  577. package/dist/cssm/components/Chip/Chip.js +1 -0
  578. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  579. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  580. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +1 -2
  581. package/dist/cssm/components/ChipsInput/ChipsInput.js +3 -10
  582. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  583. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  584. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  585. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +3 -6
  586. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  587. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
  588. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  589. package/dist/cssm/components/ContentCard/ContentCard.js +3 -2
  590. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  591. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  592. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +2 -2
  593. package/dist/cssm/components/CustomSelect/CustomSelect.js +20 -27
  594. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  595. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -1
  596. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  597. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  598. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -1
  599. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  600. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +19 -15
  601. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  602. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  603. package/dist/cssm/components/DateInput/DateInput.js +3 -3
  604. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  605. package/dist/cssm/components/DatePicker/DatePicker.js +2 -2
  606. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  607. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  608. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -2
  609. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  610. package/dist/cssm/components/File/File.js +1 -1
  611. package/dist/cssm/components/File/File.js.map +1 -1
  612. package/dist/cssm/components/FixedLayout/FixedLayout.js +2 -1
  613. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  614. package/dist/cssm/components/FormField/FormField.css +5 -1
  615. package/dist/cssm/components/FormField/FormField.js +2 -6
  616. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  617. package/dist/cssm/components/FormItem/FormItem.js +3 -2
  618. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  619. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  620. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  621. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  622. package/dist/cssm/components/Gallery/Gallery.d.ts +9 -1
  623. package/dist/cssm/components/Gallery/Gallery.js +10 -2
  624. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  625. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  626. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +1 -0
  627. package/dist/cssm/components/GridAvatar/GridAvatar.js +5 -6
  628. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  629. package/dist/cssm/components/Group/Group.js +2 -1
  630. package/dist/cssm/components/Group/Group.js.map +1 -1
  631. package/dist/cssm/components/Header/Header.js +7 -4
  632. package/dist/cssm/components/Header/Header.js.map +1 -1
  633. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -1
  634. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  635. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  636. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -18
  637. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  638. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  639. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  640. package/dist/cssm/components/Input/Input.css +1 -1
  641. package/dist/cssm/components/Input/Input.d.ts +1 -2
  642. package/dist/cssm/components/Input/Input.js +8 -10
  643. package/dist/cssm/components/Input/Input.js.map +1 -1
  644. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  645. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  646. package/dist/cssm/components/List/List.js +1 -0
  647. package/dist/cssm/components/List/List.js.map +1 -1
  648. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -0
  649. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  650. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  651. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  652. package/dist/cssm/components/ModalCard/ModalCard.js +1 -0
  653. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  654. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +1 -1
  655. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  656. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +9 -3
  657. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  658. package/dist/cssm/components/ModalPage/ModalPage.d.ts +16 -1
  659. package/dist/cssm/components/ModalPage/ModalPage.js +5 -1
  660. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  661. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +1 -0
  662. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  663. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +14 -2
  664. package/dist/cssm/components/ModalRoot/ModalRoot.js +14 -11
  665. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  666. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  667. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  668. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  669. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +10 -7
  670. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  671. package/dist/cssm/components/ModalRoot/types.d.ts +16 -1
  672. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  673. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +6 -5
  674. package/dist/cssm/components/ModalRoot/useModalManager.js +54 -16
  675. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  676. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -1
  677. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  678. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  679. package/dist/cssm/components/Pagination/Pagination.d.ts +3 -3
  680. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  681. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  682. package/dist/cssm/components/Panel/Panel.js +2 -1
  683. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  684. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  685. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -0
  686. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  687. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  688. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  689. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  690. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  691. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  692. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  693. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  694. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  695. package/dist/cssm/components/Placeholder/Placeholder.js +3 -2
  696. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  697. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -0
  698. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  699. package/dist/cssm/components/Popper/Popper.js +2 -2
  700. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  701. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -1
  702. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  703. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +2 -1
  704. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  705. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  706. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  707. package/dist/cssm/components/Removable/Removable.css +1 -1
  708. package/dist/cssm/components/RichCell/RichCell.js +2 -1
  709. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  710. package/dist/cssm/components/RichTooltip/RichTooltip.js +2 -1
  711. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  712. package/dist/cssm/components/Root/Root.css +1 -1
  713. package/dist/cssm/components/Root/Root.js +8 -7
  714. package/dist/cssm/components/Root/Root.js.map +1 -1
  715. package/dist/cssm/components/Search/Search.css +1 -1
  716. package/dist/cssm/components/Search/Search.js +2 -1
  717. package/dist/cssm/components/Search/Search.js.map +1 -1
  718. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +19 -13
  719. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  720. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  721. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  722. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  723. package/dist/cssm/components/Select/Select.css +1 -1
  724. package/dist/cssm/components/Select/Select.d.ts +1 -2
  725. package/dist/cssm/components/Select/Select.js +4 -5
  726. package/dist/cssm/components/Select/Select.js.map +1 -1
  727. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -1
  728. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  729. package/dist/cssm/components/Separator/Separator.js +3 -1
  730. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  731. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  732. package/dist/cssm/components/SimpleCell/SimpleCell.js +3 -2
  733. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  734. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  735. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  736. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -0
  737. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  738. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -0
  739. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  740. package/dist/cssm/components/Snackbar/Snackbar.js +2 -1
  741. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  742. package/dist/cssm/components/Spacing/Spacing.js +2 -1
  743. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  744. package/dist/cssm/components/SplitCol/SplitCol.js +2 -1
  745. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  746. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  747. package/dist/cssm/components/SplitLayout/SplitLayout.js +2 -1
  748. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  749. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  750. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  751. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -2
  752. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  753. package/dist/cssm/components/Switch/Switch.js +1 -0
  754. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  755. package/dist/cssm/components/Tabbar/Tabbar.js +1 -0
  756. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  757. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  758. package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -1
  759. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  760. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  761. package/dist/cssm/components/TabsItem/TabsItem.js +2 -1
  762. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  763. package/dist/cssm/components/Tappable/Tappable.css +1 -1
  764. package/dist/cssm/components/Tappable/Tappable.js +5 -4
  765. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  766. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  767. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  768. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  769. package/dist/cssm/components/Tooltip/Tooltip.js +4 -4
  770. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  771. package/dist/cssm/components/Touch/Touch.js +9 -3
  772. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  773. package/dist/cssm/components/Touch/TouchContext.d.ts +1 -1
  774. package/dist/cssm/components/Touch/TouchContext.js +1 -1
  775. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  776. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  777. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  778. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -0
  779. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  780. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +26 -0
  781. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -0
  782. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  783. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -2
  784. package/dist/cssm/components/Typography/Subhead/Subhead.js +3 -7
  785. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  786. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  787. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  788. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  789. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  790. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -2
  791. package/dist/cssm/components/Typography/Title/Title.js +3 -9
  792. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  793. package/dist/cssm/components/UsersStack/UsersStack.js +2 -1
  794. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  795. package/dist/cssm/components/View/View.css +1 -1
  796. package/dist/cssm/components/View/View.js +5 -0
  797. package/dist/cssm/components/View/View.js.map +1 -1
  798. package/dist/cssm/components/View/ViewIOS.css +1 -1
  799. package/dist/cssm/components/View/ViewInfinite.js +5 -0
  800. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  801. package/dist/cssm/components/View/utils.js +5 -2
  802. package/dist/cssm/components/View/utils.js.map +1 -1
  803. package/dist/cssm/components/WriteBar/WriteBar.css +1 -1
  804. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -2
  805. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  806. package/dist/cssm/helpers/scheme.js +2 -2
  807. package/dist/cssm/helpers/scheme.js.map +1 -1
  808. package/dist/cssm/hooks/useBridgeAdaptivity.d.ts +6 -0
  809. package/dist/cssm/hooks/useBridgeAdaptivity.js +68 -0
  810. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -0
  811. package/dist/cssm/hooks/useCalendar.js +1 -1
  812. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  813. package/dist/cssm/hooks/useKeyboard.d.ts +1 -1
  814. package/dist/cssm/hooks/useKeyboard.js +1 -1
  815. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  816. package/dist/cssm/hooks/usePagination.d.ts +3 -3
  817. package/dist/cssm/hooks/usePagination.js +3 -3
  818. package/dist/cssm/hooks/usePagination.js.map +1 -1
  819. package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
  820. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  821. package/dist/cssm/hooks/useWaitTransitionFinish.js +5 -1
  822. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  823. package/dist/cssm/index.d.ts +20 -9
  824. package/dist/cssm/index.js +11 -13
  825. package/dist/cssm/index.js.map +1 -1
  826. package/dist/cssm/lib/calendar.js +4 -15
  827. package/dist/cssm/lib/calendar.js.map +1 -1
  828. package/dist/cssm/lib/date.d.ts +29 -0
  829. package/dist/cssm/lib/date.js +223 -0
  830. package/dist/cssm/lib/date.js.map +1 -0
  831. package/dist/cssm/lib/getNavId.d.ts +2 -1
  832. package/dist/cssm/lib/getNavId.js +1 -1
  833. package/dist/cssm/lib/getNavId.js.map +1 -1
  834. package/dist/cssm/lib/warnOnce.d.ts +2 -1
  835. package/dist/cssm/lib/warnOnce.js +3 -1
  836. package/dist/cssm/lib/warnOnce.js.map +1 -1
  837. package/dist/cssm/styles/common.css +1 -1
  838. package/dist/cssm/styles/components.css +21 -6
  839. package/dist/cssm/styles/constants.css +8 -1
  840. package/dist/cssm/styles/themes.css +1 -1
  841. package/dist/cssm/styles/unstable.css +1 -1
  842. package/dist/cssm/tokenized/index.d.ts +22 -4
  843. package/dist/cssm/tokenized/index.js +13 -4
  844. package/dist/cssm/tokenized/index.js.map +1 -1
  845. package/dist/helpers/scheme.js +2 -2
  846. package/dist/helpers/scheme.js.map +1 -1
  847. package/dist/hooks/useBridgeAdaptivity.d.ts +6 -0
  848. package/dist/hooks/useBridgeAdaptivity.js +68 -0
  849. package/dist/hooks/useBridgeAdaptivity.js.map +1 -0
  850. package/dist/hooks/useCalendar.js +1 -1
  851. package/dist/hooks/useCalendar.js.map +1 -1
  852. package/dist/hooks/useKeyboard.d.ts +1 -1
  853. package/dist/hooks/useKeyboard.js +1 -1
  854. package/dist/hooks/useKeyboard.js.map +1 -1
  855. package/dist/hooks/usePagination.d.ts +3 -3
  856. package/dist/hooks/usePagination.js +3 -3
  857. package/dist/hooks/usePagination.js.map +1 -1
  858. package/dist/hooks/usePatchChildrenRef.js +1 -1
  859. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  860. package/dist/hooks/useWaitTransitionFinish.js +5 -1
  861. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  862. package/dist/index.d.ts +20 -9
  863. package/dist/index.js +11 -13
  864. package/dist/index.js.map +1 -1
  865. package/dist/lib/calendar.js +4 -15
  866. package/dist/lib/calendar.js.map +1 -1
  867. package/dist/lib/date.d.ts +29 -0
  868. package/dist/lib/date.js +223 -0
  869. package/dist/lib/date.js.map +1 -0
  870. package/dist/lib/getNavId.d.ts +2 -1
  871. package/dist/lib/getNavId.js +1 -1
  872. package/dist/lib/getNavId.js.map +1 -1
  873. package/dist/lib/warnOnce.d.ts +2 -1
  874. package/dist/lib/warnOnce.js +3 -1
  875. package/dist/lib/warnOnce.js.map +1 -1
  876. package/dist/tokenized/index.d.ts +22 -4
  877. package/dist/tokenized/index.js +13 -4
  878. package/dist/tokenized/index.js.map +1 -1
  879. package/dist/unstable.css +1 -1
  880. package/dist/unstable.css.map +1 -1
  881. package/dist/vkui.css +22 -7
  882. package/dist/vkui.css.map +1 -1
  883. package/eslint-plugin-vkui/index.js +64 -0
  884. package/eslint-plugin-vkui/package.json +5 -0
  885. package/jest.unit.config.js +4 -1
  886. package/package.json +4 -3
  887. package/postcss-plugin-vk-sans/__tests__/custom_properties.css +4 -0
  888. package/postcss-plugin-vk-sans/index.js +343 -0
  889. package/src/components/ActionSheet/ActionSheet.tsx +1 -1
  890. package/src/components/ActionSheet/ActionSheetDropdown.tsx +1 -0
  891. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -1
  892. package/src/components/ActionSheetItem/ActionSheetItem.tsx +3 -2
  893. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +50 -19
  894. package/src/components/Alert/Alert.tsx +5 -4
  895. package/src/components/AppRoot/AppRoot.tsx +2 -1
  896. package/src/components/Avatar/Avatar.tsx +3 -0
  897. package/src/components/Banner/Banner.tsx +3 -2
  898. package/src/components/Button/Button.css +7 -7
  899. package/src/components/Button/Button.tsx +25 -36
  900. package/src/components/Calendar/Calendar.tsx +4 -3
  901. package/src/components/Calendar/Readme.md +2 -2
  902. package/src/components/CalendarDay/CalendarDay.tsx +3 -0
  903. package/src/components/CalendarDays/CalendarDays.tsx +1 -1
  904. package/src/components/CalendarHeader/CalendarHeader.tsx +11 -10
  905. package/src/components/CalendarRange/CalendarRange.tsx +2 -5
  906. package/src/components/CalendarRange/Readme.md +2 -2
  907. package/src/components/CalendarTime/CalendarTime.tsx +3 -3
  908. package/src/components/CardScroll/CardScroll.tsx +3 -1
  909. package/src/components/Cell/Cell.tsx +4 -3
  910. package/src/components/CellButton/CellButton.tsx +1 -0
  911. package/src/components/Chip/Chip.tsx +1 -0
  912. package/src/components/ChipsInput/ChipsInput.css +4 -4
  913. package/src/components/ChipsInput/ChipsInput.tsx +7 -8
  914. package/src/components/ChipsSelect/ChipsSelect.css +1 -1
  915. package/src/components/ChipsSelect/ChipsSelect.tsx +9 -7
  916. package/src/components/ClickPopper/ClickPopper.tsx +1 -1
  917. package/src/components/ContentCard/ContentCard.tsx +2 -1
  918. package/src/components/CustomSelect/CustomSelect.css +1 -1
  919. package/src/components/CustomSelect/CustomSelect.tsx +23 -20
  920. package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +10 -5
  921. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +6 -5
  922. package/src/components/CustomSelectOption/CustomSelectOption.css +17 -5
  923. package/src/components/CustomSelectOption/CustomSelectOption.tsx +55 -17
  924. package/src/components/CustomSelectOption/Readme.md +47 -28
  925. package/src/components/DateInput/DateInput.css +1 -1
  926. package/src/components/DateInput/DateInput.tsx +3 -3
  927. package/src/components/DateInput/Readme.md +1 -1
  928. package/src/components/DatePicker/DatePicker.tsx +2 -2
  929. package/src/components/DateRangeInput/DateRangeInput.tsx +3 -3
  930. package/src/components/DateRangeInput/Readme.md +1 -1
  931. package/src/components/Epic/Readme.md +5 -1
  932. package/src/components/File/File.tsx +1 -1
  933. package/src/components/FixedLayout/FixedLayout.tsx +1 -0
  934. package/src/components/FormField/FormField.css +20 -45
  935. package/src/components/FormField/FormField.tsx +5 -6
  936. package/src/components/FormItem/FormItem.tsx +2 -1
  937. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -0
  938. package/src/components/Gallery/Gallery.tsx +14 -2
  939. package/src/components/GridAvatar/GridAvatar.css +10 -13
  940. package/src/components/GridAvatar/GridAvatar.tsx +12 -24
  941. package/src/components/Group/Group.tsx +1 -0
  942. package/src/components/Header/Header.tsx +9 -3
  943. package/src/components/HorizontalCell/HorizontalCell.tsx +1 -1
  944. package/src/components/HorizontalScroll/HorizontalScroll.tsx +41 -39
  945. package/src/components/InfoRow/InfoRow.tsx +1 -1
  946. package/src/components/Input/Input.css +4 -4
  947. package/src/components/Input/Input.tsx +5 -9
  948. package/src/components/InputLike/InputLike.css +1 -1
  949. package/src/components/InputLike/InputLikeDivider.css +1 -1
  950. package/src/components/List/List.tsx +1 -0
  951. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -0
  952. package/src/components/ModalCard/ModalCard.css +0 -10
  953. package/src/components/ModalCard/ModalCard.tsx +1 -0
  954. package/src/components/ModalCardBase/ModalCardBase.css +10 -0
  955. package/src/components/ModalCardBase/ModalCardBase.tsx +15 -2
  956. package/src/components/ModalPage/ModalPage.tsx +19 -0
  957. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -0
  958. package/src/components/ModalRoot/ModalRoot.tsx +33 -10
  959. package/src/components/ModalRoot/ModalRootAdaptive.tsx +17 -2
  960. package/src/components/ModalRoot/ModalRootDesktop.tsx +25 -7
  961. package/src/components/ModalRoot/Readme.md +112 -0
  962. package/src/components/ModalRoot/types.ts +16 -1
  963. package/src/components/ModalRoot/useModalManager.tsx +60 -15
  964. package/src/components/NativeSelect/NativeSelect.tsx +1 -0
  965. package/src/components/Pagination/Pagination.tsx +4 -4
  966. package/src/components/Pagination/Readme.md +1 -1
  967. package/src/components/Panel/Panel.tsx +1 -0
  968. package/src/components/PanelHeader/PanelHeader.tsx +1 -0
  969. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -0
  970. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +4 -2
  971. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -0
  972. package/src/components/Placeholder/Placeholder.tsx +2 -1
  973. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -0
  974. package/src/components/Popper/Popper.tsx +2 -2
  975. package/src/components/PromoBanner/PromoBanner.tsx +1 -1
  976. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -0
  977. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +1 -0
  978. package/src/components/RichCell/RichCell.tsx +2 -1
  979. package/src/components/RichTooltip/Readme.md +2 -2
  980. package/src/components/RichTooltip/RichTooltip.tsx +1 -0
  981. package/src/components/Root/Root.css +4 -11
  982. package/src/components/Root/Root.tsx +7 -6
  983. package/src/components/Search/Search.tsx +2 -1
  984. package/src/components/SegmentedControl/SegmentedControl.tsx +20 -10
  985. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  986. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +1 -0
  987. package/src/components/Select/Select.css +2 -2
  988. package/src/components/Select/Select.tsx +3 -4
  989. package/src/components/SelectMimicry/SelectMimicry.tsx +1 -0
  990. package/src/components/Separator/Separator.tsx +2 -0
  991. package/src/components/SimpleCell/SimpleCell.tsx +3 -2
  992. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +7 -2
  993. package/src/components/SliderSwitch/SliderSwitch.tsx +1 -0
  994. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -0
  995. package/src/components/Snackbar/Snackbar.tsx +2 -1
  996. package/src/components/Spacing/Spacing.tsx +1 -0
  997. package/src/components/SplitCol/SplitCol.tsx +1 -0
  998. package/src/components/SplitLayout/SplitLayout.tsx +1 -0
  999. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -1
  1000. package/src/components/SubnavigationButton/SubnavigationButton.tsx +2 -1
  1001. package/src/components/Switch/Switch.tsx +1 -0
  1002. package/src/components/Tabbar/Tabbar.tsx +1 -0
  1003. package/src/components/TabbarItem/TabbarItem.css +1 -0
  1004. package/src/components/TabbarItem/TabbarItem.tsx +1 -0
  1005. package/src/components/Tabs/Readme.md +7 -7
  1006. package/src/components/TabsItem/TabsItem.tsx +2 -1
  1007. package/src/components/Tappable/Tappable.css +5 -0
  1008. package/src/components/Tappable/Tappable.tsx +5 -2
  1009. package/src/components/TextTooltip/TextTooltip.tsx +1 -1
  1010. package/src/components/Tooltip/Tooltip.tsx +5 -4
  1011. package/src/components/Touch/Touch.tsx +6 -3
  1012. package/src/components/Touch/TouchContext.ts +1 -1
  1013. package/src/components/Typography/Caption/Caption.css +3 -3
  1014. package/src/components/Typography/Paragraph/Paragraph.css +17 -0
  1015. package/src/components/Typography/Paragraph/Paragraph.tsx +42 -0
  1016. package/src/components/Typography/Paragraph/Readme.md +19 -0
  1017. package/src/components/Typography/Subhead/Subhead.tsx +3 -7
  1018. package/src/components/Typography/Text/Text.tsx +1 -1
  1019. package/src/components/Typography/Title/Title.tsx +7 -10
  1020. package/src/components/UsersStack/UsersStack.tsx +2 -1
  1021. package/src/components/View/Readme.md +1 -1
  1022. package/src/components/View/View.css +1 -1
  1023. package/src/components/View/View.tsx +4 -0
  1024. package/src/components/View/ViewIOS.css +2 -2
  1025. package/src/components/View/ViewInfinite.tsx +4 -0
  1026. package/src/components/View/utils.ts +2 -1
  1027. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -1
  1028. package/src/helpers/scheme.ts +3 -2
  1029. package/src/hooks/useBridgeAdaptivity.ts +83 -0
  1030. package/src/hooks/useCalendar.ts +1 -1
  1031. package/src/hooks/useKeyboard.ts +1 -1
  1032. package/src/hooks/usePagination.ts +5 -5
  1033. package/src/hooks/usePatchChildrenRef.ts +2 -2
  1034. package/src/hooks/useWaitTransitionFinish.ts +7 -1
  1035. package/src/index.ts +20 -9
  1036. package/src/lib/calendar.ts +7 -7
  1037. package/src/lib/date.ts +274 -0
  1038. package/src/lib/getNavId.ts +4 -2
  1039. package/src/lib/warnOnce.ts +9 -3
  1040. package/src/styles/components.css +1 -0
  1041. package/src/styles/constants.css +8 -1
  1042. package/src/testing/utils.tsx +10 -1
  1043. package/src/tokenized/index.ts +31 -4
  1044. package/tsconfig.json +2 -0
  1045. package/.cache/ts/src/helpers/typography.d.ts +0 -1
  1046. package/dist/cjs/helpers/typography.d.ts +0 -1
  1047. package/dist/cjs/helpers/typography.js +0 -25
  1048. package/dist/cjs/helpers/typography.js.map +0 -1
  1049. package/dist/cssm/helpers/typography.d.ts +0 -1
  1050. package/dist/cssm/helpers/typography.js +0 -18
  1051. package/dist/cssm/helpers/typography.js.map +0 -1
  1052. package/dist/helpers/typography.d.ts +0 -1
  1053. package/dist/helpers/typography.js +0 -18
  1054. package/dist/helpers/typography.js.map +0 -1
  1055. package/src/helpers/typography.ts +0 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"names":["warn","getEl","ref","current","ActionSheetDropdownDesktop","children","toggleRef","closing","popupDirection","onClose","className","style","restProps","document","platform","sizeY","elementRef","React","useRef","toggleEl","isPopupDirectionTop","useMemo","bodyClickListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation","targetRef","refObject"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useDOM } from \"../../lib/dom\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useEffectDev } from \"../../hooks/useEffectDev\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport { SharedDropdownProps } from \"./types\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport { Popper } from \"../Popper/Popper\";\nimport \"./ActionSheet.css\";\n\nconst warn = warnOnce(\"ActionSheet\");\nfunction getEl(\n ref: SharedDropdownProps[\"toggleRef\"]\n): Element | null | undefined {\n return ref && \"current\" in ref ? ref.current : ref;\n}\n\nexport const ActionSheetDropdownDesktop: React.FC<SharedDropdownProps> = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n className,\n style,\n ...restProps\n}) => {\n const { document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const elementRef = React.useRef<HTMLDivElement | null>(null);\n\n useEffectDev(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n warn(\"toggleRef not passed\");\n }\n }, [toggleRef]);\n\n const isPopupDirectionTop = React.useMemo(\n () =>\n popupDirection === \"top\" ||\n (typeof popupDirection === \"function\" &&\n popupDirection(elementRef) === \"top\"),\n [popupDirection, elementRef]\n );\n\n const bodyClickListener = useEventListener(\"click\", (e: MouseEvent) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose?.();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document!.body);\n });\n }, [bodyClickListener, document]);\n\n const onClick = React.useCallback((e) => e.stopPropagation(), []);\n\n const targetRef = React.useMemo(() => {\n if (isRefObject<SharedDropdownProps[\"toggleRef\"], HTMLElement>(toggleRef)) {\n return toggleRef;\n }\n const refObject = { current: toggleRef as HTMLElement };\n\n return refObject;\n }, [toggleRef]);\n\n return (\n <Popper\n targetRef={targetRef}\n offsetDistance={0}\n placement={isPopupDirectionTop ? \"top-end\" : \"bottom-end\"}\n vkuiClass={classNames(\n getClassName(\"ActionSheet\", platform),\n \"ActionSheet--desktop\",\n `ActionSheet--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n getRef={elementRef}\n forcePortal={false}\n >\n <FocusTrap onClose={onClose} {...restProps} onClick={onClick}>\n {children}\n </FocusTrap>\n </Popper>\n );\n};\n"],"file":"ActionSheetDropdownDesktop.js"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"names":["warn","getEl","ref","current","ActionSheetDropdownDesktop","children","toggleRef","closing","popupDirection","onClose","className","style","restProps","document","platform","sizeY","elementRef","React","useRef","toggleEl","isPopupDirectionTop","useMemo","bodyClickListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation","targetRef","refObject"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;AAGA,IAAMA,IAAI,GAAG,wBAAS,aAAT,CAAb;;AACA,SAASC,KAAT,CACEC,GADF,EAE8B;AAC5B,SAAOA,GAAG,IAAI,aAAaA,GAApB,GAA0BA,GAAG,CAACC,OAA9B,GAAwCD,GAA/C;AACD;;AAEM,IAAME,0BAAyD,GAAG,SAA5DA,0BAA4D,OASnE;AAAA,MARJC,QAQI,QARJA,QAQI;AAAA,MAPJC,SAOI,QAPJA,SAOI;AAAA,MANJC,OAMI,QANJA,OAMI;AAAA,MALJC,cAKI,QALJA,cAKI;AAAA,MAJJC,OAII,QAJJA,OAII;AAAA,MAHJC,SAGI,QAHJA,SAGI;AAAA,MAFJC,KAEI,QAFJA,KAEI;AAAA,MADDC,SACC;;AACJ,gBAAqB,kBAArB;AAAA,MAAQC,QAAR,WAAQA,QAAR;;AACA,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AACA,MAAMC,UAAU,GAAGC,KAAK,CAACC,MAAN,CAAoC,IAApC,CAAnB;AAEA,kCAAa,YAAM;AACjB,QAAMC,QAAQ,GAAGlB,KAAK,CAACK,SAAD,CAAtB;;AACA,QAAI,CAACa,QAAL,EAAe;AACbnB,MAAAA,IAAI,CAAC,sBAAD,EAAyB,OAAzB,CAAJ;AACD;AACF,GALD,EAKG,CAACM,SAAD,CALH;AAOA,MAAMc,mBAAmB,GAAGH,KAAK,CAACI,OAAN,CAC1B;AAAA,WACEb,cAAc,KAAK,KAAnB,IACC,OAAOA,cAAP,KAA0B,UAA1B,IACCA,cAAc,CAACQ,UAAD,CAAd,KAA+B,KAHnC;AAAA,GAD0B,EAK1B,CAACR,cAAD,EAAiBQ,UAAjB,CAL0B,CAA5B;AAQA,MAAMM,iBAAiB,GAAG,wCAAiB,OAAjB,EAA0B,UAACC,CAAD,EAAmB;AACrE,QAAMC,eAAe,GAAGR,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAEb,OAApC;;AACA,QAAIqB,eAAe,IAAI,CAACA,eAAe,CAACC,QAAhB,CAAyBF,CAAC,CAACG,MAA3B,CAAxB,EAAoE;AAClEjB,MAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO;AACR;AACF,GALyB,CAA1B;AAOAQ,EAAAA,KAAK,CAACU,SAAN,CAAgB,YAAM;AACpBC,IAAAA,UAAU,CAAC,YAAM;AACfN,MAAAA,iBAAiB,CAACO,GAAlB,CAAsBhB,QAAQ,CAAEiB,IAAhC;AACD,KAFS,CAAV;AAGD,GAJD,EAIG,CAACR,iBAAD,EAAoBT,QAApB,CAJH;AAMA,MAAMkB,OAAO,GAAGd,KAAK,CAACe,WAAN,CAAkB,UAACT,CAAD;AAAA,WAAOA,CAAC,CAACU,eAAF,EAAP;AAAA,GAAlB,EAA8C,EAA9C,CAAhB;AAEA,MAAMC,SAAS,GAAGjB,KAAK,CAACI,OAAN,CAAc,YAAM;AACpC,QAAI,8BAA2Df,SAA3D,CAAJ,EAA2E;AACzE,aAAOA,SAAP;AACD;;AACD,QAAM6B,SAAS,GAAG;AAAEhC,MAAAA,OAAO,EAAEG;AAAX,KAAlB;AAEA,WAAO6B,SAAP;AACD,GAPiB,EAOf,CAAC7B,SAAD,CAPe,CAAlB;AASA,SACE,qCAAC,cAAD;AACE,IAAA,SAAS,EAAE4B,SADb;AAEE,IAAA,cAAc,EAAE,CAFlB;AAGE,IAAA,SAAS,EAAEd,mBAAmB,GAAG,SAAH,GAAe,YAH/C;AAIE,IAAA,SAAS,EAAE,4BACT,gCAAa,aAAb,EAA4BN,QAA5B,CADS,EAET,sBAFS,+BAGaC,KAHb,EAJb;AASE,IAAA,SAAS,EAAEL,SATb;AAUE,IAAA,KAAK,EAAEC,KAVT;AAWE,IAAA,MAAM,EAAEK,UAXV;AAYE,IAAA,WAAW,EAAE;AAZf,KAcE,qCAAC,oBAAD;AAAW,IAAA,OAAO,EAAEP;AAApB,KAAiCG,SAAjC;AAA4C,IAAA,OAAO,EAAEmB;AAArD,MACG1B,QADH,CAdF,CADF;AAoBD,CA1EM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useDOM } from \"../../lib/dom\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useEffectDev } from \"../../hooks/useEffectDev\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport { SharedDropdownProps } from \"./types\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport { Popper } from \"../Popper/Popper\";\nimport \"./ActionSheet.css\";\n\nconst warn = warnOnce(\"ActionSheet\");\nfunction getEl(\n ref: SharedDropdownProps[\"toggleRef\"]\n): Element | null | undefined {\n return ref && \"current\" in ref ? ref.current : ref;\n}\n\nexport const ActionSheetDropdownDesktop: React.FC<SharedDropdownProps> = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n className,\n style,\n ...restProps\n}) => {\n const { document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const elementRef = React.useRef<HTMLDivElement | null>(null);\n\n useEffectDev(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n warn(\"toggleRef not passed\", \"error\");\n }\n }, [toggleRef]);\n\n const isPopupDirectionTop = React.useMemo(\n () =>\n popupDirection === \"top\" ||\n (typeof popupDirection === \"function\" &&\n popupDirection(elementRef) === \"top\"),\n [popupDirection, elementRef]\n );\n\n const bodyClickListener = useEventListener(\"click\", (e: MouseEvent) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose?.();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document!.body);\n });\n }, [bodyClickListener, document]);\n\n const onClick = React.useCallback((e) => e.stopPropagation(), []);\n\n const targetRef = React.useMemo(() => {\n if (isRefObject<SharedDropdownProps[\"toggleRef\"], HTMLElement>(toggleRef)) {\n return toggleRef;\n }\n const refObject = { current: toggleRef as HTMLElement };\n\n return refObject;\n }, [toggleRef]);\n\n return (\n <Popper\n targetRef={targetRef}\n offsetDistance={0}\n placement={isPopupDirectionTop ? \"top-end\" : \"bottom-end\"}\n vkuiClass={classNames(\n getClassName(\"ActionSheet\", platform),\n \"ActionSheet--desktop\",\n `ActionSheet--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n getRef={elementRef}\n forcePortal={false}\n >\n <FocusTrap onClose={onClose} {...restProps} onClick={onClick}>\n {children}\n </FocusTrap>\n </Popper>\n );\n};\n"],"file":"ActionSheetDropdownDesktop.js"}
@@ -27,9 +27,9 @@ var _usePlatform = require("../../hooks/usePlatform");
27
27
 
28
28
  var _utils = require("../../lib/utils");
29
29
 
30
- var _Subhead = _interopRequireDefault(require("../Typography/Subhead/Subhead"));
30
+ var _Subhead = require("../Typography/Subhead/Subhead");
31
31
 
32
- var _Title = _interopRequireDefault(require("../Typography/Title/Title"));
32
+ var _Title = require("../Typography/Title/Title");
33
33
 
34
34
  var _Text = _interopRequireDefault(require("../Typography/Text/Text"));
35
35
 
@@ -83,7 +83,8 @@ var ActionSheetItemComponent = function ActionSheetItemComponent(_ref) {
83
83
  var isCompact = (0, _utils.hasReactNode)(subtitle) || (0, _utils.hasReactNode)(meta) || selectable;
84
84
  return (0, _jsxRuntime.createScopedElement)(_Tappable.default, (0, _extends2.default)({}, restProps, {
85
85
  onClick: selectable ? onClick : onItemClick(onClick, onImmediateClick, Boolean(autoclose)),
86
- activeMode: "ActionSheetItem--active",
86
+ activeMode: "ActionSheetItem--active" // eslint-disable-next-line vkui/no-object-expression-in-arguments
87
+ ,
87
88
  vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("ActionSheetItem", platform), "ActionSheetItem--".concat(mode), "ActionSheetItem--sizeY-".concat(sizeY), {
88
89
  "ActionSheetItem--compact": isCompact,
89
90
  "ActionSheetItem--desktop": isDesktop,
@@ -104,19 +105,19 @@ var ActionSheetItemComponent = function ActionSheetItemComponent(_ref) {
104
105
  vkuiClass: "ActionSheetItem__meta"
105
106
  }, meta)) : (0, _jsxRuntime.createScopedElement)(React.Fragment, null, platform === _platform.ANDROID ? (0, _jsxRuntime.createScopedElement)(_Headline.default, {
106
107
  weight: mode === "cancel" ? "medium" : "regular"
107
- }, children) : (0, _jsxRuntime.createScopedElement)(_Title.default, {
108
+ }, children) : (0, _jsxRuntime.createScopedElement)(_Title.Title, {
108
109
  weight: mode === "cancel" ? "2" : "3",
109
110
  level: isCompact || (0, _utils.hasReactNode)(before) ? "3" : "2",
110
111
  vkuiClass: "ActionSheetItem__children"
111
112
  }, children), (0, _utils.hasReactNode)(meta) && (platform === _platform.ANDROID ? (0, _jsxRuntime.createScopedElement)(_Headline.default, {
112
113
  weight: mode === "cancel" ? "medium" : "regular"
113
- }, children) : (0, _jsxRuntime.createScopedElement)(_Title.default, {
114
+ }, children) : (0, _jsxRuntime.createScopedElement)(_Title.Title, {
114
115
  weight: "3",
115
116
  level: isCompact || (0, _utils.hasReactNode)(before) ? "3" : "2",
116
117
  vkuiClass: "ActionSheetItem__meta"
117
118
  }, meta)))), (0, _utils.hasReactNode)(subtitle) && (sizeY === _withAdaptivity.SizeType.COMPACT ? (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
118
119
  vkuiClass: "ActionSheetItem__subtitle"
119
- }, subtitle) : (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
120
+ }, subtitle) : (0, _jsxRuntime.createScopedElement)(_Subhead.Subhead, {
120
121
  vkuiClass: "ActionSheetItem__subtitle"
121
122
  }, subtitle))), selectable && (0, _jsxRuntime.createScopedElement)("div", {
122
123
  vkuiClass: "ActionSheetItem__after"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["ActionSheetItemComponent","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","Component","href","isCompact","Boolean","SizeType","COMPACT","ANDROID","disabled","VKCOM","ActionSheetItem"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon16Done, Icon24Done } from \"@vkontakte/icons\";\nimport {\n ActionSheetContext,\n ActionSheetContextType,\n} from \"../ActionSheet/ActionSheetContext\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport \"./ActionSheetItem.css\";\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"name\" | \"checked\" | \"value\"\n >,\n AdaptivityProps {\n mode?: \"default\" | \"destructive\" | \"cancel\";\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst ActionSheetItemComponent: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode = \"default\",\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n onImmediateClick,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? \"a\" : \"div\";\n\n if (selectable) {\n Component = \"label\";\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={\n selectable\n ? onClick\n : onItemClick(onClick, onImmediateClick, Boolean(autoclose))\n }\n activeMode=\"ActionSheetItem--active\"\n vkuiClass={classNames(\n getClassName(\"ActionSheetItem\", platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n \"ActionSheetItem--compact\": isCompact,\n \"ActionSheetItem--desktop\": isDesktop,\n \"ActionSheetItem--withSubtitle\": hasReactNode(subtitle),\n }\n )}\n Component={Component}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"ActionSheetItem__before\">{before}</div>\n )}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ? (\n <React.Fragment>\n <Text\n weight={mode === \"cancel\" ? \"medium\" : \"regular\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) && (\n <Text weight=\"regular\" vkuiClass=\"ActionSheetItem__meta\">\n {meta}\n </Text>\n )}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight={mode === \"cancel\" ? \"2\" : \"3\"}\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n )}\n {hasReactNode(meta) &&\n (platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight=\"3\"\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n ))}\n </React.Fragment>\n )}\n </div>\n {hasReactNode(subtitle) &&\n (sizeY === SizeType.COMPACT ? (\n <Caption vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Caption>\n ) : (\n <Subhead vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Subhead>\n ))}\n </div>\n {selectable && (\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoclose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n )}\n </Tappable>\n );\n};\n\nexport const ActionSheetItem = withAdaptivity(ActionSheetItemComponent, {\n sizeY: true,\n});\n"],"file":"ActionSheetItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["ActionSheetItemComponent","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","Component","href","isCompact","Boolean","SizeType","COMPACT","ANDROID","disabled","VKCOM","ActionSheetItem"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;;;AA+BA,IAAMA,wBAAwD,GAAG,SAA3DA,wBAA2D,OAiBrC;AAAA,MAhB1BC,QAgB0B,QAhB1BA,QAgB0B;AAAA,MAf1BC,SAe0B,QAf1BA,SAe0B;AAAA,uBAd1BC,IAc0B;AAAA,MAd1BA,IAc0B,0BAdnB,SAcmB;AAAA,MAb1BC,IAa0B,QAb1BA,IAa0B;AAAA,MAZ1BC,QAY0B,QAZ1BA,QAY0B;AAAA,MAX1BC,MAW0B,QAX1BA,MAW0B;AAAA,MAV1BC,UAU0B,QAV1BA,UAU0B;AAAA,MAT1BC,KAS0B,QAT1BA,KAS0B;AAAA,MAR1BC,IAQ0B,QAR1BA,IAQ0B;AAAA,MAP1BC,OAO0B,QAP1BA,OAO0B;AAAA,MAN1BC,cAM0B,QAN1BA,cAM0B;AAAA,MAL1BC,QAK0B,QAL1BA,QAK0B;AAAA,MAJ1BC,OAI0B,QAJ1BA,OAI0B;AAAA,MAH1BC,KAG0B,QAH1BA,KAG0B;AAAA,MAF1BC,gBAE0B,QAF1BA,gBAE0B;AAAA,MADvBC,SACuB;AAC1B,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,0BACEC,KAAK,CAACC,UAAN,CAAsDC,sCAAtD,CADF;AAAA,gDAAQC,WAAR;AAAA,MAAQA,WAAR,sCAAsB;AAAA,WAAMC,WAAN;AAAA,GAAtB;AAAA,MAAkCC,SAAlC,qBAAkCA,SAAlC;;AAGA,MAAIC,SAA4B,GAAGR,SAAS,CAACS,IAAV,GAAiB,GAAjB,GAAuB,KAA1D;;AAEA,MAAIlB,UAAJ,EAAgB;AACdiB,IAAAA,SAAS,GAAG,OAAZ;AACD;;AAED,MAAME,SAAS,GAAG,yBAAarB,QAAb,KAA0B,yBAAaD,IAAb,CAA1B,IAAgDG,UAAlE;AAEA,SACE,qCAAC,iBAAD,6BACMS,SADN;AAEE,IAAA,OAAO,EACLT,UAAU,GACNM,OADM,GAENQ,WAAW,CAACR,OAAD,EAAUE,gBAAV,EAA4BY,OAAO,CAACzB,SAAD,CAAnC,CALnB;AAOE,IAAA,UAAU,EAAC,yBAPb,CAQE;AARF;AASE,IAAA,SAAS,EAAE,4BACT,gCAAa,iBAAb,EAAgCe,QAAhC,CADS,6BAEWd,IAFX,oCAGiBW,KAHjB,GAIT;AACE,kCAA4BY,SAD9B;AAEE,kCAA4BH,SAF9B;AAGE,uCAAiC,yBAAalB,QAAb;AAHnC,KAJS,CATb;AAmBE,IAAA,SAAS,EAAEmB;AAnBb,MAqBG,yBAAalB,MAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA0CA,MAA1C,CAtBJ,EAwBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGQ,KAAK,KAAKc,yBAASC,OAAnB,GACC,qCAAC,KAAD,CAAO,QAAP,QACE,qCAAC,aAAD;AACE,IAAA,MAAM,EAAE1B,IAAI,KAAK,QAAT,GAAoB,QAApB,GAA+B,SADzC;AAEE,IAAA,SAAS,EAAC;AAFZ,KAIGF,QAJH,CADF,EAOG,yBAAaG,IAAb,KACC,qCAAC,aAAD;AAAM,IAAA,MAAM,EAAC,SAAb;AAAuB,IAAA,SAAS,EAAC;AAAjC,KACGA,IADH,CARJ,CADD,GAeC,qCAAC,KAAD,CAAO,QAAP,QACGa,QAAQ,KAAKa,iBAAb,GACC,qCAAC,iBAAD;AAAU,IAAA,MAAM,EAAE3B,IAAI,KAAK,QAAT,GAAoB,QAApB,GAA+B;AAAjD,KACGF,QADH,CADD,GAKC,qCAAC,YAAD;AACE,IAAA,MAAM,EAAEE,IAAI,KAAK,QAAT,GAAoB,GAApB,GAA0B,GADpC;AAEE,IAAA,KAAK,EAAEuB,SAAS,IAAI,yBAAapB,MAAb,CAAb,GAAoC,GAApC,GAA0C,GAFnD;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGL,QALH,CANJ,EAcG,yBAAaG,IAAb,MACEa,QAAQ,KAAKa,iBAAb,GACC,qCAAC,iBAAD;AAAU,IAAA,MAAM,EAAE3B,IAAI,KAAK,QAAT,GAAoB,QAApB,GAA+B;AAAjD,KACGF,QADH,CADD,GAKC,qCAAC,YAAD;AACE,IAAA,MAAM,EAAC,GADT;AAEE,IAAA,KAAK,EAAEyB,SAAS,IAAI,yBAAapB,MAAb,CAAb,GAAoC,GAApC,GAA0C,GAFnD;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGF,IALH,CANH,CAdH,CAhBJ,CADF,EAgDG,yBAAaC,QAAb,MACES,KAAK,KAAKc,yBAASC,OAAnB,GACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAgDxB,QAAhD,CADD,GAGC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAgDA,QAAhD,CAJH,CAhDH,CAxBF,EA+EGE,UAAU,IACT;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AACE,IAAA,IAAI,EAAC,OADP;AAEE,IAAA,SAAS,EAAC,wBAFZ;AAGE,IAAA,IAAI,EAAEE,IAHR;AAIE,IAAA,KAAK,EAAED,KAJT;AAKE,IAAA,QAAQ,EAAEI,QALZ;AAME,IAAA,OAAO,EAAES,WAAW,CAACC,WAAD,EAAOA,WAAP,EAAaK,OAAO,CAACzB,SAAD,CAApB,CANtB;AAOE,IAAA,cAAc,EAAES,cAPlB;AAQE,IAAA,OAAO,EAAED,OARX;AASE,IAAA,QAAQ,EAAEM,SAAS,CAACe;AATtB,IADF,EAYE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGd,QAAQ,KAAKe,eAAb,GAAqB,qCAAC,iBAAD,OAArB,GAAsC,qCAAC,iBAAD,OADzC,CAZF,CAhFJ,CADF;AAoGD,CAlID;;AAoIO,IAAMC,eAAe,GAAG,oCAAejC,wBAAf,EAAyC;AACtEc,EAAAA,KAAK,EAAE;AAD+D,CAAzC,CAAxB","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Title } from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon16Done, Icon24Done } from \"@vkontakte/icons\";\nimport {\n ActionSheetContext,\n ActionSheetContextType,\n} from \"../ActionSheet/ActionSheetContext\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport \"./ActionSheetItem.css\";\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"name\" | \"checked\" | \"value\"\n >,\n AdaptivityProps {\n mode?: \"default\" | \"destructive\" | \"cancel\";\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst ActionSheetItemComponent: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode = \"default\",\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n onImmediateClick,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? \"a\" : \"div\";\n\n if (selectable) {\n Component = \"label\";\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={\n selectable\n ? onClick\n : onItemClick(onClick, onImmediateClick, Boolean(autoclose))\n }\n activeMode=\"ActionSheetItem--active\"\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"ActionSheetItem\", platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n \"ActionSheetItem--compact\": isCompact,\n \"ActionSheetItem--desktop\": isDesktop,\n \"ActionSheetItem--withSubtitle\": hasReactNode(subtitle),\n }\n )}\n Component={Component}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"ActionSheetItem__before\">{before}</div>\n )}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ? (\n <React.Fragment>\n <Text\n weight={mode === \"cancel\" ? \"medium\" : \"regular\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) && (\n <Text weight=\"regular\" vkuiClass=\"ActionSheetItem__meta\">\n {meta}\n </Text>\n )}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight={mode === \"cancel\" ? \"2\" : \"3\"}\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n )}\n {hasReactNode(meta) &&\n (platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight=\"3\"\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n ))}\n </React.Fragment>\n )}\n </div>\n {hasReactNode(subtitle) &&\n (sizeY === SizeType.COMPACT ? (\n <Caption vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Caption>\n ) : (\n <Subhead vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Subhead>\n ))}\n </div>\n {selectable && (\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoclose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n )}\n </Tappable>\n );\n};\n\nexport const ActionSheetItem = withAdaptivity(ActionSheetItemComponent, {\n sizeY: true,\n});\n"],"file":"ActionSheetItem.js"}
@@ -21,6 +21,8 @@ var _AdaptivityContext = require("./AdaptivityContext");
21
21
 
22
22
  var _dom = require("../../lib/dom");
23
23
 
24
+ var _useBridgeAdaptivity = require("../../hooks/useBridgeAdaptivity");
25
+
24
26
  var DESKTOP_SIZE = 1280;
25
27
  exports.DESKTOP_SIZE = DESKTOP_SIZE;
26
28
  var TABLET_SIZE = 1024;
@@ -41,11 +43,13 @@ var AdaptivityProvider = function AdaptivityProvider(props) {
41
43
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
42
44
  updateAdaptivity = _React$useState2[1];
43
45
 
46
+ var bridge = (0, _useBridgeAdaptivity.useBridgeAdaptivity)();
47
+
44
48
  var _useDOM = (0, _dom.useDOM)(),
45
49
  window = _useDOM.window;
46
50
 
47
51
  if (!adaptivityRef.current) {
48
- adaptivityRef.current = calculateAdaptivity(window ? window.innerWidth : 0, window ? window.innerHeight : 0, props);
52
+ adaptivityRef.current = calculateAdaptivity(props, bridge, window);
49
53
  }
50
54
 
51
55
  React.useEffect(function () {
@@ -54,7 +58,7 @@ var AdaptivityProvider = function AdaptivityProvider(props) {
54
58
  return;
55
59
  }
56
60
 
57
- var calculated = calculateAdaptivity(window.innerWidth, window.innerHeight, props);
61
+ var calculated = calculateAdaptivity(props, bridge, window);
58
62
  var _adaptivityRef$curren = adaptivityRef.current,
59
63
  viewWidth = _adaptivityRef$curren.viewWidth,
60
64
  viewHeight = _adaptivityRef$curren.viewHeight,
@@ -74,7 +78,7 @@ var AdaptivityProvider = function AdaptivityProvider(props) {
74
78
  return function () {
75
79
  window.removeEventListener("resize", onResize, false);
76
80
  };
77
- }, [props.viewWidth, props.viewHeight, props.sizeX, props.sizeY, props.hasMouse, props.deviceHasHover, window, props]);
81
+ }, [props.viewWidth, props.viewHeight, props.sizeX, props.sizeY, props.hasMouse, props.deviceHasHover, window, props, bridge]);
78
82
  return (0, _jsxRuntime.createScopedElement)(_AdaptivityContext.AdaptivityContext.Provider, {
79
83
  value: adaptivityRef.current
80
84
  }, props.children);
@@ -82,15 +86,24 @@ var AdaptivityProvider = function AdaptivityProvider(props) {
82
86
 
83
87
  exports.AdaptivityProvider = AdaptivityProvider;
84
88
 
85
- function calculateAdaptivity(windowWidth, windowHeight, props) {
86
- var _props$hasMouse, _props$deviceHasHover;
89
+ function calculateAdaptivity(props, bridge, window) {
90
+ var windowWidth = 0;
91
+ var windowHeight = 0;
92
+
93
+ if (bridge.type === "adaptive") {
94
+ windowWidth = bridge.viewportWidth;
95
+ windowHeight = bridge.viewportHeight;
96
+ } else if (window) {
97
+ windowWidth = window.innerWidth;
98
+ windowHeight = window.innerHeight;
99
+ }
87
100
 
88
101
  var viewWidth = _AdaptivityContext.ViewWidth.SMALL_MOBILE;
89
102
  var viewHeight = _AdaptivityContext.ViewHeight.SMALL;
90
103
  var sizeY = _AdaptivityContext.SizeType.REGULAR;
91
104
  var sizeX = _AdaptivityContext.SizeType.REGULAR;
92
- var hasMouse = (_props$hasMouse = props.hasMouse) !== null && _props$hasMouse !== void 0 ? _props$hasMouse : _vkjs.hasMouse;
93
- var deviceHasHover = (_props$deviceHasHover = props.deviceHasHover) !== null && _props$deviceHasHover !== void 0 ? _props$deviceHasHover : _vkjs.hasHover;
105
+ var hasMouse = _vkjs.hasMouse;
106
+ var deviceHasHover = _vkjs.hasHover;
94
107
 
95
108
  if (windowWidth >= DESKTOP_SIZE) {
96
109
  viewWidth = _AdaptivityContext.ViewWidth.DESKTOP;
@@ -112,8 +125,14 @@ function calculateAdaptivity(windowWidth, windowHeight, props) {
112
125
  viewHeight = _AdaptivityContext.ViewHeight.EXTRA_SMALL;
113
126
  }
114
127
 
115
- props.viewWidth && (viewWidth = props.viewWidth);
116
- props.viewHeight && (viewHeight = props.viewHeight);
128
+ if (!bridge.type) {
129
+ var _props$hasMouse, _props$deviceHasHover;
130
+
131
+ props.viewWidth && (viewWidth = props.viewWidth);
132
+ props.viewHeight && (viewHeight = props.viewHeight);
133
+ hasMouse = (_props$hasMouse = props.hasMouse) !== null && _props$hasMouse !== void 0 ? _props$hasMouse : hasMouse;
134
+ deviceHasHover = (_props$deviceHasHover = props.deviceHasHover) !== null && _props$deviceHasHover !== void 0 ? _props$deviceHasHover : deviceHasHover;
135
+ }
117
136
 
118
137
  if (viewWidth <= _AdaptivityContext.ViewWidth.MOBILE) {
119
138
  sizeX = _AdaptivityContext.SizeType.COMPACT;
@@ -123,8 +142,22 @@ function calculateAdaptivity(windowWidth, windowHeight, props) {
123
142
  sizeY = _AdaptivityContext.SizeType.COMPACT;
124
143
  }
125
144
 
126
- props.sizeX && (sizeX = props.sizeX);
127
- props.sizeY && (sizeY = props.sizeY);
145
+ if (!bridge.type) {
146
+ props.sizeX && (sizeX = props.sizeX);
147
+ props.sizeY && (sizeY = props.sizeY);
148
+ }
149
+
150
+ if (bridge.type === "force_mobile" || bridge.type === "force_mobile_compact") {
151
+ viewWidth = _AdaptivityContext.ViewWidth.MOBILE;
152
+ sizeX = _AdaptivityContext.SizeType.COMPACT;
153
+
154
+ if (bridge.type === "force_mobile_compact") {
155
+ sizeY = _AdaptivityContext.SizeType.COMPACT;
156
+ } else {
157
+ sizeY = _AdaptivityContext.SizeType.REGULAR;
158
+ }
159
+ }
160
+
128
161
  return {
129
162
  viewWidth: viewWidth,
130
163
  viewHeight: viewHeight,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"names":["DESKTOP_SIZE","TABLET_SIZE","SMALL_TABLET_SIZE","MOBILE_SIZE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","AdaptivityProvider","props","adaptivityRef","React","useRef","useState","updateAdaptivity","window","current","calculateAdaptivity","innerWidth","innerHeight","useEffect","onResize","calculated","viewWidth","viewHeight","sizeX","sizeY","hasMouse","deviceHasHover","addEventListener","removeEventListener","children","windowWidth","windowHeight","ViewWidth","SMALL_MOBILE","ViewHeight","SMALL","SizeType","REGULAR","_hasMouse","_hasHover","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MEDIUM","EXTRA_SMALL","COMPACT"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { hasMouse as _hasMouse, hasHover as _hasHover } from \"@vkontakte/vkjs\";\nimport {\n AdaptivityContext,\n AdaptivityProps,\n SizeType,\n ViewHeight,\n ViewWidth,\n} from \"./AdaptivityContext\";\nimport { useDOM } from \"../../lib/dom\";\n\nexport const DESKTOP_SIZE = 1280;\nexport const TABLET_SIZE = 1024;\nexport const SMALL_TABLET_SIZE = 768;\nexport const MOBILE_SIZE = 320;\n\nexport const MOBILE_LANDSCAPE_HEIGHT = 414;\nexport const MEDIUM_HEIGHT = 720;\n\nconst AdaptivityProvider: React.FC<AdaptivityProps> = (props) => {\n const adaptivityRef = React.useRef<ReturnType<\n typeof calculateAdaptivity\n > | null>(null);\n const [, updateAdaptivity] = React.useState({});\n\n const { window } = useDOM();\n\n if (!adaptivityRef.current) {\n adaptivityRef.current = calculateAdaptivity(\n window ? window.innerWidth : 0,\n window ? window.innerHeight : 0,\n props\n );\n }\n\n React.useEffect(() => {\n function onResize() {\n if (adaptivityRef.current === null) {\n return;\n }\n const calculated = calculateAdaptivity(\n window!.innerWidth,\n window!.innerHeight,\n props\n );\n const { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover } =\n adaptivityRef.current;\n\n if (\n viewWidth !== calculated.viewWidth ||\n viewHeight !== calculated.viewHeight ||\n sizeX !== calculated.sizeX ||\n sizeY !== calculated.sizeY ||\n hasMouse !== calculated.hasMouse ||\n deviceHasHover !== calculated.deviceHasHover\n ) {\n adaptivityRef.current = calculated;\n updateAdaptivity({});\n }\n }\n\n onResize();\n window!.addEventListener(\"resize\", onResize, false);\n\n return () => {\n window!.removeEventListener(\"resize\", onResize, false);\n };\n }, [\n props.viewWidth,\n props.viewHeight,\n props.sizeX,\n props.sizeY,\n props.hasMouse,\n props.deviceHasHover,\n window,\n props,\n ]);\n\n return (\n <AdaptivityContext.Provider value={adaptivityRef.current}>\n {props.children}\n </AdaptivityContext.Provider>\n );\n};\n\nfunction calculateAdaptivity(\n windowWidth: number,\n windowHeight: number,\n props: AdaptivityProps\n) {\n let viewWidth = ViewWidth.SMALL_MOBILE;\n let viewHeight = ViewHeight.SMALL;\n let sizeY = SizeType.REGULAR;\n let sizeX = SizeType.REGULAR;\n let hasMouse = props.hasMouse ?? _hasMouse;\n let deviceHasHover = props.deviceHasHover ?? _hasHover;\n\n if (windowWidth >= DESKTOP_SIZE) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (windowWidth >= TABLET_SIZE) {\n viewWidth = ViewWidth.TABLET;\n } else if (windowWidth >= SMALL_TABLET_SIZE) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (windowWidth >= MOBILE_SIZE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (windowHeight >= MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (windowHeight > MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n props.viewWidth && (viewWidth = props.viewWidth);\n props.viewHeight && (viewHeight = props.viewHeight);\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && hasMouse) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n }\n\n props.sizeX && (sizeX = props.sizeX);\n props.sizeY && (sizeY = props.sizeY);\n\n return { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover };\n}\n\nexport { AdaptivityProvider };\n"],"file":"AdaptivityProvider.js"}
1
+ {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"names":["DESKTOP_SIZE","TABLET_SIZE","SMALL_TABLET_SIZE","MOBILE_SIZE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","AdaptivityProvider","props","adaptivityRef","React","useRef","useState","updateAdaptivity","bridge","window","current","calculateAdaptivity","useEffect","onResize","calculated","viewWidth","viewHeight","sizeX","sizeY","hasMouse","deviceHasHover","addEventListener","removeEventListener","children","windowWidth","windowHeight","type","viewportWidth","viewportHeight","innerWidth","innerHeight","ViewWidth","SMALL_MOBILE","ViewHeight","SMALL","SizeType","REGULAR","_hasMouse","_hasHover","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MEDIUM","EXTRA_SMALL","COMPACT"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { hasMouse as _hasMouse, hasHover as _hasHover } from \"@vkontakte/vkjs\";\nimport {\n AdaptivityContext,\n AdaptivityProps,\n SizeType,\n ViewHeight,\n ViewWidth,\n} from \"./AdaptivityContext\";\nimport { useDOM } from \"../../lib/dom\";\nimport {\n useBridgeAdaptivity,\n BridgeAdaptivity,\n} from \"../../hooks/useBridgeAdaptivity\";\n\nexport const DESKTOP_SIZE = 1280;\nexport const TABLET_SIZE = 1024;\nexport const SMALL_TABLET_SIZE = 768;\nexport const MOBILE_SIZE = 320;\n\nexport const MOBILE_LANDSCAPE_HEIGHT = 414;\nexport const MEDIUM_HEIGHT = 720;\n\nconst AdaptivityProvider: React.FC<AdaptivityProps> = (props) => {\n const adaptivityRef = React.useRef<ReturnType<\n typeof calculateAdaptivity\n > | null>(null);\n const [, updateAdaptivity] = React.useState({});\n const bridge = useBridgeAdaptivity();\n\n const { window } = useDOM();\n\n if (!adaptivityRef.current) {\n adaptivityRef.current = calculateAdaptivity(props, bridge, window);\n }\n\n React.useEffect(() => {\n function onResize() {\n if (adaptivityRef.current === null) {\n return;\n }\n\n const calculated = calculateAdaptivity(props, bridge, window);\n const { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover } =\n adaptivityRef.current;\n\n if (\n viewWidth !== calculated.viewWidth ||\n viewHeight !== calculated.viewHeight ||\n sizeX !== calculated.sizeX ||\n sizeY !== calculated.sizeY ||\n hasMouse !== calculated.hasMouse ||\n deviceHasHover !== calculated.deviceHasHover\n ) {\n adaptivityRef.current = calculated;\n updateAdaptivity({});\n }\n }\n\n onResize();\n window!.addEventListener(\"resize\", onResize, false);\n\n return () => {\n window!.removeEventListener(\"resize\", onResize, false);\n };\n }, [\n props.viewWidth,\n props.viewHeight,\n props.sizeX,\n props.sizeY,\n props.hasMouse,\n props.deviceHasHover,\n window,\n props,\n bridge,\n ]);\n\n return (\n <AdaptivityContext.Provider value={adaptivityRef.current}>\n {props.children}\n </AdaptivityContext.Provider>\n );\n};\n\nfunction calculateAdaptivity(\n props: AdaptivityProps,\n bridge: BridgeAdaptivity,\n window?: Window\n) {\n let windowWidth = 0;\n let windowHeight = 0;\n\n if (bridge.type === \"adaptive\") {\n windowWidth = bridge.viewportWidth;\n windowHeight = bridge.viewportHeight;\n } else if (window) {\n windowWidth = window.innerWidth;\n windowHeight = window.innerHeight;\n }\n\n let viewWidth = ViewWidth.SMALL_MOBILE;\n let viewHeight = ViewHeight.SMALL;\n let sizeY = SizeType.REGULAR;\n let sizeX = SizeType.REGULAR;\n let hasMouse = _hasMouse;\n let deviceHasHover = _hasHover;\n\n if (windowWidth >= DESKTOP_SIZE) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (windowWidth >= TABLET_SIZE) {\n viewWidth = ViewWidth.TABLET;\n } else if (windowWidth >= SMALL_TABLET_SIZE) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (windowWidth >= MOBILE_SIZE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (windowHeight >= MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (windowHeight > MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (!bridge.type) {\n props.viewWidth && (viewWidth = props.viewWidth);\n props.viewHeight && (viewHeight = props.viewHeight);\n\n hasMouse = props.hasMouse ?? hasMouse;\n deviceHasHover = props.deviceHasHover ?? deviceHasHover;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && hasMouse) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n }\n\n if (!bridge.type) {\n props.sizeX && (sizeX = props.sizeX);\n props.sizeY && (sizeY = props.sizeY);\n }\n\n if (\n bridge.type === \"force_mobile\" ||\n bridge.type === \"force_mobile_compact\"\n ) {\n viewWidth = ViewWidth.MOBILE;\n sizeX = SizeType.COMPACT;\n\n if (bridge.type === \"force_mobile_compact\") {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n\n return { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover };\n}\n\nexport { AdaptivityProvider };\n"],"file":"AdaptivityProvider.js"}
@@ -45,13 +45,13 @@ var _withPlatform = require("../../hoc/withPlatform");
45
45
 
46
46
  var _withAdaptivity = require("../../hoc/withAdaptivity");
47
47
 
48
- var _Button = _interopRequireDefault(require("../Button/Button"));
48
+ var _Button = require("../Button/Button");
49
49
 
50
50
  var _utils = require("../../lib/utils");
51
51
 
52
52
  var _Headline = _interopRequireDefault(require("../Typography/Headline/Headline"));
53
53
 
54
- var _Title = _interopRequireDefault(require("../Typography/Title/Title"));
54
+ var _Title = require("../Typography/Title/Title");
55
55
 
56
56
  var _Caption = require("../Typography/Caption/Caption");
57
57
 
@@ -138,7 +138,7 @@ var AlertComponent = /*#__PURE__*/function (_React$Component) {
138
138
  }
139
139
  }
140
140
 
141
- return (0, _jsxRuntime.createScopedElement)(_Button.default, {
141
+ return (0, _jsxRuntime.createScopedElement)(_Button.Button, {
142
142
  vkuiClass: (0, _classNames.classNames)("Alert__button", "Alert__button--".concat(action.mode)),
143
143
  mode: mode,
144
144
  size: "m",
@@ -186,14 +186,14 @@ var AlertComponent = /*#__PURE__*/function (_React$Component) {
186
186
  }, header);
187
187
 
188
188
  case _platform.IOS:
189
- return (0, _jsxRuntime.createScopedElement)(_Title.default, {
189
+ return (0, _jsxRuntime.createScopedElement)(_Title.Title, {
190
190
  vkuiClass: "Alert__header",
191
191
  weight: "1",
192
192
  level: "3"
193
193
  }, header);
194
194
 
195
195
  case _platform.ANDROID:
196
- return (0, _jsxRuntime.createScopedElement)(_Title.default, {
196
+ return (0, _jsxRuntime.createScopedElement)(_Title.Title, {
197
197
  vkuiClass: "Alert__header",
198
198
  weight: "2",
199
199
  level: "2"
@@ -255,7 +255,8 @@ var AlertComponent = /*#__PURE__*/function (_React$Component) {
255
255
  getRootRef: this.element,
256
256
  onClick: this.stopPropagation,
257
257
  onClose: this.onClose,
258
- timeout: this.timeout,
258
+ timeout: this.timeout // eslint-disable-next-line vkui/no-object-expression-in-arguments
259
+ ,
259
260
  vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Alert", platform), {
260
261
  "Alert--v": resolvedActionsLayout === "vertical",
261
262
  "Alert--h": resolvedActionsLayout === "horizontal",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"names":["AlertComponent","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","IOS","Component","href","mode","onItemClick","target","title","ANDROID","viewWidth","ViewWidth","DESKTOP","element","React","createRef","state","VKCOM","eventHandler","transitionEvent","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":["AlertComponent","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","IOS","Component","href","mode","onItemClick","target","title","ANDROID","viewWidth","ViewWidth","DESKTOP","element","React","createRef","state","VKCOM","eventHandler","transitionEvent","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 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 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 = withPlatform(\n withAdaptivity(AlertComponent, {\n viewWidth: true,\n })\n);\n"],"file":"Alert.js"}
@@ -86,7 +86,7 @@ var AppRoot = (0, _withAdaptivity.withAdaptivity)(function (_ref) {
86
86
 
87
87
  if (process.env.NODE_ENV === "development") {
88
88
  if (scroll !== "global" && mode !== "embedded") {
89
- warn("Scroll modes only supported in embedded mode");
89
+ warn("Scroll modes only supported in embedded mode", "error");
90
90
  }
91
91
 
92
92
  if (_mode && _embedded) {
@@ -186,7 +186,8 @@ var AppRoot = (0, _withAdaptivity.withAdaptivity)(function (_ref) {
186
186
  globalClasses: !noLegacyClasses
187
187
  }, children)));
188
188
  return mode === "partial" ? content : (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({
189
- ref: rootRef,
189
+ ref: rootRef // eslint-disable-next-line vkui/no-object-expression-in-arguments
190
+ ,
190
191
  vkuiClass: (0, _classNames.classNames)("AppRoot", {
191
192
  "AppRoot--no-mouse": !hasMouse
192
193
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","React","useRef","useState","portalRoot","setPortalRoot","window","document","insets","initialized","current","documentElement","classList","add","classScopingMode","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","noop","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","SizeType","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":["warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","React","useRef","useState","portalRoot","setPortalRoot","window","document","insets","initialized","current","documentElement","classList","add","classScopingMode","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","noop","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","SizeType","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\", \"error\");\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 // 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"}
@@ -113,6 +113,7 @@ var Avatar = function Avatar(_ref) {
113
113
 
114
114
  var hasSrc = src || srcSet;
115
115
  return (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({}, restProps, {
116
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
116
117
  vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Avatar", platform), "Avatar--type-".concat(mode), "Avatar--sz-".concat(size), {
117
118
  "Avatar--shadow": shadow,
118
119
  "Avatar--failed": failedImage
@@ -146,7 +147,8 @@ var Avatar = function Avatar(_ref) {
146
147
  }), children && (0, _jsxRuntime.createScopedElement)("div", {
147
148
  vkuiClass: "Avatar__children"
148
149
  }, children), overlayIcon && (0, _jsxRuntime.createScopedElement)(_Tappable.default, {
149
- Component: "button",
150
+ Component: "button" // eslint-disable-next-line vkui/no-object-expression-in-arguments
151
+ ,
150
152
  vkuiClass: (0, _classNames.classNames)("Avatar__overlay", {
151
153
  "Avatar__overlay--visible": overlayAction === "always",
152
154
  "Avatar__overlay--light": overlayMode === "light",
@@ -157,6 +159,7 @@ var Avatar = function Avatar(_ref) {
157
159
  hasActive: false,
158
160
  onClick: onClick
159
161
  }, overlayIcon), badge && (0, _jsxRuntime.createScopedElement)("div", {
162
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
160
163
  vkuiClass: (0, _classNames.classNames)("Avatar__badge", {
161
164
  "Avatar__badge--large": size >= 96,
162
165
  "Avatar__badge--shadow": badge !== "online" && badge !== "online-mobile"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":["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","React","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":["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","React","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"}