@vkontakte/vkui 5.1.2 → 5.2.1

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 (1245) hide show
  1. package/README.md +6 -1
  2. package/dist/cjs/components/ActionSheet/ActionSheet.js +8 -8
  3. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  4. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +4 -4
  5. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  6. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
  7. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  8. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +5 -6
  9. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  10. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
  11. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  12. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  13. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  14. package/dist/cjs/components/Alert/Alert.d.ts +1 -1
  15. package/dist/cjs/components/Alert/Alert.js +10 -10
  16. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  17. package/dist/cjs/components/AppRoot/AppRoot.js +20 -12
  18. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  19. package/dist/cjs/components/AppRoot/AppRootPortal.js +2 -2
  20. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  21. package/dist/cjs/components/AppRoot/ScrollContext.js +1 -1
  22. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  23. package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
  24. package/dist/cjs/components/Avatar/Avatar.js +1 -1
  25. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  26. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  27. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  28. package/dist/cjs/components/Banner/Banner.js +2 -2
  29. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  30. package/dist/cjs/components/BaseGallery/BaseGallery.js +4 -4
  31. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  32. package/dist/cjs/components/BaseGallery/helpers.d.ts +1 -1
  33. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  34. package/dist/cjs/components/BaseGallery/types.d.ts +1 -1
  35. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  36. package/dist/cjs/components/Button/Button.d.ts +1 -1
  37. package/dist/cjs/components/Button/Button.js +12 -6
  38. package/dist/cjs/components/Button/Button.js.map +1 -1
  39. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +1 -1
  40. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  41. package/dist/cjs/components/Calendar/Calendar.d.ts +2 -2
  42. package/dist/cjs/components/Calendar/Calendar.js +6 -6
  43. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  44. package/dist/cjs/components/CalendarDay/CalendarDay.js +1 -1
  45. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  46. package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -3
  47. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  48. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +4 -4
  49. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  50. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +2 -2
  51. package/dist/cjs/components/CalendarRange/CalendarRange.js +3 -3
  52. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  53. package/dist/cjs/components/CalendarTime/CalendarTime.js +3 -3
  54. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  55. package/dist/cjs/components/CardGrid/CardGrid.js +8 -3
  56. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  57. package/dist/cjs/components/CardScroll/CardScroll.js +2 -6
  58. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  59. package/dist/cjs/components/Cell/Cell.d.ts +1 -1
  60. package/dist/cjs/components/Cell/Cell.js +6 -6
  61. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  62. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +8 -5
  63. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  64. package/dist/cjs/components/Cell/CellDragger/CellDragger.js +1 -1
  65. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  66. package/dist/cjs/components/Checkbox/Checkbox.d.ts +1 -1
  67. package/dist/cjs/components/Checkbox/Checkbox.js +16 -10
  68. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  69. package/dist/cjs/components/Chip/Chip.js +11 -6
  70. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  71. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -1
  72. package/dist/cjs/components/ChipsInput/ChipsInput.js +1 -1
  73. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  74. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +4 -4
  75. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  76. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -9
  77. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  78. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +5 -5
  79. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  80. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  81. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  82. package/dist/cjs/components/ContentCard/ContentCard.d.ts +1 -1
  83. package/dist/cjs/components/ContentCard/ContentCard.js +4 -3
  84. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  85. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +4 -4
  86. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  87. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +2 -2
  88. package/dist/cjs/components/CustomSelect/CustomSelect.js +11 -10
  89. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  90. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -4
  91. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +22 -73
  92. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  93. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +10 -5
  94. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  95. package/dist/cjs/components/DateInput/DateInput.d.ts +4 -3
  96. package/dist/cjs/components/DateInput/DateInput.js +18 -12
  97. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  98. package/dist/cjs/components/DatePicker/DatePicker.js +2 -2
  99. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  100. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +3 -3
  101. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +18 -12
  102. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  103. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  104. package/dist/cjs/components/Epic/Epic.js +1 -1
  105. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  106. package/dist/cjs/components/Epic/ScrollSaver.js +1 -1
  107. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  108. package/dist/cjs/components/File/File.d.ts +1 -1
  109. package/dist/cjs/components/File/File.js +2 -2
  110. package/dist/cjs/components/File/File.js.map +1 -1
  111. package/dist/cjs/components/FixedLayout/FixedLayout.js +6 -6
  112. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  113. package/dist/cjs/components/FormField/FormField.js +14 -13
  114. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  115. package/dist/cjs/components/FormItem/FormItem.js +11 -6
  116. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  117. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
  118. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  119. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  120. package/dist/cjs/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  121. package/dist/cjs/components/Group/Group.js +14 -8
  122. package/dist/cjs/components/Group/Group.js.map +1 -1
  123. package/dist/cjs/components/Header/Header.js +3 -3
  124. package/dist/cjs/components/Header/Header.js.map +1 -1
  125. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +3 -3
  126. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  127. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +3 -3
  128. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  129. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  130. package/dist/cjs/components/HoverPopper/HoverPopper.js +2 -2
  131. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  132. package/dist/cjs/components/IconButton/IconButton.js +19 -5
  133. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  134. package/dist/cjs/components/Image/Image.d.ts +1 -1
  135. package/dist/cjs/components/Image/Image.js.map +1 -1
  136. package/dist/cjs/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  137. package/dist/cjs/components/ImageBase/ImageBase.d.ts +1 -1
  138. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  139. package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
  140. package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  141. package/dist/cjs/components/ImageBase/validators.js +1 -1
  142. package/dist/cjs/components/ImageBase/validators.js.map +1 -1
  143. package/dist/cjs/components/InfoRow/InfoRow.js +1 -1
  144. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  145. package/dist/cjs/components/Input/Input.d.ts +1 -1
  146. package/dist/cjs/components/Input/Input.js +9 -4
  147. package/dist/cjs/components/Input/Input.js.map +1 -1
  148. package/dist/cjs/components/InputLike/InputLike.js +1 -1
  149. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  150. package/dist/cjs/components/Link/Link.js.map +1 -1
  151. package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  152. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  153. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  154. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  155. package/dist/cjs/components/ModalCard/ModalCard.js +9 -7
  156. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  157. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  158. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +15 -8
  159. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  160. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +1 -1
  161. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  162. package/dist/cjs/components/ModalPage/ModalPage.d.ts +2 -6
  163. package/dist/cjs/components/ModalPage/ModalPage.js +20 -14
  164. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  165. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +4 -4
  166. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  167. package/dist/cjs/components/ModalRoot/ModalRoot.js +13 -14
  168. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  169. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +2 -2
  170. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  171. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +6 -6
  172. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  173. package/dist/cjs/components/ModalRoot/useModalManager.js +3 -3
  174. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  175. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -1
  176. package/dist/cjs/components/NativeSelect/NativeSelect.js +12 -9
  177. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  178. package/dist/cjs/components/Pagination/Pagination.js +11 -5
  179. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  180. package/dist/cjs/components/Panel/Panel.d.ts +1 -1
  181. package/dist/cjs/components/Panel/Panel.js +13 -7
  182. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  183. package/dist/cjs/components/PanelHeader/PanelHeader.js +7 -7
  184. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  185. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +7 -6
  186. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  187. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
  188. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  189. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  190. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  191. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
  192. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  193. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
  194. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  195. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
  196. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  197. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  198. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  199. package/dist/cjs/components/Placeholder/Placeholder.js +1 -1
  200. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  201. package/dist/cjs/components/PlatformProvider/PlatformProvider.js +2 -2
  202. package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
  203. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +2 -2
  204. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  205. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +3 -3
  206. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  207. package/dist/cjs/components/Popover/Popover.js +5 -5
  208. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  209. package/dist/cjs/components/Popper/Popper.d.ts +12 -9
  210. package/dist/cjs/components/Popper/Popper.js +94 -121
  211. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  212. package/dist/cjs/components/PopperArrow/PopperArrow.d.ts +15 -5
  213. package/dist/cjs/components/PopperArrow/PopperArrow.js +44 -17
  214. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -1
  215. package/dist/cjs/components/Progress/Progress.js +1 -1
  216. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  217. package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -2
  218. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  219. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  220. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +8 -8
  221. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  222. package/dist/cjs/components/Radio/Radio.js +12 -7
  223. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  224. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  225. package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +1 -1
  226. package/dist/cjs/components/RangeSlider/UniversalSlider.js +10 -5
  227. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  228. package/dist/cjs/components/Removable/Removable.js +4 -8
  229. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  230. package/dist/cjs/components/RichCell/RichCell.js +9 -4
  231. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  232. package/dist/cjs/components/RichTooltip/RichTooltip.js +1 -1
  233. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  234. package/dist/cjs/components/Root/Root.js +9 -9
  235. package/dist/cjs/components/Root/Root.js.map +1 -1
  236. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +5 -5
  237. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  238. package/dist/cjs/components/Search/Search.d.ts +1 -1
  239. package/dist/cjs/components/Search/Search.js +13 -8
  240. package/dist/cjs/components/Search/Search.js.map +1 -1
  241. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +18 -18
  242. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  243. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
  244. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  245. package/dist/cjs/components/Select/Select.js +3 -3
  246. package/dist/cjs/components/Select/Select.js.map +1 -1
  247. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  248. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +12 -9
  249. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  250. package/dist/cjs/components/SelectTypography/SelectTypography.js +1 -1
  251. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  252. package/dist/cjs/components/SimpleCell/SimpleCell.js +13 -7
  253. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  254. package/dist/cjs/components/Snackbar/Snackbar.js +8 -8
  255. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  256. package/dist/cjs/components/Spinner/Spinner.js +1 -1
  257. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  258. package/dist/cjs/components/SplitCol/SplitCol.d.ts +0 -6
  259. package/dist/cjs/components/SplitCol/SplitCol.js +12 -18
  260. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  261. package/dist/cjs/components/SplitCol/SplitColContext.d.ts +7 -0
  262. package/dist/cjs/components/SplitCol/SplitColContext.js +18 -0
  263. package/dist/cjs/components/SplitCol/SplitColContext.js.map +1 -0
  264. package/dist/cjs/components/SplitLayout/SplitLayout.js +1 -1
  265. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  266. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +10 -5
  267. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  268. package/dist/cjs/components/Switch/Switch.js +12 -7
  269. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  270. package/dist/cjs/components/TabbarItem/TabbarItem.js +10 -1
  271. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  272. package/dist/cjs/components/Tabs/Tabs.js +3 -3
  273. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  274. package/dist/cjs/components/TabsItem/TabsItem.js +10 -5
  275. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  276. package/dist/cjs/components/Tappable/Tappable.d.ts +1 -1
  277. package/dist/cjs/components/Tappable/Tappable.js +14 -14
  278. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  279. package/dist/cjs/components/TextTooltip/TextTooltip.js +1 -1
  280. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  281. package/dist/cjs/components/Textarea/Textarea.d.ts +1 -1
  282. package/dist/cjs/components/Textarea/Textarea.js +10 -5
  283. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  284. package/dist/cjs/components/Tooltip/Tooltip.d.ts +3 -3
  285. package/dist/cjs/components/Tooltip/Tooltip.js +120 -156
  286. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  287. package/dist/cjs/components/Touch/Touch.js +3 -3
  288. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  289. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  290. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  291. package/dist/cjs/components/Typography/Headline/Headline.js +9 -4
  292. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  293. package/dist/cjs/components/Typography/Subhead/Subhead.js +8 -3
  294. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  295. package/dist/cjs/components/Typography/Text/Text.js +9 -4
  296. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  297. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  298. package/dist/cjs/components/UsersStack/UsersStack.js +2 -2
  299. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  300. package/dist/cjs/components/View/View.js +13 -13
  301. package/dist/cjs/components/View/View.js.map +1 -1
  302. package/dist/cjs/components/View/ViewInfinite.d.ts +3 -3
  303. package/dist/cjs/components/View/ViewInfinite.js +10 -10
  304. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  305. package/dist/cjs/components/WriteBar/WriteBar.js +4 -4
  306. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  307. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +12 -10
  308. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  309. package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
  310. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  311. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
  312. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  313. package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  314. package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js +1 -1
  315. package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  316. package/dist/cjs/hooks/useAutoDetectAppearance.js +1 -1
  317. package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
  318. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  319. package/dist/cjs/hooks/useChipsSelect.d.ts +1 -1
  320. package/dist/cjs/hooks/useChipsSelect.js.map +1 -1
  321. package/dist/cjs/hooks/useDateInput.js +1 -1
  322. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  323. package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
  324. package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
  325. package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
  326. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  327. package/dist/cjs/hooks/useTimeout.js +1 -1
  328. package/dist/cjs/hooks/useTimeout.js.map +1 -1
  329. package/dist/cjs/hooks/useTodayDate.js.map +1 -1
  330. package/dist/cjs/hooks/useWaitTransitionFinish.js +1 -1
  331. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  332. package/dist/cjs/index.d.ts +37 -30
  333. package/dist/cjs/index.js +13 -13
  334. package/dist/cjs/index.js.map +1 -1
  335. package/dist/cjs/lib/SSR.js +3 -3
  336. package/dist/cjs/lib/SSR.js.map +1 -1
  337. package/dist/cjs/lib/adaptivity/constants.d.ts +7 -0
  338. package/dist/cjs/lib/adaptivity/constants.js +6 -1
  339. package/dist/cjs/lib/adaptivity/constants.js.map +1 -1
  340. package/dist/cjs/lib/adaptivity/functions.d.ts +9 -1
  341. package/dist/cjs/lib/adaptivity/functions.js +43 -0
  342. package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
  343. package/dist/cjs/lib/adaptivity/types.d.ts +2 -1
  344. package/dist/cjs/lib/adaptivity/types.js.map +1 -1
  345. package/dist/cjs/lib/calendar.js.map +1 -1
  346. package/dist/cjs/lib/floating/adapters.d.ts +2 -0
  347. package/dist/cjs/lib/floating/adapters.js +63 -0
  348. package/dist/cjs/lib/floating/adapters.js.map +1 -0
  349. package/dist/cjs/lib/floating/functions.d.ts +10 -0
  350. package/dist/cjs/lib/floating/functions.js +36 -0
  351. package/dist/cjs/lib/floating/functions.js.map +1 -0
  352. package/dist/cjs/lib/floating/index.d.ts +4 -0
  353. package/dist/cjs/lib/floating/index.js +75 -0
  354. package/dist/cjs/lib/floating/index.js.map +1 -0
  355. package/dist/cjs/lib/floating/types.d.ts +4 -0
  356. package/dist/cjs/lib/floating/types.js +6 -0
  357. package/dist/cjs/lib/floating/types.js.map +1 -0
  358. package/dist/cjs/lib/platform.js +1 -1
  359. package/dist/cjs/lib/platform.js.map +1 -1
  360. package/dist/cjs/lib/select.js.map +1 -1
  361. package/dist/cjs/lib/useIsomorphicLayoutEffect.d.ts +1 -1
  362. package/dist/cjs/lib/warnOnce.d.ts +7 -0
  363. package/dist/cjs/lib/warnOnce.js +14 -0
  364. package/dist/cjs/lib/warnOnce.js.map +1 -1
  365. package/dist/cjs/shared/breakpoints.d.ts +44 -0
  366. package/dist/cjs/shared/breakpoints.js +79 -13
  367. package/dist/cjs/shared/breakpoints.js.map +1 -1
  368. package/dist/cjs/types.d.ts +9 -1
  369. package/dist/cjs/types.js.map +1 -1
  370. package/dist/components/ActionSheet/ActionSheet.js +8 -8
  371. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  372. package/dist/components/ActionSheet/ActionSheetDropdown.js +4 -4
  373. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  374. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
  375. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  376. package/dist/components/ActionSheetItem/ActionSheetItem.js +5 -6
  377. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  378. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
  379. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  380. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  381. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  382. package/dist/components/Alert/Alert.d.ts +1 -1
  383. package/dist/components/Alert/Alert.js +10 -10
  384. package/dist/components/Alert/Alert.js.map +1 -1
  385. package/dist/components/AppRoot/AppRoot.js +20 -12
  386. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  387. package/dist/components/AppRoot/AppRootPortal.js +2 -2
  388. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  389. package/dist/components/AppRoot/ScrollContext.js +1 -1
  390. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  391. package/dist/components/Avatar/Avatar.d.ts +1 -1
  392. package/dist/components/Avatar/Avatar.js +1 -1
  393. package/dist/components/Avatar/Avatar.js.map +1 -1
  394. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  395. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +1 -1
  396. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  397. package/dist/components/Banner/Banner.js +2 -2
  398. package/dist/components/Banner/Banner.js.map +1 -1
  399. package/dist/components/BaseGallery/BaseGallery.js +4 -4
  400. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  401. package/dist/components/BaseGallery/helpers.d.ts +1 -1
  402. package/dist/components/BaseGallery/helpers.js.map +1 -1
  403. package/dist/components/BaseGallery/types.d.ts +1 -1
  404. package/dist/components/BaseGallery/types.js.map +1 -1
  405. package/dist/components/Button/Button.d.ts +1 -1
  406. package/dist/components/Button/Button.js +12 -6
  407. package/dist/components/Button/Button.js.map +1 -1
  408. package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -1
  409. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  410. package/dist/components/Calendar/Calendar.d.ts +2 -2
  411. package/dist/components/Calendar/Calendar.js +7 -7
  412. package/dist/components/Calendar/Calendar.js.map +1 -1
  413. package/dist/components/CalendarDay/CalendarDay.js +1 -1
  414. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  415. package/dist/components/CalendarDays/CalendarDays.js +3 -3
  416. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  417. package/dist/components/CalendarHeader/CalendarHeader.js +5 -5
  418. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  419. package/dist/components/CalendarRange/CalendarRange.d.ts +2 -2
  420. package/dist/components/CalendarRange/CalendarRange.js +4 -4
  421. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  422. package/dist/components/CalendarTime/CalendarTime.js +3 -3
  423. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  424. package/dist/components/CardGrid/CardGrid.js +8 -3
  425. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  426. package/dist/components/CardScroll/CardScroll.js +2 -6
  427. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  428. package/dist/components/Cell/Cell.d.ts +1 -1
  429. package/dist/components/Cell/Cell.js +6 -6
  430. package/dist/components/Cell/Cell.js.map +1 -1
  431. package/dist/components/Cell/CellCheckbox/CellCheckbox.js +8 -5
  432. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  433. package/dist/components/Cell/CellDragger/CellDragger.js +1 -1
  434. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  435. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  436. package/dist/components/Checkbox/Checkbox.js +16 -10
  437. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  438. package/dist/components/Chip/Chip.js +11 -6
  439. package/dist/components/Chip/Chip.js.map +1 -1
  440. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  441. package/dist/components/ChipsInput/ChipsInput.js +1 -1
  442. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  443. package/dist/components/ChipsInputBase/ChipsInputBase.js +4 -4
  444. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  445. package/dist/components/ChipsSelect/ChipsSelect.js +5 -9
  446. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  447. package/dist/components/ConfigProvider/ConfigProvider.js +5 -5
  448. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  449. package/dist/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  450. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  451. package/dist/components/ContentCard/ContentCard.d.ts +1 -1
  452. package/dist/components/ContentCard/ContentCard.js +4 -3
  453. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  454. package/dist/components/CustomScrollView/CustomScrollView.js +4 -4
  455. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  456. package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
  457. package/dist/components/CustomSelect/CustomSelect.js +11 -10
  458. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  459. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -4
  460. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +22 -73
  461. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  462. package/dist/components/CustomSelectOption/CustomSelectOption.js +10 -5
  463. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  464. package/dist/components/DateInput/DateInput.d.ts +4 -3
  465. package/dist/components/DateInput/DateInput.js +18 -12
  466. package/dist/components/DateInput/DateInput.js.map +1 -1
  467. package/dist/components/DatePicker/DatePicker.js +2 -2
  468. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  469. package/dist/components/DateRangeInput/DateRangeInput.d.ts +3 -3
  470. package/dist/components/DateRangeInput/DateRangeInput.js +18 -12
  471. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  472. package/dist/components/DropdownIcon/DropdownIcon.js +1 -1
  473. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  474. package/dist/components/Epic/Epic.js +1 -1
  475. package/dist/components/Epic/Epic.js.map +1 -1
  476. package/dist/components/Epic/ScrollSaver.js +1 -1
  477. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  478. package/dist/components/File/File.d.ts +1 -1
  479. package/dist/components/File/File.js +2 -2
  480. package/dist/components/File/File.js.map +1 -1
  481. package/dist/components/FixedLayout/FixedLayout.js +5 -5
  482. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  483. package/dist/components/FormField/FormField.js +14 -13
  484. package/dist/components/FormField/FormField.js.map +1 -1
  485. package/dist/components/FormItem/FormItem.js +11 -6
  486. package/dist/components/FormItem/FormItem.js.map +1 -1
  487. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
  488. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  489. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  490. package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  491. package/dist/components/Group/Group.js +14 -8
  492. package/dist/components/Group/Group.js.map +1 -1
  493. package/dist/components/Header/Header.js +3 -3
  494. package/dist/components/Header/Header.js.map +1 -1
  495. package/dist/components/HorizontalCell/HorizontalCell.js +3 -3
  496. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  497. package/dist/components/HorizontalScroll/HorizontalScroll.js +3 -3
  498. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  499. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  500. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  501. package/dist/components/HoverPopper/HoverPopper.js +2 -2
  502. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  503. package/dist/components/IconButton/IconButton.js +19 -5
  504. package/dist/components/IconButton/IconButton.js.map +1 -1
  505. package/dist/components/Image/Image.d.ts +1 -1
  506. package/dist/components/Image/Image.js.map +1 -1
  507. package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  508. package/dist/components/ImageBase/ImageBase.d.ts +1 -1
  509. package/dist/components/ImageBase/ImageBase.js +1 -1
  510. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  511. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
  512. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  513. package/dist/components/ImageBase/validators.js +1 -1
  514. package/dist/components/ImageBase/validators.js.map +1 -1
  515. package/dist/components/InfoRow/InfoRow.js +1 -1
  516. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  517. package/dist/components/Input/Input.d.ts +1 -1
  518. package/dist/components/Input/Input.js +9 -4
  519. package/dist/components/Input/Input.js.map +1 -1
  520. package/dist/components/InputLike/InputLike.js +1 -1
  521. package/dist/components/InputLike/InputLike.js.map +1 -1
  522. package/dist/components/Link/Link.js.map +1 -1
  523. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
  524. package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
  525. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  526. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  527. package/dist/components/ModalCard/ModalCard.js +9 -7
  528. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  529. package/dist/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  530. package/dist/components/ModalCardBase/ModalCardBase.js +15 -8
  531. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  532. package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -1
  533. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  534. package/dist/components/ModalPage/ModalPage.d.ts +2 -6
  535. package/dist/components/ModalPage/ModalPage.js +20 -14
  536. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  537. package/dist/components/ModalPageHeader/ModalPageHeader.js +4 -4
  538. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  539. package/dist/components/ModalRoot/ModalRoot.js +13 -14
  540. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  541. package/dist/components/ModalRoot/ModalRootAdaptive.js +2 -2
  542. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  543. package/dist/components/ModalRoot/ModalRootDesktop.js +6 -6
  544. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  545. package/dist/components/ModalRoot/useModalManager.js +3 -3
  546. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  547. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
  548. package/dist/components/NativeSelect/NativeSelect.js +12 -9
  549. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  550. package/dist/components/Pagination/Pagination.js +11 -5
  551. package/dist/components/Pagination/Pagination.js.map +1 -1
  552. package/dist/components/Panel/Panel.d.ts +1 -1
  553. package/dist/components/Panel/Panel.js +13 -7
  554. package/dist/components/Panel/Panel.js.map +1 -1
  555. package/dist/components/PanelHeader/PanelHeader.js +7 -7
  556. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  557. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +8 -7
  558. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  559. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
  560. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  561. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  562. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  563. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
  564. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  565. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
  566. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  567. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +3 -3
  568. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  569. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  570. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  571. package/dist/components/Placeholder/Placeholder.js +1 -1
  572. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  573. package/dist/components/PlatformProvider/PlatformProvider.js +2 -2
  574. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  575. package/dist/components/PopoutRoot/PopoutRoot.js +2 -2
  576. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  577. package/dist/components/PopoutWrapper/PopoutWrapper.js +3 -3
  578. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  579. package/dist/components/Popover/Popover.js +5 -5
  580. package/dist/components/Popover/Popover.js.map +1 -1
  581. package/dist/components/Popper/Popper.d.ts +12 -9
  582. package/dist/components/Popper/Popper.js +95 -122
  583. package/dist/components/Popper/Popper.js.map +1 -1
  584. package/dist/components/PopperArrow/PopperArrow.d.ts +15 -5
  585. package/dist/components/PopperArrow/PopperArrow.js +40 -15
  586. package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
  587. package/dist/components/Progress/Progress.js +1 -1
  588. package/dist/components/Progress/Progress.js.map +1 -1
  589. package/dist/components/PromoBanner/PromoBanner.js +2 -2
  590. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  591. package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  592. package/dist/components/PullToRefresh/PullToRefresh.js +8 -8
  593. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  594. package/dist/components/Radio/Radio.js +12 -7
  595. package/dist/components/Radio/Radio.js.map +1 -1
  596. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  597. package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
  598. package/dist/components/RangeSlider/UniversalSlider.js +10 -5
  599. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  600. package/dist/components/Removable/Removable.js +4 -8
  601. package/dist/components/Removable/Removable.js.map +1 -1
  602. package/dist/components/RichCell/RichCell.js +9 -4
  603. package/dist/components/RichCell/RichCell.js.map +1 -1
  604. package/dist/components/RichTooltip/RichTooltip.js +1 -1
  605. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  606. package/dist/components/Root/Root.js +8 -8
  607. package/dist/components/Root/Root.js.map +1 -1
  608. package/dist/components/ScreenSpinner/ScreenSpinner.js +5 -5
  609. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  610. package/dist/components/Search/Search.d.ts +1 -1
  611. package/dist/components/Search/Search.js +13 -8
  612. package/dist/components/Search/Search.js.map +1 -1
  613. package/dist/components/SegmentedControl/SegmentedControl.js +18 -18
  614. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  615. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
  616. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  617. package/dist/components/Select/Select.js +3 -3
  618. package/dist/components/Select/Select.js.map +1 -1
  619. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  620. package/dist/components/SelectMimicry/SelectMimicry.js +12 -9
  621. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  622. package/dist/components/SelectTypography/SelectTypography.js +1 -1
  623. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  624. package/dist/components/SimpleCell/SimpleCell.js +13 -7
  625. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  626. package/dist/components/Snackbar/Snackbar.js +8 -8
  627. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  628. package/dist/components/Spinner/Spinner.js +1 -1
  629. package/dist/components/Spinner/Spinner.js.map +1 -1
  630. package/dist/components/SplitCol/SplitCol.d.ts +0 -6
  631. package/dist/components/SplitCol/SplitCol.js +10 -14
  632. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  633. package/dist/components/SplitCol/SplitColContext.d.ts +7 -0
  634. package/dist/components/SplitCol/SplitColContext.js +9 -0
  635. package/dist/components/SplitCol/SplitColContext.js.map +1 -0
  636. package/dist/components/SplitLayout/SplitLayout.js +1 -1
  637. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  638. package/dist/components/SubnavigationButton/SubnavigationButton.js +10 -5
  639. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  640. package/dist/components/Switch/Switch.js +12 -7
  641. package/dist/components/Switch/Switch.js.map +1 -1
  642. package/dist/components/TabbarItem/TabbarItem.js +10 -1
  643. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  644. package/dist/components/Tabs/Tabs.js +3 -3
  645. package/dist/components/Tabs/Tabs.js.map +1 -1
  646. package/dist/components/TabsItem/TabsItem.js +10 -5
  647. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  648. package/dist/components/Tappable/Tappable.d.ts +1 -1
  649. package/dist/components/Tappable/Tappable.js +14 -14
  650. package/dist/components/Tappable/Tappable.js.map +1 -1
  651. package/dist/components/TextTooltip/TextTooltip.js +1 -1
  652. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  653. package/dist/components/Textarea/Textarea.d.ts +1 -1
  654. package/dist/components/Textarea/Textarea.js +10 -5
  655. package/dist/components/Textarea/Textarea.js.map +1 -1
  656. package/dist/components/Tooltip/Tooltip.d.ts +3 -3
  657. package/dist/components/Tooltip/Tooltip.js +120 -156
  658. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  659. package/dist/components/Touch/Touch.js +3 -3
  660. package/dist/components/Touch/Touch.js.map +1 -1
  661. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  662. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  663. package/dist/components/Typography/Headline/Headline.js +9 -4
  664. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  665. package/dist/components/Typography/Subhead/Subhead.js +8 -3
  666. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  667. package/dist/components/Typography/Text/Text.js +9 -4
  668. package/dist/components/Typography/Text/Text.js.map +1 -1
  669. package/dist/components/Typography/Title/Title.js.map +1 -1
  670. package/dist/components/UsersStack/UsersStack.js +2 -2
  671. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  672. package/dist/components/View/View.js +12 -12
  673. package/dist/components/View/View.js.map +1 -1
  674. package/dist/components/View/ViewInfinite.d.ts +3 -3
  675. package/dist/components/View/ViewInfinite.js +9 -9
  676. package/dist/components/View/ViewInfinite.js.map +1 -1
  677. package/dist/components/WriteBar/WriteBar.js +4 -4
  678. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  679. package/dist/components/WriteBarIcon/WriteBarIcon.js +12 -10
  680. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  681. package/dist/components.css +142 -2
  682. package/dist/components.css.map +1 -1
  683. package/dist/components.js.tmp +62123 -4
  684. package/dist/cssm/components/ActionSheet/ActionSheet.js +8 -8
  685. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  686. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +4 -4
  687. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  688. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
  689. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  690. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +5 -6
  691. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  692. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
  693. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  694. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  695. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  696. package/dist/cssm/components/Alert/Alert.d.ts +1 -1
  697. package/dist/cssm/components/Alert/Alert.js +10 -10
  698. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  699. package/dist/cssm/components/Alert/Alert.module.css +1 -1
  700. package/dist/cssm/components/AppRoot/AppRoot.js +20 -12
  701. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  702. package/dist/cssm/components/AppRoot/AppRootPortal.js +2 -2
  703. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  704. package/dist/cssm/components/AppRoot/ScrollContext.js +1 -1
  705. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  706. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
  707. package/dist/cssm/components/Avatar/Avatar.js +1 -1
  708. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  709. package/dist/cssm/components/Avatar/Avatar.module.css +1 -1
  710. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  711. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +1 -1
  712. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  713. package/dist/cssm/components/Banner/Banner.js +2 -2
  714. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  715. package/dist/cssm/components/BaseGallery/BaseGallery.js +4 -4
  716. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  717. package/dist/cssm/components/BaseGallery/helpers.d.ts +1 -1
  718. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  719. package/dist/cssm/components/BaseGallery/types.d.ts +1 -1
  720. package/dist/cssm/components/BaseGallery/types.js.map +1 -1
  721. package/dist/cssm/components/Button/Button.d.ts +1 -1
  722. package/dist/cssm/components/Button/Button.js +12 -6
  723. package/dist/cssm/components/Button/Button.js.map +1 -1
  724. package/dist/cssm/components/Button/Button.module.css +1 -1
  725. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +1 -1
  726. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  727. package/dist/cssm/components/Calendar/Calendar.d.ts +2 -2
  728. package/dist/cssm/components/Calendar/Calendar.js +7 -7
  729. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  730. package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -1
  731. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  732. package/dist/cssm/components/CalendarDay/CalendarDay.module.css +1 -1
  733. package/dist/cssm/components/CalendarDays/CalendarDays.js +3 -3
  734. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  735. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +5 -5
  736. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  737. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +2 -2
  738. package/dist/cssm/components/CalendarRange/CalendarRange.js +4 -4
  739. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  740. package/dist/cssm/components/CalendarTime/CalendarTime.js +3 -3
  741. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  742. package/dist/cssm/components/CalendarTime/CalendarTime.module.css +1 -1
  743. package/dist/cssm/components/CardGrid/CardGrid.js +8 -3
  744. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  745. package/dist/cssm/components/CardGrid/CardGrid.module.css +1 -1
  746. package/dist/cssm/components/CardScroll/CardScroll.js +2 -6
  747. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  748. package/dist/cssm/components/Cell/Cell.d.ts +1 -1
  749. package/dist/cssm/components/Cell/Cell.js +6 -6
  750. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  751. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +8 -5
  752. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  753. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.module.css +1 -1
  754. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
  755. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  756. package/dist/cssm/components/Checkbox/Checkbox.d.ts +1 -1
  757. package/dist/cssm/components/Checkbox/Checkbox.js +16 -10
  758. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  759. package/dist/cssm/components/Checkbox/Checkbox.module.css +1 -1
  760. package/dist/cssm/components/Chip/Chip.js +11 -6
  761. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  762. package/dist/cssm/components/Chip/Chip.module.css +1 -1
  763. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +1 -1
  764. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  765. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  766. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +4 -4
  767. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  768. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -9
  769. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  770. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +5 -5
  771. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  772. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  773. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  774. package/dist/cssm/components/ContentCard/ContentCard.d.ts +1 -1
  775. package/dist/cssm/components/ContentCard/ContentCard.js +4 -3
  776. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  777. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +4 -4
  778. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  779. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +2 -2
  780. package/dist/cssm/components/CustomSelect/CustomSelect.js +11 -10
  781. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  782. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -4
  783. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +22 -73
  784. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  785. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +10 -5
  786. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  787. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +1 -1
  788. package/dist/cssm/components/DateInput/DateInput.d.ts +4 -3
  789. package/dist/cssm/components/DateInput/DateInput.js +19 -12
  790. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  791. package/dist/cssm/components/DateInput/DateInput.module.css +1 -1
  792. package/dist/cssm/components/DatePicker/DatePicker.js +2 -2
  793. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  794. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +3 -3
  795. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +18 -12
  796. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  797. package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +1 -1
  798. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +1 -1
  799. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  800. package/dist/cssm/components/Epic/Epic.js +1 -1
  801. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  802. package/dist/cssm/components/Epic/ScrollSaver.js +1 -1
  803. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  804. package/dist/cssm/components/File/File.d.ts +1 -1
  805. package/dist/cssm/components/File/File.js +2 -2
  806. package/dist/cssm/components/File/File.js.map +1 -1
  807. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -5
  808. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  809. package/dist/cssm/components/FormField/FormField.js +14 -13
  810. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  811. package/dist/cssm/components/FormField/FormField.module.css +1 -1
  812. package/dist/cssm/components/FormItem/FormItem.js +11 -6
  813. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  814. package/dist/cssm/components/FormItem/FormItem.module.css +1 -1
  815. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
  816. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  817. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +1 -1
  818. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  819. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  820. package/dist/cssm/components/Group/Group.js +14 -8
  821. package/dist/cssm/components/Group/Group.js.map +1 -1
  822. package/dist/cssm/components/Group/Group.module.css +1 -1
  823. package/dist/cssm/components/Header/Header.js +3 -3
  824. package/dist/cssm/components/Header/Header.js.map +1 -1
  825. package/dist/cssm/components/Header/Header.module.css +1 -1
  826. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -3
  827. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  828. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +1 -1
  829. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -3
  830. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  831. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  832. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  833. package/dist/cssm/components/HoverPopper/HoverPopper.js +2 -2
  834. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  835. package/dist/cssm/components/IconButton/IconButton.js +19 -5
  836. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  837. package/dist/cssm/components/IconButton/IconButton.module.css +1 -1
  838. package/dist/cssm/components/Image/Image.d.ts +1 -1
  839. package/dist/cssm/components/Image/Image.js.map +1 -1
  840. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  841. package/dist/cssm/components/ImageBase/ImageBase.d.ts +1 -1
  842. package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
  843. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  844. package/dist/cssm/components/ImageBase/ImageBase.module.css +1 -1
  845. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
  846. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  847. package/dist/cssm/components/ImageBase/validators.js +1 -1
  848. package/dist/cssm/components/ImageBase/validators.js.map +1 -1
  849. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  850. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  851. package/dist/cssm/components/Input/Input.d.ts +1 -1
  852. package/dist/cssm/components/Input/Input.js +9 -4
  853. package/dist/cssm/components/Input/Input.js.map +1 -1
  854. package/dist/cssm/components/Input/Input.module.css +1 -1
  855. package/dist/cssm/components/InputLike/InputLike.js +1 -1
  856. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  857. package/dist/cssm/components/InputLike/InputLike.module.css +1 -1
  858. package/dist/cssm/components/Link/Link.js.map +1 -1
  859. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  860. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
  861. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  862. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  863. package/dist/cssm/components/ModalCard/ModalCard.js +9 -7
  864. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  865. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  866. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +15 -8
  867. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  868. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
  869. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  870. package/dist/cssm/components/ModalPage/ModalPage.d.ts +2 -6
  871. package/dist/cssm/components/ModalPage/ModalPage.js +20 -14
  872. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  873. package/dist/cssm/components/ModalPage/ModalPage.module.css +1 -1
  874. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +4 -4
  875. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  876. package/dist/cssm/components/ModalRoot/ModalRoot.js +13 -14
  877. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  878. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +2 -2
  879. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  880. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +6 -6
  881. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  882. package/dist/cssm/components/ModalRoot/useModalManager.js +3 -3
  883. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  884. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
  885. package/dist/cssm/components/NativeSelect/NativeSelect.js +12 -9
  886. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  887. package/dist/cssm/components/Pagination/Pagination.js +11 -5
  888. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  889. package/dist/cssm/components/Pagination/Pagination.module.css +1 -1
  890. package/dist/cssm/components/Panel/Panel.d.ts +1 -1
  891. package/dist/cssm/components/Panel/Panel.js +13 -7
  892. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  893. package/dist/cssm/components/Panel/Panel.module.css +1 -1
  894. package/dist/cssm/components/PanelHeader/PanelHeader.js +7 -7
  895. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  896. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +1 -1
  897. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +8 -7
  898. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  899. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
  900. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  901. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +1 -1
  902. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  903. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  904. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
  905. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  906. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +1 -1
  907. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
  908. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  909. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +1 -1
  910. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +3 -3
  911. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  912. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  913. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  914. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  915. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  916. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +2 -2
  917. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  918. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +2 -2
  919. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  920. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +3 -3
  921. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  922. package/dist/cssm/components/Popover/Popover.js +5 -5
  923. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  924. package/dist/cssm/components/Popper/Popper.d.ts +12 -9
  925. package/dist/cssm/components/Popper/Popper.js +95 -122
  926. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  927. package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +15 -5
  928. package/dist/cssm/components/PopperArrow/PopperArrow.js +40 -15
  929. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
  930. package/dist/cssm/components/PopperArrow/PopperArrow.module.css +1 -1
  931. package/dist/cssm/components/Progress/Progress.js +1 -1
  932. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  933. package/dist/cssm/components/PromoBanner/PromoBanner.js +2 -2
  934. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  935. package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  936. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +8 -8
  937. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  938. package/dist/cssm/components/Radio/Radio.js +12 -7
  939. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  940. package/dist/cssm/components/Radio/Radio.module.css +1 -1
  941. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  942. package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
  943. package/dist/cssm/components/RangeSlider/UniversalSlider.js +10 -5
  944. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  945. package/dist/cssm/components/Removable/Removable.js +4 -8
  946. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  947. package/dist/cssm/components/Removable/Removable.module.css +1 -1
  948. package/dist/cssm/components/RichCell/RichCell.js +9 -4
  949. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  950. package/dist/cssm/components/RichCell/RichCell.module.css +1 -1
  951. package/dist/cssm/components/RichTooltip/RichTooltip.js +1 -1
  952. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  953. package/dist/cssm/components/Root/Root.js +8 -8
  954. package/dist/cssm/components/Root/Root.js.map +1 -1
  955. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +5 -5
  956. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  957. package/dist/cssm/components/Search/Search.d.ts +1 -1
  958. package/dist/cssm/components/Search/Search.js +13 -8
  959. package/dist/cssm/components/Search/Search.js.map +1 -1
  960. package/dist/cssm/components/Search/Search.module.css +1 -1
  961. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +18 -18
  962. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  963. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +1 -1
  964. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
  965. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  966. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +1 -1
  967. package/dist/cssm/components/Select/Select.js +3 -3
  968. package/dist/cssm/components/Select/Select.js.map +1 -1
  969. package/dist/cssm/components/Select/Select.module.css +1 -1
  970. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  971. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +12 -9
  972. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  973. package/dist/cssm/components/SelectTypography/SelectTypography.js +1 -1
  974. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  975. package/dist/cssm/components/SelectTypography/SelectTypography.module.css +1 -1
  976. package/dist/cssm/components/SimpleCell/SimpleCell.js +13 -7
  977. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  978. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +1 -1
  979. package/dist/cssm/components/Slider/Slider.module.css +1 -1
  980. package/dist/cssm/components/Snackbar/Snackbar.js +8 -8
  981. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  982. package/dist/cssm/components/Spinner/Spinner.js +1 -1
  983. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  984. package/dist/cssm/components/SplitCol/SplitCol.d.ts +0 -6
  985. package/dist/cssm/components/SplitCol/SplitCol.js +10 -14
  986. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  987. package/dist/cssm/components/SplitCol/SplitCol.module.css +1 -1
  988. package/dist/cssm/components/SplitCol/SplitColContext.d.ts +7 -0
  989. package/dist/cssm/components/SplitCol/SplitColContext.js +9 -0
  990. package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -0
  991. package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
  992. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  993. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +10 -5
  994. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  995. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +1 -1
  996. package/dist/cssm/components/Switch/Switch.js +12 -7
  997. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  998. package/dist/cssm/components/Switch/Switch.module.css +1 -1
  999. package/dist/cssm/components/TabbarItem/TabbarItem.js +10 -1
  1000. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1001. package/dist/cssm/components/Tabs/Tabs.js +3 -3
  1002. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1003. package/dist/cssm/components/Tabs/Tabs.module.css +1 -1
  1004. package/dist/cssm/components/TabsItem/TabsItem.js +10 -5
  1005. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1006. package/dist/cssm/components/TabsItem/TabsItem.module.css +1 -1
  1007. package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
  1008. package/dist/cssm/components/Tappable/Tappable.js +14 -14
  1009. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  1010. package/dist/cssm/components/Tappable/Tappable.module.css +1 -1
  1011. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  1012. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  1013. package/dist/cssm/components/Textarea/Textarea.d.ts +1 -1
  1014. package/dist/cssm/components/Textarea/Textarea.js +10 -5
  1015. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  1016. package/dist/cssm/components/Textarea/Textarea.module.css +1 -1
  1017. package/dist/cssm/components/Tooltip/Tooltip.d.ts +3 -3
  1018. package/dist/cssm/components/Tooltip/Tooltip.js +126 -156
  1019. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1020. package/dist/cssm/components/Tooltip/Tooltip.module.css +1 -1
  1021. package/dist/cssm/components/Touch/Touch.js +3 -3
  1022. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  1023. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1024. package/dist/cssm/components/Typography/Caption/Caption.module.css +1 -1
  1025. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  1026. package/dist/cssm/components/Typography/Footnote/Footnote.module.css +1 -1
  1027. package/dist/cssm/components/Typography/Headline/Headline.js +9 -4
  1028. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1029. package/dist/cssm/components/Typography/Headline/Headline.module.css +1 -1
  1030. package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +1 -1
  1031. package/dist/cssm/components/Typography/Subhead/Subhead.js +8 -3
  1032. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  1033. package/dist/cssm/components/Typography/Subhead/Subhead.module.css +1 -1
  1034. package/dist/cssm/components/Typography/Text/Text.js +9 -4
  1035. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  1036. package/dist/cssm/components/Typography/Text/Text.module.css +1 -1
  1037. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1038. package/dist/cssm/components/Typography/Title/Title.module.css +1 -1
  1039. package/dist/cssm/components/UsersStack/UsersStack.js +2 -2
  1040. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1041. package/dist/cssm/components/View/View.js +12 -12
  1042. package/dist/cssm/components/View/View.js.map +1 -1
  1043. package/dist/cssm/components/View/View.module.css +1 -1
  1044. package/dist/cssm/components/View/ViewInfinite.d.ts +3 -3
  1045. package/dist/cssm/components/View/ViewInfinite.js +9 -9
  1046. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1047. package/dist/cssm/components/WriteBar/WriteBar.js +4 -4
  1048. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  1049. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +12 -10
  1050. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1051. package/dist/cssm/helpers/getPlatformClassName.js.map +1 -1
  1052. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  1053. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
  1054. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js +1 -1
  1055. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  1056. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +2 -2
  1057. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  1058. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js +3 -3
  1059. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1060. package/dist/cssm/hooks/useAutoDetectAppearance.js +1 -1
  1061. package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
  1062. package/dist/cssm/hooks/useCalendar.js +1 -1
  1063. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  1064. package/dist/cssm/hooks/useChipsSelect.d.ts +1 -1
  1065. package/dist/cssm/hooks/useChipsSelect.js.map +1 -1
  1066. package/dist/cssm/hooks/useDateInput.js +1 -1
  1067. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  1068. package/dist/cssm/hooks/useFocusVisible.js +1 -1
  1069. package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
  1070. package/dist/cssm/hooks/useMediaQueries.js.map +1 -1
  1071. package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
  1072. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  1073. package/dist/cssm/hooks/useTimeout.js +1 -1
  1074. package/dist/cssm/hooks/useTimeout.js.map +1 -1
  1075. package/dist/cssm/hooks/useTodayDate.js.map +1 -1
  1076. package/dist/cssm/hooks/useWaitTransitionFinish.js +1 -1
  1077. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  1078. package/dist/cssm/index.d.ts +37 -30
  1079. package/dist/cssm/index.js +24 -18
  1080. package/dist/cssm/index.js.map +1 -1
  1081. package/dist/cssm/lib/SSR.js +3 -3
  1082. package/dist/cssm/lib/SSR.js.map +1 -1
  1083. package/dist/cssm/lib/adaptivity/constants.d.ts +7 -0
  1084. package/dist/cssm/lib/adaptivity/constants.js +3 -0
  1085. package/dist/cssm/lib/adaptivity/constants.js.map +1 -1
  1086. package/dist/cssm/lib/adaptivity/functions.d.ts +9 -1
  1087. package/dist/cssm/lib/adaptivity/functions.js +43 -1
  1088. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  1089. package/dist/cssm/lib/adaptivity/types.d.ts +2 -1
  1090. package/dist/cssm/lib/adaptivity/types.js.map +1 -1
  1091. package/dist/cssm/lib/calendar.js +1 -1
  1092. package/dist/cssm/lib/calendar.js.map +1 -1
  1093. package/dist/cssm/lib/floating/adapters.d.ts +2 -0
  1094. package/dist/cssm/lib/floating/adapters.js +56 -0
  1095. package/dist/cssm/lib/floating/adapters.js.map +1 -0
  1096. package/dist/cssm/lib/floating/functions.d.ts +10 -0
  1097. package/dist/cssm/lib/floating/functions.js +28 -0
  1098. package/dist/cssm/lib/floating/functions.js.map +1 -0
  1099. package/dist/cssm/lib/floating/index.d.ts +4 -0
  1100. package/dist/cssm/lib/floating/index.js +4 -0
  1101. package/dist/cssm/lib/floating/index.js.map +1 -0
  1102. package/dist/cssm/lib/floating/types.d.ts +4 -0
  1103. package/dist/cssm/lib/floating/types.js +2 -0
  1104. package/dist/cssm/lib/floating/types.js.map +1 -0
  1105. package/dist/cssm/lib/platform.js +1 -1
  1106. package/dist/cssm/lib/platform.js.map +1 -1
  1107. package/dist/cssm/lib/select.js.map +1 -1
  1108. package/dist/cssm/lib/useIsomorphicLayoutEffect.d.ts +1 -1
  1109. package/dist/cssm/lib/warnOnce.d.ts +7 -0
  1110. package/dist/cssm/lib/warnOnce.js +12 -0
  1111. package/dist/cssm/lib/warnOnce.js.map +1 -1
  1112. package/dist/cssm/shared/breakpoints.d.ts +44 -0
  1113. package/dist/cssm/shared/breakpoints.js +79 -13
  1114. package/dist/cssm/shared/breakpoints.js.map +1 -1
  1115. package/dist/cssm/styles/adaptivity.module.css +1 -1
  1116. package/dist/cssm/styles/common.css +1 -1
  1117. package/dist/cssm/styles/themes.css +1 -1
  1118. package/dist/cssm/types.d.ts +9 -1
  1119. package/dist/cssm/types.js.map +1 -1
  1120. package/dist/helpers/getPlatformClassName.js.map +1 -1
  1121. package/dist/hoc/withPlatform.js.map +1 -1
  1122. package/dist/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
  1123. package/dist/hooks/useAdaptivityConditionalRender/helpers.js +1 -1
  1124. package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  1125. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +2 -2
  1126. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  1127. package/dist/hooks/useAdaptivityWithJSMediaQueries.js +3 -3
  1128. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1129. package/dist/hooks/useAutoDetectAppearance.js +1 -1
  1130. package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
  1131. package/dist/hooks/useCalendar.js +1 -1
  1132. package/dist/hooks/useCalendar.js.map +1 -1
  1133. package/dist/hooks/useChipsSelect.d.ts +1 -1
  1134. package/dist/hooks/useChipsSelect.js.map +1 -1
  1135. package/dist/hooks/useDateInput.js +1 -1
  1136. package/dist/hooks/useDateInput.js.map +1 -1
  1137. package/dist/hooks/useFocusVisible.js +1 -1
  1138. package/dist/hooks/useFocusVisible.js.map +1 -1
  1139. package/dist/hooks/useMediaQueries.js.map +1 -1
  1140. package/dist/hooks/usePatchChildrenRef.js +1 -1
  1141. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  1142. package/dist/hooks/useTimeout.js +1 -1
  1143. package/dist/hooks/useTimeout.js.map +1 -1
  1144. package/dist/hooks/useTodayDate.js.map +1 -1
  1145. package/dist/hooks/useWaitTransitionFinish.js +1 -1
  1146. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  1147. package/dist/index.d.ts +37 -30
  1148. package/dist/index.js +22 -16
  1149. package/dist/index.js.map +1 -1
  1150. package/dist/lib/SSR.js +3 -3
  1151. package/dist/lib/SSR.js.map +1 -1
  1152. package/dist/lib/adaptivity/constants.d.ts +7 -0
  1153. package/dist/lib/adaptivity/constants.js +3 -0
  1154. package/dist/lib/adaptivity/constants.js.map +1 -1
  1155. package/dist/lib/adaptivity/functions.d.ts +9 -1
  1156. package/dist/lib/adaptivity/functions.js +43 -1
  1157. package/dist/lib/adaptivity/functions.js.map +1 -1
  1158. package/dist/lib/adaptivity/types.d.ts +2 -1
  1159. package/dist/lib/adaptivity/types.js.map +1 -1
  1160. package/dist/lib/calendar.js +1 -1
  1161. package/dist/lib/calendar.js.map +1 -1
  1162. package/dist/lib/floating/adapters.d.ts +2 -0
  1163. package/dist/lib/floating/adapters.js +56 -0
  1164. package/dist/lib/floating/adapters.js.map +1 -0
  1165. package/dist/lib/floating/functions.d.ts +10 -0
  1166. package/dist/lib/floating/functions.js +28 -0
  1167. package/dist/lib/floating/functions.js.map +1 -0
  1168. package/dist/lib/floating/index.d.ts +4 -0
  1169. package/dist/lib/floating/index.js +4 -0
  1170. package/dist/lib/floating/index.js.map +1 -0
  1171. package/dist/lib/floating/types.d.ts +4 -0
  1172. package/dist/lib/floating/types.js +2 -0
  1173. package/dist/lib/floating/types.js.map +1 -0
  1174. package/dist/lib/platform.js +1 -1
  1175. package/dist/lib/platform.js.map +1 -1
  1176. package/dist/lib/select.js.map +1 -1
  1177. package/dist/lib/useIsomorphicLayoutEffect.d.ts +1 -1
  1178. package/dist/lib/warnOnce.d.ts +7 -0
  1179. package/dist/lib/warnOnce.js +12 -0
  1180. package/dist/lib/warnOnce.js.map +1 -1
  1181. package/dist/shared/breakpoints.d.ts +44 -0
  1182. package/dist/shared/breakpoints.js +79 -13
  1183. package/dist/shared/breakpoints.js.map +1 -1
  1184. package/dist/stable.js.tmp +69 -21
  1185. package/dist/types.d.ts +9 -1
  1186. package/dist/types.js.map +1 -1
  1187. package/dist/vkui.css +143 -3
  1188. package/dist/vkui.css.map +1 -1
  1189. package/dist/vkui.js.tmp +62039 -0
  1190. package/package.json +4 -5
  1191. package/dist/cjs/helpers/getHoverClassName.d.ts +0 -2
  1192. package/dist/cjs/helpers/getHoverClassName.js +0 -22
  1193. package/dist/cjs/helpers/getHoverClassName.js.map +0 -1
  1194. package/dist/cjs/helpers/getPointerClassName.d.ts +0 -2
  1195. package/dist/cjs/helpers/getPointerClassName.js +0 -22
  1196. package/dist/cjs/helpers/getPointerClassName.js.map +0 -1
  1197. package/dist/cjs/helpers/getSizeXClassName.d.ts +0 -5
  1198. package/dist/cjs/helpers/getSizeXClassName.js +0 -18
  1199. package/dist/cjs/helpers/getSizeXClassName.js.map +0 -1
  1200. package/dist/cjs/helpers/getSizeYClassName.d.ts +0 -5
  1201. package/dist/cjs/helpers/getSizeYClassName.js +0 -18
  1202. package/dist/cjs/helpers/getSizeYClassName.js.map +0 -1
  1203. package/dist/cjs/helpers/getViewHeightClassName.d.ts +0 -3
  1204. package/dist/cjs/helpers/getViewHeightClassName.js +0 -31
  1205. package/dist/cjs/helpers/getViewHeightClassName.js.map +0 -1
  1206. package/dist/cjs/helpers/getViewWidthClassName.d.ts +0 -3
  1207. package/dist/cjs/helpers/getViewWidthClassName.js +0 -52
  1208. package/dist/cjs/helpers/getViewWidthClassName.js.map +0 -1
  1209. package/dist/cssm/helpers/getHoverClassName.d.ts +0 -2
  1210. package/dist/cssm/helpers/getHoverClassName.js +0 -16
  1211. package/dist/cssm/helpers/getHoverClassName.js.map +0 -1
  1212. package/dist/cssm/helpers/getPointerClassName.d.ts +0 -2
  1213. package/dist/cssm/helpers/getPointerClassName.js +0 -16
  1214. package/dist/cssm/helpers/getPointerClassName.js.map +0 -1
  1215. package/dist/cssm/helpers/getSizeXClassName.d.ts +0 -5
  1216. package/dist/cssm/helpers/getSizeXClassName.js +0 -12
  1217. package/dist/cssm/helpers/getSizeXClassName.js.map +0 -1
  1218. package/dist/cssm/helpers/getSizeYClassName.d.ts +0 -5
  1219. package/dist/cssm/helpers/getSizeYClassName.js +0 -12
  1220. package/dist/cssm/helpers/getSizeYClassName.js.map +0 -1
  1221. package/dist/cssm/helpers/getViewHeightClassName.d.ts +0 -3
  1222. package/dist/cssm/helpers/getViewHeightClassName.js +0 -25
  1223. package/dist/cssm/helpers/getViewHeightClassName.js.map +0 -1
  1224. package/dist/cssm/helpers/getViewWidthClassName.d.ts +0 -3
  1225. package/dist/cssm/helpers/getViewWidthClassName.js +0 -46
  1226. package/dist/cssm/helpers/getViewWidthClassName.js.map +0 -1
  1227. package/dist/cssm/styles/components.css +0 -3
  1228. package/dist/helpers/getHoverClassName.d.ts +0 -2
  1229. package/dist/helpers/getHoverClassName.js +0 -16
  1230. package/dist/helpers/getHoverClassName.js.map +0 -1
  1231. package/dist/helpers/getPointerClassName.d.ts +0 -2
  1232. package/dist/helpers/getPointerClassName.js +0 -16
  1233. package/dist/helpers/getPointerClassName.js.map +0 -1
  1234. package/dist/helpers/getSizeXClassName.d.ts +0 -5
  1235. package/dist/helpers/getSizeXClassName.js +0 -12
  1236. package/dist/helpers/getSizeXClassName.js.map +0 -1
  1237. package/dist/helpers/getSizeYClassName.d.ts +0 -5
  1238. package/dist/helpers/getSizeYClassName.js +0 -12
  1239. package/dist/helpers/getSizeYClassName.js.map +0 -1
  1240. package/dist/helpers/getViewHeightClassName.d.ts +0 -3
  1241. package/dist/helpers/getViewHeightClassName.js +0 -25
  1242. package/dist/helpers/getViewHeightClassName.js.map +0 -1
  1243. package/dist/helpers/getViewWidthClassName.d.ts +0 -3
  1244. package/dist/helpers/getViewWidthClassName.js +0 -46
  1245. package/dist/helpers/getViewWidthClassName.js.map +0 -1
@@ -15,18 +15,18 @@ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var React = _interopRequireWildcard(require("react"));
17
17
  var _vkjs = require("@vkontakte/vkjs");
18
- var _supportEvents = require("../../lib/supportEvents");
19
- var _withPlatform = require("../../hoc/withPlatform");
18
+ var _math = require("../../helpers/math");
20
19
  var _withContext = require("../../hoc/withContext");
21
- var _ModalRootContext = require("./ModalRootContext");
22
- var _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext");
23
- var _platform = require("../../lib/platform");
20
+ var _withPlatform = require("../../hoc/withPlatform");
24
21
  var _dom = require("../../lib/dom");
25
22
  var _getNavId = require("../../lib/getNavId");
23
+ var _platform = require("../../lib/platform");
24
+ var _supportEvents = require("../../lib/supportEvents");
26
25
  var _warnOnce = require("../../lib/warnOnce");
26
+ var _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext");
27
27
  var _FocusTrap = require("../FocusTrap/FocusTrap");
28
+ var _ModalRootContext = require("./ModalRootContext");
28
29
  var _useModalManager = require("./useModalManager");
29
- var _math = require("../../helpers/math");
30
30
  var _excluded = ["id"];
31
31
  var warn = (0, _warnOnce.warnOnce)('ModalRoot');
32
32
  var ModalRootDesktopComponent = /*#__PURE__*/function (_React$Component) {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalRootDesktop.js","names":["warn","warnOnce","ModalRootDesktopComponent","props","undefined","maskElementRef","React","createRef","modalRootContext","updateModalHeight","registerModal","id","data","Object","assign","getModalState","onClose","onExit","isInsideModal","platform","Platform","IOS","Children","toArray","children","prevProps","exitingModal","closeModal","enteringModal","openModal","activeModal","restoreFocusTo","document","activeElement","focus","enteringState","onEnter","requestAnimationFrame","waitTransitionFinish","onEntered","animateModalOpacity","innerElement","style","transition","opacity","prevModalState","onExited","setMaskOpacity","modalState","eventHandler","transitionEvent","supported","onceHandler","removeEventListener","name","addEventListener","setTimeout","timeout","display","transitionDelay","delayEnter","forceOpacity","history","maskAnimationFrame","cancelAnimationFrame","current","translateY","translateYCurrent","clamp","toString","classNames","configProvider","webviewType","WebviewType","VKAPPS","modals","map","Modal","modalId","getNavId","key","Component","ModalRootDesktop","withContext","withPlatform","withDOM","withModalManager","ConfigProviderContext"],"sources":["../../../../src/components/ModalRoot/ModalRootDesktop.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { HasPlatform } from '../../types';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { withContext } from '../../hoc/withContext';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n WebviewType,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { ModalsStateEntry } from './types';\nimport { Platform } from '../../lib/platform';\nimport { DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport { clamp } from '../../helpers/math';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nexport interface ModalRootProps extends HasPlatform {\n activeModal?: string | null;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n children?: React.ReactNode;\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?(modalId: string): void;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?(modalId: string): void;\n}\n\nclass ModalRootDesktopComponent extends React.Component<\n ModalRootProps & DOMProps & ModalTransitionProps\n> {\n constructor(props: ModalRootProps & ModalTransitionProps) {\n super(props);\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: () => undefined,\n registerModal: ({ id, ...data }) => Object.assign(this.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n }\n\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private restoreFocusTo: HTMLElement | undefined = undefined;\n\n private get timeout() {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n private get modals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n getModalState(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.props.getModalState(id);\n }\n\n componentDidUpdate(prevProps: ModalRootProps & ModalTransitionProps) {\n // transition phase 2: animate exiting modal\n if (this.props.exitingModal && this.props.exitingModal !== prevProps.exitingModal) {\n this.closeModal(this.props.exitingModal);\n }\n\n // transition phase 3: animate entering modal\n if (this.props.enteringModal && this.props.enteringModal !== prevProps.enteringModal) {\n this.openModal(prevProps);\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = (this.props.document?.activeElement ?? undefined) as\n | HTMLElement\n | undefined;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = undefined;\n }\n }\n\n openModal(prevProps: ModalRootProps & ModalTransitionProps) {\n const { enteringModal } = this.props;\n if (!enteringModal) {\n return;\n }\n\n const enteringState = this.getModalState(enteringModal);\n this.props.onEnter();\n\n // Анимация открытия модального окна\n if (!prevProps.exitingModal) {\n requestAnimationFrame(() => {\n if (this.props.enteringModal === enteringModal) {\n this.waitTransitionFinish(enteringState, () => this.props.onEntered(enteringModal));\n this.animateModalOpacity(enteringState, true);\n }\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transition = 'none';\n enteringState.innerElement.style.opacity = '1';\n }\n\n this.props.onEntered(enteringModal);\n }\n\n closeModal(id: string) {\n const prevModalState = this.getModalState(id);\n if (!prevModalState) {\n return;\n }\n\n // Анимация закрытия модального окна\n if (!this.props.activeModal) {\n requestAnimationFrame(() => {\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n this.animateModalOpacity(prevModalState, false);\n this.setMaskOpacity(prevModalState, 0);\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n this.props.onExited(id);\n }\n\n waitTransitionFinish(modalState: ModalsStateEntry | undefined, eventHandler: () => void) {\n if (transitionEvent.supported) {\n const onceHandler = () => {\n modalState?.innerElement?.removeEventListener(transitionEvent.name as string, onceHandler);\n eventHandler();\n };\n\n modalState?.innerElement?.addEventListener(transitionEvent.name as string, onceHandler);\n } else {\n setTimeout(eventHandler, this.timeout);\n }\n }\n\n /* Анимирует сдвиг модалки */\n animateModalOpacity(modalState: ModalsStateEntry | undefined, display: boolean) {\n if (modalState?.innerElement) {\n modalState.innerElement.style.transition = '';\n modalState.innerElement.style.transitionDelay =\n display && this.props.delayEnter ? `${this.timeout}ms` : '';\n modalState.innerElement.style.opacity = display ? '1' : '0';\n }\n }\n\n /* Устанавливает прозрачность для полупрозрачной подложки */\n setMaskOpacity(modalState: ModalsStateEntry, forceOpacity: number | null = null) {\n if (forceOpacity === null && this.props.history?.[0] !== modalState.id) {\n return;\n }\n\n if (this.maskAnimationFrame) {\n cancelAnimationFrame(this.maskAnimationFrame);\n }\n this.maskAnimationFrame = requestAnimationFrame(() => {\n if (this.maskElementRef.current) {\n const { translateY = 0, translateYCurrent = 0 } = modalState;\n\n const opacity =\n forceOpacity === null\n ? 1 - (translateYCurrent - translateY) / (100 - translateY) || 0\n : forceOpacity;\n this.maskElementRef.current.style.opacity = clamp(opacity, 0, 100).toString();\n }\n });\n }\n\n render() {\n const { exitingModal, activeModal } = this.props;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <ModalRootContext.Provider value={this.modalRootContext}>\n <div\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n styles['ModalRoot--desktop'],\n )}\n >\n <div\n className={styles['ModalRoot__mask']}\n ref={this.maskElementRef}\n onClick={this.props.onExit}\n />\n <div className={styles['ModalRoot__viewport']}>\n {this.modals.map((Modal: React.ReactElement) => {\n const modalId = getNavId(Modal.props, warn);\n if (modalId !== activeModal && modalId !== exitingModal) {\n return null;\n }\n\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n restoreFocus={false}\n onClose={this.props.onExit}\n timeout={this.timeout}\n key={key}\n className={styles['ModalRoot__modal']}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </div>\n </ModalRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootDesktop = withContext(\n withPlatform(withDOM<ModalRootProps>(withModalManager()(ModalRootDesktopComponent))),\n ConfigProviderContext,\n 'configProvider',\n);\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AAA2C;AAG3C,IAAMA,IAAI,GAAG,IAAAC,kBAAQ,EAAC,WAAW,CAAC;AAAC,IA+B7BC,yBAAyB;EAAA;EAAA;EAG7B,mCAAYC,KAA4C,EAAE;IAAA;IAAA;IACxD,0BAAMA,KAAK;IAAE;IAAA,iGAakCC,SAAS;IAAA;IAAA,6FAERA,SAAS;IAbzD,MAAKC,cAAc,gBAAGC,KAAK,CAACC,SAAS,EAAE;IAEvC,MAAKC,gBAAgB,GAAG;MACtBC,iBAAiB,EAAE;QAAA,OAAML,SAAS;MAAA;MAClCM,aAAa,EAAE;QAAA;QAAA,IAAGC,EAAE,QAAFA,EAAE;UAAKC,IAAI;QAAA,OAAOC,MAAM,CAACC,MAAM,wBAAC,MAAKC,aAAa,CAACJ,EAAE,CAAC,qEAAI,CAAC,CAAC,EAAEC,IAAI,CAAC;MAAA;MACrFI,OAAO,EAAE;QAAA,OAAM,MAAKb,KAAK,CAACc,MAAM,EAAE;MAAA;MAClCC,aAAa,EAAE;IACjB,CAAC;IAAC;EACJ;EAAC;IAAA;IAAA,KAOD,eAAsB;MACpB,OAAO,IAAI,CAACf,KAAK,CAACgB,QAAQ,KAAKC,kBAAQ,CAACC,GAAG,GAAG,GAAG,GAAG,GAAG;IACzD;EAAC;IAAA;IAAA,KAED,eAAqB;MACnB,OAAOf,KAAK,CAACgB,QAAQ,CAACC,OAAO,CAAC,IAAI,CAACpB,KAAK,CAACqB,QAAQ,CAAC;IACpD;EAAC;IAAA;IAAA,OAED,uBAAcb,EAAiB,EAAE;MAC/B,IAAIA,EAAE,KAAK,IAAI,EAAE;QACf,OAAOP,SAAS;MAClB;MACA,OAAO,IAAI,CAACD,KAAK,CAACY,aAAa,CAACJ,EAAE,CAAC;IACrC;EAAC;IAAA;IAAA,OAED,4BAAmBc,SAAgD,EAAE;MACnE;MACA,IAAI,IAAI,CAACtB,KAAK,CAACuB,YAAY,IAAI,IAAI,CAACvB,KAAK,CAACuB,YAAY,KAAKD,SAAS,CAACC,YAAY,EAAE;QACjF,IAAI,CAACC,UAAU,CAAC,IAAI,CAACxB,KAAK,CAACuB,YAAY,CAAC;MAC1C;;MAEA;MACA,IAAI,IAAI,CAACvB,KAAK,CAACyB,aAAa,IAAI,IAAI,CAACzB,KAAK,CAACyB,aAAa,KAAKH,SAAS,CAACG,aAAa,EAAE;QACpF,IAAI,CAACC,SAAS,CAACJ,SAAS,CAAC;MAC3B;;MAEA;MACA,IAAI,IAAI,CAACtB,KAAK,CAAC2B,WAAW,IAAI,CAACL,SAAS,CAACK,WAAW,EAAE;QAAA;QACpD,IAAI,CAACC,cAAc,oDAAI,IAAI,CAAC5B,KAAK,CAAC6B,QAAQ,yDAAnB,qBAAqBC,aAAa,yEAAI7B,SAEhD;MACf;MACA,IAAI,CAAC,IAAI,CAACD,KAAK,CAAC2B,WAAW,IAAI,CAAC,IAAI,CAAC3B,KAAK,CAACuB,YAAY,IAAI,IAAI,CAACK,cAAc,EAAE;QAC9E,IAAI,CAACA,cAAc,CAACG,KAAK,EAAE;QAC3B,IAAI,CAACH,cAAc,GAAG3B,SAAS;MACjC;IACF;EAAC;IAAA;IAAA,OAED,mBAAUqB,SAAgD,EAAE;MAAA;MAC1D,IAAQG,aAAa,GAAK,IAAI,CAACzB,KAAK,CAA5ByB,aAAa;MACrB,IAAI,CAACA,aAAa,EAAE;QAClB;MACF;MAEA,IAAMO,aAAa,GAAG,IAAI,CAACpB,aAAa,CAACa,aAAa,CAAC;MACvD,IAAI,CAACzB,KAAK,CAACiC,OAAO,EAAE;;MAEpB;MACA,IAAI,CAACX,SAAS,CAACC,YAAY,EAAE;QAC3BW,qBAAqB,CAAC,YAAM;UAC1B,IAAI,MAAI,CAAClC,KAAK,CAACyB,aAAa,KAAKA,aAAa,EAAE;YAC9C,MAAI,CAACU,oBAAoB,CAACH,aAAa,EAAE;cAAA,OAAM,MAAI,CAAChC,KAAK,CAACoC,SAAS,CAACX,aAAa,CAAC;YAAA,EAAC;YACnF,MAAI,CAACY,mBAAmB,CAACL,aAAa,EAAE,IAAI,CAAC;UAC/C;QACF,CAAC,CAAC;QAEF;MACF;;MAEA;MACA,IAAIA,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEM,YAAY,EAAE;QAC/BN,aAAa,CAACM,YAAY,CAACC,KAAK,CAACC,UAAU,GAAG,MAAM;QACpDR,aAAa,CAACM,YAAY,CAACC,KAAK,CAACE,OAAO,GAAG,GAAG;MAChD;MAEA,IAAI,CAACzC,KAAK,CAACoC,SAAS,CAACX,aAAa,CAAC;IACrC;EAAC;IAAA;IAAA,OAED,oBAAWjB,EAAU,EAAE;MAAA;MACrB,IAAMkC,cAAc,GAAG,IAAI,CAAC9B,aAAa,CAACJ,EAAE,CAAC;MAC7C,IAAI,CAACkC,cAAc,EAAE;QACnB;MACF;;MAEA;MACA,IAAI,CAAC,IAAI,CAAC1C,KAAK,CAAC2B,WAAW,EAAE;QAC3BO,qBAAqB,CAAC,YAAM;UAC1B,MAAI,CAACC,oBAAoB,CAACO,cAAc,EAAE;YAAA,OAAM,MAAI,CAAC1C,KAAK,CAAC2C,QAAQ,CAACnC,EAAE,CAAC;UAAA,EAAC;UACxE,MAAI,CAAC6B,mBAAmB,CAACK,cAAc,EAAE,KAAK,CAAC;UAC/C,MAAI,CAACE,cAAc,CAACF,cAAc,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF;MACF;;MAEA;MACA,IAAI,CAAC1C,KAAK,CAAC2C,QAAQ,CAACnC,EAAE,CAAC;IACzB;EAAC;IAAA;IAAA,OAED,8BAAqBqC,UAAwC,EAAEC,YAAwB,EAAE;MACvF,IAAIC,8BAAe,CAACC,SAAS,EAAE;QAAA;QAC7B,IAAMC,WAAW,GAAG,SAAdA,WAAW,GAAS;UAAA;UACxBJ,UAAU,aAAVA,UAAU,gDAAVA,UAAU,CAAEP,YAAY,0DAAxB,sBAA0BY,mBAAmB,CAACH,8BAAe,CAACI,IAAI,EAAYF,WAAW,CAAC;UAC1FH,YAAY,EAAE;QAChB,CAAC;QAEDD,UAAU,aAAVA,UAAU,iDAAVA,UAAU,CAAEP,YAAY,2DAAxB,uBAA0Bc,gBAAgB,CAACL,8BAAe,CAACI,IAAI,EAAYF,WAAW,CAAC;MACzF,CAAC,MAAM;QACLI,UAAU,CAACP,YAAY,EAAE,IAAI,CAACQ,OAAO,CAAC;MACxC;IACF;;IAEA;EAAA;IAAA;IAAA,OACA,6BAAoBT,UAAwC,EAAEU,OAAgB,EAAE;MAC9E,IAAIV,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEP,YAAY,EAAE;QAC5BO,UAAU,CAACP,YAAY,CAACC,KAAK,CAACC,UAAU,GAAG,EAAE;QAC7CK,UAAU,CAACP,YAAY,CAACC,KAAK,CAACiB,eAAe,GAC3CD,OAAO,IAAI,IAAI,CAACvD,KAAK,CAACyD,UAAU,aAAM,IAAI,CAACH,OAAO,UAAO,EAAE;QAC7DT,UAAU,CAACP,YAAY,CAACC,KAAK,CAACE,OAAO,GAAGc,OAAO,GAAG,GAAG,GAAG,GAAG;MAC7D;IACF;;IAEA;EAAA;IAAA;IAAA,OACA,wBAAeV,UAA4B,EAAsC;MAAA;QAAA;MAAA,IAApCa,YAA2B,uEAAG,IAAI;MAC7E,IAAIA,YAAY,KAAK,IAAI,IAAI,4BAAI,CAAC1D,KAAK,CAAC2D,OAAO,wDAAlB,oBAAqB,CAAC,CAAC,MAAKd,UAAU,CAACrC,EAAE,EAAE;QACtE;MACF;MAEA,IAAI,IAAI,CAACoD,kBAAkB,EAAE;QAC3BC,oBAAoB,CAAC,IAAI,CAACD,kBAAkB,CAAC;MAC/C;MACA,IAAI,CAACA,kBAAkB,GAAG1B,qBAAqB,CAAC,YAAM;QACpD,IAAI,MAAI,CAAChC,cAAc,CAAC4D,OAAO,EAAE;UAC/B,4BAAkDjB,UAAU,CAApDkB,UAAU;YAAVA,UAAU,sCAAG,CAAC;YAAA,yBAA4BlB,UAAU,CAApCmB,iBAAiB;YAAjBA,iBAAiB,uCAAG,CAAC;UAE7C,IAAMvB,OAAO,GACXiB,YAAY,KAAK,IAAI,GACjB,CAAC,GAAG,CAACM,iBAAiB,GAAGD,UAAU,KAAK,GAAG,GAAGA,UAAU,CAAC,IAAI,CAAC,GAC9DL,YAAY;UAClB,MAAI,CAACxD,cAAc,CAAC4D,OAAO,CAACvB,KAAK,CAACE,OAAO,GAAG,IAAAwB,WAAK,EAACxB,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAACyB,QAAQ,EAAE;QAC/E;MACF,CAAC,CAAC;IACJ;EAAC;IAAA;IAAA,OAED,kBAAS;MAAA;QAAA;MACP,kBAAsC,IAAI,CAAClE,KAAK;QAAxCuB,YAAY,eAAZA,YAAY;QAAEI,WAAW,eAAXA,WAAW;MAEjC,IAAI,CAACA,WAAW,IAAI,CAACJ,YAAY,EAAE;QACjC,OAAO,IAAI;MACb;MAEA,oBACE,oBAAC,kCAAgB,CAAC,QAAQ;QAAC,KAAK,EAAE,IAAI,CAAClB;MAAiB,gBACtD;QACE,SAAS,EAAE,IAAA8D,gBAAU,mBAEnB,8BAAI,CAACnE,KAAK,CAACoE,cAAc,0DAAzB,sBAA2BC,WAAW,MAAKC,kCAAW,CAACC,MAAM,2BAChC;MAE7B,gBAEF;QACE,SAAS,uBAA4B;QACrC,GAAG,EAAE,IAAI,CAACrE,cAAe;QACzB,OAAO,EAAE,IAAI,CAACF,KAAK,CAACc;MAAO,EAC3B,eACF;QAAK,SAAS;MAAgC,GAC3C,IAAI,CAAC0D,MAAM,CAACC,GAAG,CAAC,UAACC,KAAyB,EAAK;QAC9C,IAAMC,OAAO,GAAG,IAAAC,kBAAQ,EAACF,KAAK,CAAC1E,KAAK,EAAEH,IAAI,CAAC;QAC3C,IAAI8E,OAAO,KAAKhD,WAAW,IAAIgD,OAAO,KAAKpD,YAAY,EAAE;UACvD,OAAO,IAAI;QACb;QAEA,IAAMsD,GAAG,mBAAYF,OAAO,CAAE;QAE9B,oBACE,oBAAC,oBAAS;UACR,YAAY,EAAE,KAAM;UACpB,OAAO,EAAE,MAAI,CAAC3E,KAAK,CAACc,MAAO;UAC3B,OAAO,EAAE,MAAI,CAACwC,OAAQ;UACtB,GAAG,EAAEuB,GAAI;UACT,SAAS;QAA6B,GAErCH,KAAK,CACI;MAEhB,CAAC,CAAC,CACE,CACF,CACoB;IAEhC;EAAC;EAAA;AAAA,EA1MqCvE,KAAK,CAAC2E,SAAS;AA6MhD,IAAMC,gBAAgB,GAAG,IAAAC,wBAAW,EACzC,IAAAC,0BAAY,EAAC,IAAAC,YAAO,EAAiB,IAAAC,iCAAgB,GAAE,CAACpF,yBAAyB,CAAC,CAAC,CAAC,EACpFqF,4CAAqB,EACrB,gBAAgB,CACjB;AAAC"}
1
+ {"version":3,"file":"ModalRootDesktop.js","names":["warn","warnOnce","ModalRootDesktopComponent","props","undefined","maskElementRef","React","createRef","modalRootContext","updateModalHeight","registerModal","id","data","Object","assign","getModalState","onClose","onExit","isInsideModal","platform","Platform","IOS","Children","toArray","children","prevProps","exitingModal","closeModal","enteringModal","openModal","activeModal","restoreFocusTo","document","activeElement","focus","enteringState","onEnter","requestAnimationFrame","waitTransitionFinish","onEntered","animateModalOpacity","innerElement","style","transition","opacity","prevModalState","onExited","setMaskOpacity","modalState","eventHandler","transitionEvent","supported","onceHandler","removeEventListener","name","addEventListener","setTimeout","timeout","display","transitionDelay","delayEnter","forceOpacity","history","maskAnimationFrame","cancelAnimationFrame","current","translateY","translateYCurrent","clamp","toString","classNames","configProvider","webviewType","WebviewType","VKAPPS","modals","map","Modal","modalId","getNavId","key","Component","ModalRootDesktop","withContext","withPlatform","withDOM","withModalManager","ConfigProviderContext"],"sources":["../../../../src/components/ModalRoot/ModalRootDesktop.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasPlatform } from '../../types';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n WebviewType,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport { ModalsStateEntry } from './types';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nexport interface ModalRootProps extends HasPlatform {\n activeModal?: string | null;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n children?: React.ReactNode;\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?(modalId: string): void;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?(modalId: string): void;\n}\n\nclass ModalRootDesktopComponent extends React.Component<\n ModalRootProps & DOMProps & ModalTransitionProps\n> {\n constructor(props: ModalRootProps & ModalTransitionProps) {\n super(props);\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: () => undefined,\n registerModal: ({ id, ...data }) => Object.assign(this.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n }\n\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private restoreFocusTo: HTMLElement | undefined = undefined;\n\n private get timeout() {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n private get modals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n getModalState(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.props.getModalState(id);\n }\n\n componentDidUpdate(prevProps: ModalRootProps & ModalTransitionProps) {\n // transition phase 2: animate exiting modal\n if (this.props.exitingModal && this.props.exitingModal !== prevProps.exitingModal) {\n this.closeModal(this.props.exitingModal);\n }\n\n // transition phase 3: animate entering modal\n if (this.props.enteringModal && this.props.enteringModal !== prevProps.enteringModal) {\n this.openModal(prevProps);\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = (this.props.document?.activeElement ?? undefined) as\n | HTMLElement\n | undefined;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = undefined;\n }\n }\n\n openModal(prevProps: ModalRootProps & ModalTransitionProps) {\n const { enteringModal } = this.props;\n if (!enteringModal) {\n return;\n }\n\n const enteringState = this.getModalState(enteringModal);\n this.props.onEnter();\n\n // Анимация открытия модального окна\n if (!prevProps.exitingModal) {\n requestAnimationFrame(() => {\n if (this.props.enteringModal === enteringModal) {\n this.waitTransitionFinish(enteringState, () => this.props.onEntered(enteringModal));\n this.animateModalOpacity(enteringState, true);\n }\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transition = 'none';\n enteringState.innerElement.style.opacity = '1';\n }\n\n this.props.onEntered(enteringModal);\n }\n\n closeModal(id: string) {\n const prevModalState = this.getModalState(id);\n if (!prevModalState) {\n return;\n }\n\n // Анимация закрытия модального окна\n if (!this.props.activeModal) {\n requestAnimationFrame(() => {\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n this.animateModalOpacity(prevModalState, false);\n this.setMaskOpacity(prevModalState, 0);\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n this.props.onExited(id);\n }\n\n waitTransitionFinish(modalState: ModalsStateEntry | undefined, eventHandler: () => void) {\n if (transitionEvent.supported) {\n const onceHandler = () => {\n modalState?.innerElement?.removeEventListener(transitionEvent.name as string, onceHandler);\n eventHandler();\n };\n\n modalState?.innerElement?.addEventListener(transitionEvent.name as string, onceHandler);\n } else {\n setTimeout(eventHandler, this.timeout);\n }\n }\n\n /* Анимирует сдвиг модалки */\n animateModalOpacity(modalState: ModalsStateEntry | undefined, display: boolean) {\n if (modalState?.innerElement) {\n modalState.innerElement.style.transition = '';\n modalState.innerElement.style.transitionDelay =\n display && this.props.delayEnter ? `${this.timeout}ms` : '';\n modalState.innerElement.style.opacity = display ? '1' : '0';\n }\n }\n\n /* Устанавливает прозрачность для полупрозрачной подложки */\n setMaskOpacity(modalState: ModalsStateEntry, forceOpacity: number | null = null) {\n if (forceOpacity === null && this.props.history?.[0] !== modalState.id) {\n return;\n }\n\n if (this.maskAnimationFrame) {\n cancelAnimationFrame(this.maskAnimationFrame);\n }\n this.maskAnimationFrame = requestAnimationFrame(() => {\n if (this.maskElementRef.current) {\n const { translateY = 0, translateYCurrent = 0 } = modalState;\n\n const opacity =\n forceOpacity === null\n ? 1 - (translateYCurrent - translateY) / (100 - translateY) || 0\n : forceOpacity;\n this.maskElementRef.current.style.opacity = clamp(opacity, 0, 100).toString();\n }\n });\n }\n\n render() {\n const { exitingModal, activeModal } = this.props;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <ModalRootContext.Provider value={this.modalRootContext}>\n <div\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n styles['ModalRoot--desktop'],\n )}\n >\n <div\n className={styles['ModalRoot__mask']}\n ref={this.maskElementRef}\n onClick={this.props.onExit}\n />\n <div className={styles['ModalRoot__viewport']}>\n {this.modals.map((Modal: React.ReactElement) => {\n const modalId = getNavId(Modal.props, warn);\n if (modalId !== activeModal && modalId !== exitingModal) {\n return null;\n }\n\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n restoreFocus={false}\n onClose={this.props.onExit}\n timeout={this.timeout}\n key={key}\n className={styles['ModalRoot__modal']}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </div>\n </ModalRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootDesktop = withContext(\n withPlatform(withDOM<ModalRootProps>(withModalManager()(ModalRootDesktopComponent))),\n ConfigProviderContext,\n 'configProvider',\n);\n"],"mappings":"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"}
@@ -13,11 +13,11 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
13
13
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
14
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
15
  var React = _interopRequireWildcard(require("react"));
16
- var _types = require("./types");
17
- var _warnOnce = require("../../lib/warnOnce");
16
+ var _vkjs = require("@vkontakte/vkjs");
18
17
  var _getNavId = require("../../lib/getNavId");
19
18
  var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
20
- var _vkjs = require("@vkontakte/vkjs");
19
+ var _warnOnce = require("../../lib/warnOnce");
20
+ var _types = require("./types");
21
21
  function getModals(children) {
22
22
  return React.Children.toArray(children);
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useModalManager.js","names":["getModals","children","React","Children","toArray","warn","warnOnce","modalTransitionReducer","state","action","type","id","activeModal","nextModal","prevModal","exitingModal","history","isBack","Boolean","includes","splice","indexOf","push","enteringModal","useModalManager","onOpen","noop","onOpened","onClose","onClosed","initModal","modalsState","useRef","current","forEach","Modal","modalProps","props","getNavId","undefined","dynamicContentHeight","settlingHeight","isMissing","safeActiveModal","useReducer","transitionState","dispatchTransition","useIsomorphicLayoutEffect","process","env","NODE_ENV","isCard","ModalType","CARD","onEntered","useCallback","modalState","isFunction","onExited","delayEnter","getModalState","onEnter","onExit","withModalManager","Wrapped","WithModalManager","transitionManager"],"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ModalsState, ModalsStateEntry, ModalType } from './types';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { getNavId } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { noop, isFunction } from '@vkontakte/vkjs';\n\ninterface ModalTransitionState {\n activeModal?: string | null;\n enteringModal?: string | null;\n exitingModal?: string | null;\n\n history?: string[];\n isBack?: boolean | null;\n}\n\nexport interface ModalTransitionProps extends ModalTransitionState {\n onEnter: VoidFunction;\n onEntered: (id: string | null) => void;\n onExit: VoidFunction;\n onExited: (id: string | null) => void;\n getModalState: (id: string) => ModalsStateEntry;\n delayEnter: boolean;\n}\n\nfunction getModals(children: React.ReactNode | React.ReactNode[]) {\n return React.Children.toArray(children) as React.ReactElement[];\n}\n\nconst warn = warnOnce('ModalRoot');\n\nexport function modalTransitionReducer(\n state: ModalTransitionState,\n action: {\n type: 'setActive' | 'entered' | 'exited' | 'inited';\n id: string | null;\n },\n): ModalTransitionState {\n if (action.type === 'setActive' && action.id !== state.activeModal) {\n const nextModal = action.id;\n // preserve exiting modal if switching mid-transition\n const prevModal = state.exitingModal || state.activeModal;\n let history = state.history ? [...state.history] : [];\n const isBack = Boolean(nextModal && history.includes(nextModal));\n\n if (nextModal === null) {\n history = [];\n } else if (isBack) {\n history = history.splice(0, history.indexOf(nextModal) + 1);\n } else {\n history.push(nextModal);\n }\n\n return {\n activeModal: nextModal,\n // not entering yet\n enteringModal: null,\n exitingModal: prevModal,\n history,\n isBack,\n };\n }\n if (action.type === 'entered' && action.id === state.enteringModal) {\n return { ...state, enteringModal: null };\n }\n if (action.type === 'exited' && action.id === state.exitingModal) {\n return { ...state, exitingModal: null };\n }\n if (action.type === 'inited' && action.id === state.activeModal) {\n return { ...state, enteringModal: action.id };\n }\n return state;\n}\n\n/**\n * Реализует переход модалок. При смене activeModal m1 -> m2:\n * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода\n * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода\n * одновременный переход между ModalPage:\n * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2\n * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации\n * ИЛИ дожидаемся скрытия ModalCard\n * 3b. activeModal: m2, exitingModal: null, enteringModal: m2\n * 4b. enteringModal переходит в null после завершения анимации\n * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен\n */\nexport function useModalManager(\n activeModal: string | null | undefined,\n children: React.ReactNode | React.ReactNode[],\n onOpen: (id: string) => void = noop,\n onOpened: (id: string) => void = noop,\n onClose: (id: string) => void = noop,\n onClosed: (id: string) => void = noop,\n initModal: (state: ModalsStateEntry) => void = noop,\n): ModalTransitionProps {\n const modalsState = React.useRef<ModalsState>({}).current;\n getModals(children).forEach((Modal) => {\n const modalProps = Modal.props;\n const id = getNavId(modalProps, warn);\n const state: ModalsStateEntry = (id !== undefined && modalsState[id]) || {\n id: id ?? null,\n };\n\n state.onOpen = Modal.props.onOpen;\n state.onOpened = Modal.props.onOpened;\n state.onClose = Modal.props.onClose;\n state.onClosed = Modal.props.onClosed;\n state.dynamicContentHeight = !!modalProps.dynamicContentHeight;\n // ModalPage props\n if (typeof modalProps.settlingHeight === 'number') {\n state.settlingHeight = modalProps.settlingHeight;\n }\n\n if (state.id !== null) {\n modalsState[state.id] = state;\n }\n });\n\n const isMissing = activeModal && !modalsState[activeModal];\n const safeActiveModal = isMissing ? null : activeModal;\n const [transitionState, dispatchTransition] = React.useReducer(modalTransitionReducer, {\n activeModal: safeActiveModal,\n enteringModal: null,\n exitingModal: null,\n history: safeActiveModal ? [safeActiveModal] : [],\n isBack: false,\n });\n\n // Map props to state, render activeModal for init\n useIsomorphicLayoutEffect(() => {\n // ignore non-existent activeModal\n if (process.env.NODE_ENV === 'development' && isMissing) {\n warn(`Переход невозможен - модальное окно (страница) ${activeModal} не существует`, 'error');\n }\n dispatchTransition({ type: 'setActive', id: safeActiveModal ?? null });\n }, [activeModal]);\n\n // Init activeModal & set enteringModal\n useIsomorphicLayoutEffect(() => {\n if (transitionState.activeModal) {\n initModal(modalsState[transitionState.activeModal]);\n dispatchTransition({ type: 'inited', id: transitionState.activeModal });\n }\n }, [transitionState.activeModal]);\n\n const isCard = (id: string | null | undefined) =>\n id != null && modalsState[id]?.type === ModalType.CARD;\n const onEntered = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onOpened)) {\n modalState.onOpened();\n } else if (isFunction(onOpened)) {\n onOpened(id);\n }\n }\n\n dispatchTransition({ type: 'entered', id });\n },\n [modalsState, onOpened],\n );\n const onExited = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onClosed)) {\n modalState.onClosed();\n } else if (isFunction(onClosed)) {\n onClosed(id);\n }\n }\n\n dispatchTransition({ type: 'exited', id });\n },\n [modalsState, onClosed],\n );\n const delayEnter = Boolean(\n transitionState.exitingModal && (isCard(activeModal) || isCard(transitionState.exitingModal)),\n );\n const getModalState = React.useCallback((id: string) => modalsState[id], [modalsState]);\n\n function onEnter() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onOpen)) {\n modalState.onOpen();\n } else if (isFunction(onOpen)) {\n onOpen(modalState.id);\n }\n }\n }\n\n function onExit() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onClose)) {\n modalState.onClose();\n } else if (isFunction(onClose)) {\n onClose(modalState.id);\n }\n }\n }\n\n return {\n onEnter,\n onEntered,\n onExit,\n onExited,\n ...transitionState,\n delayEnter,\n getModalState,\n };\n}\n\nexport function withModalManager(initModal: (a: ModalsStateEntry) => void = noop) {\n return function <Props extends ModalTransitionProps>(\n Wrapped: React.ComponentType<Props>,\n ): React.ComponentType<\n Omit<Props, keyof ModalTransitionProps> & {\n activeModal?: string | null;\n children?: React.ReactNode;\n }\n > {\n return function WithModalManager(props) {\n const transitionManager = useModalManager(\n props.activeModal,\n props.children,\n (props as any).onOpen,\n (props as any).onOpened,\n (props as any).onClose,\n (props as any).onClosed,\n initModal,\n );\n return <Wrapped {...(props as any)} {...transitionManager} />;\n };\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useModalManager.js","names":["getModals","children","React","Children","toArray","warn","warnOnce","modalTransitionReducer","state","action","type","id","activeModal","nextModal","prevModal","exitingModal","history","isBack","Boolean","includes","splice","indexOf","push","enteringModal","useModalManager","onOpen","noop","onOpened","onClose","onClosed","initModal","modalsState","useRef","current","forEach","Modal","modalProps","props","getNavId","undefined","dynamicContentHeight","settlingHeight","isMissing","safeActiveModal","useReducer","transitionState","dispatchTransition","useIsomorphicLayoutEffect","process","env","NODE_ENV","isCard","ModalType","CARD","onEntered","useCallback","modalState","isFunction","onExited","delayEnter","getModalState","onEnter","onExit","withModalManager","Wrapped","WithModalManager","transitionManager"],"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"sourcesContent":["import * as React from 'react';\nimport { isFunction, noop } from '@vkontakte/vkjs';\nimport { getNavId } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { ModalsState, ModalsStateEntry, ModalType } from './types';\n\ninterface ModalTransitionState {\n activeModal?: string | null;\n enteringModal?: string | null;\n exitingModal?: string | null;\n\n history?: string[];\n isBack?: boolean | null;\n}\n\nexport interface ModalTransitionProps extends ModalTransitionState {\n onEnter: VoidFunction;\n onEntered: (id: string | null) => void;\n onExit: VoidFunction;\n onExited: (id: string | null) => void;\n getModalState: (id: string) => ModalsStateEntry;\n delayEnter: boolean;\n}\n\nfunction getModals(children: React.ReactNode | React.ReactNode[]) {\n return React.Children.toArray(children) as React.ReactElement[];\n}\n\nconst warn = warnOnce('ModalRoot');\n\nexport function modalTransitionReducer(\n state: ModalTransitionState,\n action: {\n type: 'setActive' | 'entered' | 'exited' | 'inited';\n id: string | null;\n },\n): ModalTransitionState {\n if (action.type === 'setActive' && action.id !== state.activeModal) {\n const nextModal = action.id;\n // preserve exiting modal if switching mid-transition\n const prevModal = state.exitingModal || state.activeModal;\n let history = state.history ? [...state.history] : [];\n const isBack = Boolean(nextModal && history.includes(nextModal));\n\n if (nextModal === null) {\n history = [];\n } else if (isBack) {\n history = history.splice(0, history.indexOf(nextModal) + 1);\n } else {\n history.push(nextModal);\n }\n\n return {\n activeModal: nextModal,\n // not entering yet\n enteringModal: null,\n exitingModal: prevModal,\n history,\n isBack,\n };\n }\n if (action.type === 'entered' && action.id === state.enteringModal) {\n return { ...state, enteringModal: null };\n }\n if (action.type === 'exited' && action.id === state.exitingModal) {\n return { ...state, exitingModal: null };\n }\n if (action.type === 'inited' && action.id === state.activeModal) {\n return { ...state, enteringModal: action.id };\n }\n return state;\n}\n\n/**\n * Реализует переход модалок. При смене activeModal m1 -> m2:\n * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода\n * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода\n * одновременный переход между ModalPage:\n * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2\n * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации\n * ИЛИ дожидаемся скрытия ModalCard\n * 3b. activeModal: m2, exitingModal: null, enteringModal: m2\n * 4b. enteringModal переходит в null после завершения анимации\n * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен\n */\nexport function useModalManager(\n activeModal: string | null | undefined,\n children: React.ReactNode | React.ReactNode[],\n onOpen: (id: string) => void = noop,\n onOpened: (id: string) => void = noop,\n onClose: (id: string) => void = noop,\n onClosed: (id: string) => void = noop,\n initModal: (state: ModalsStateEntry) => void = noop,\n): ModalTransitionProps {\n const modalsState = React.useRef<ModalsState>({}).current;\n getModals(children).forEach((Modal) => {\n const modalProps = Modal.props;\n const id = getNavId(modalProps, warn);\n const state: ModalsStateEntry = (id !== undefined && modalsState[id]) || {\n id: id ?? null,\n };\n\n state.onOpen = Modal.props.onOpen;\n state.onOpened = Modal.props.onOpened;\n state.onClose = Modal.props.onClose;\n state.onClosed = Modal.props.onClosed;\n state.dynamicContentHeight = !!modalProps.dynamicContentHeight;\n // ModalPage props\n if (typeof modalProps.settlingHeight === 'number') {\n state.settlingHeight = modalProps.settlingHeight;\n }\n\n if (state.id !== null) {\n modalsState[state.id] = state;\n }\n });\n\n const isMissing = activeModal && !modalsState[activeModal];\n const safeActiveModal = isMissing ? null : activeModal;\n const [transitionState, dispatchTransition] = React.useReducer(modalTransitionReducer, {\n activeModal: safeActiveModal,\n enteringModal: null,\n exitingModal: null,\n history: safeActiveModal ? [safeActiveModal] : [],\n isBack: false,\n });\n\n // Map props to state, render activeModal for init\n useIsomorphicLayoutEffect(() => {\n // ignore non-existent activeModal\n if (process.env.NODE_ENV === 'development' && isMissing) {\n warn(`Переход невозможен - модальное окно (страница) ${activeModal} не существует`, 'error');\n }\n dispatchTransition({ type: 'setActive', id: safeActiveModal ?? null });\n }, [activeModal]);\n\n // Init activeModal & set enteringModal\n useIsomorphicLayoutEffect(() => {\n if (transitionState.activeModal) {\n initModal(modalsState[transitionState.activeModal]);\n dispatchTransition({ type: 'inited', id: transitionState.activeModal });\n }\n }, [transitionState.activeModal]);\n\n const isCard = (id: string | null | undefined) =>\n id != null && modalsState[id]?.type === ModalType.CARD;\n const onEntered = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onOpened)) {\n modalState.onOpened();\n } else if (isFunction(onOpened)) {\n onOpened(id);\n }\n }\n\n dispatchTransition({ type: 'entered', id });\n },\n [modalsState, onOpened],\n );\n const onExited = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onClosed)) {\n modalState.onClosed();\n } else if (isFunction(onClosed)) {\n onClosed(id);\n }\n }\n\n dispatchTransition({ type: 'exited', id });\n },\n [modalsState, onClosed],\n );\n const delayEnter = Boolean(\n transitionState.exitingModal && (isCard(activeModal) || isCard(transitionState.exitingModal)),\n );\n const getModalState = React.useCallback((id: string) => modalsState[id], [modalsState]);\n\n function onEnter() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onOpen)) {\n modalState.onOpen();\n } else if (isFunction(onOpen)) {\n onOpen(modalState.id);\n }\n }\n }\n\n function onExit() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onClose)) {\n modalState.onClose();\n } else if (isFunction(onClose)) {\n onClose(modalState.id);\n }\n }\n }\n\n return {\n onEnter,\n onEntered,\n onExit,\n onExited,\n ...transitionState,\n delayEnter,\n getModalState,\n };\n}\n\nexport function withModalManager(initModal: (a: ModalsStateEntry) => void = noop) {\n return function <Props extends ModalTransitionProps>(\n Wrapped: React.ComponentType<Props>,\n ): React.ComponentType<\n Omit<Props, keyof ModalTransitionProps> & {\n activeModal?: string | null;\n children?: React.ReactNode;\n }\n > {\n return function WithModalManager(props) {\n const transitionManager = useModalManager(\n props.activeModal,\n props.children,\n (props as any).onOpen,\n (props as any).onOpened,\n (props as any).onClose,\n (props as any).onClosed,\n initModal,\n );\n return <Wrapped {...(props as any)} {...transitionManager} />;\n };\n };\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { FormFieldProps } from '../FormField/FormField';
3
2
  import { HasAlign, HasRef, HasRootRef } from '../../types';
3
+ import { FormFieldProps } from '../FormField/FormField';
4
4
  import type { SelectType } from '../Select/Select';
5
5
  export interface NativeSelectProps extends React.SelectHTMLAttributes<HTMLSelectElement>, HasRef<HTMLSelectElement>, HasRootRef<HTMLLabelElement>, HasAlign, Pick<FormFieldProps, 'status'> {
6
6
  placeholder?: string;
@@ -9,20 +9,23 @@ exports.NativeSelect = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
13
  var React = _interopRequireWildcard(require("react"));
13
14
  var _vkjs = require("@vkontakte/vkjs");
14
- var _DropdownIcon = require("../DropdownIcon/DropdownIcon");
15
- var _FormField = require("../FormField/FormField");
16
15
  var _getPlatformClassName = require("../../helpers/getPlatformClassName");
17
- var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
16
+ var _useAdaptivity2 = require("../../hooks/useAdaptivity");
18
17
  var _useEnsuredControl3 = require("../../hooks/useEnsuredControl");
19
18
  var _useExternRef = require("../../hooks/useExternRef");
20
19
  var _usePlatform = require("../../hooks/usePlatform");
21
- var _useAdaptivity2 = require("../../hooks/useAdaptivity");
22
- var _getSizeXClassName = require("../../helpers/getSizeXClassName");
23
- var _getSizeYClassName = require("../../helpers/getSizeYClassName");
20
+ var _adaptivity = require("../../lib/adaptivity");
21
+ var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
22
+ var _DropdownIcon = require("../DropdownIcon/DropdownIcon");
23
+ var _FormField = require("../FormField/FormField");
24
24
  var _SelectTypography = require("../SelectTypography/SelectTypography");
25
25
  var _excluded = ["style", "defaultValue", "align", "placeholder", "children", "className", "getRef", "getRootRef", "disabled", "multiline", "selectType", "status", "onChange", "value"];
26
+ var sizeYClassNames = (0, _defineProperty2.default)({
27
+ none: "vkuiSelect--sizeY-none"
28
+ }, _adaptivity.SizeType.COMPACT, "vkuiSelect--sizeY-compact");
26
29
  /**
27
30
  * @see https://vkcom.github.io/VKUI/#/NativeSelect
28
31
  */
@@ -64,8 +67,8 @@ var NativeSelect = function NativeSelect(_ref) {
64
67
  onChange = _useEnsuredControl2[1];
65
68
  var selectRef = (0, _useExternRef.useExternRef)(getRef);
66
69
  var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
67
- sizeX = _useAdaptivity.sizeX,
68
- sizeY = _useAdaptivity.sizeY;
70
+ _useAdaptivity$sizeY = _useAdaptivity.sizeY,
71
+ sizeY = _useAdaptivity$sizeY === void 0 ? 'none' : _useAdaptivity$sizeY;
69
72
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
70
73
  var _selectRef$current;
71
74
  var selectedOption = (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.options[selectRef.current.selectedIndex];
@@ -76,7 +79,7 @@ var NativeSelect = function NativeSelect(_ref) {
76
79
  }, [value, children]);
77
80
  return /*#__PURE__*/React.createElement(_FormField.FormField, {
78
81
  Component: "label",
79
- className: (0, _vkjs.classNames)("vkuiSelect", (0, _getPlatformClassName.getPlatformClassName)("vkuiSelect", platform), empty && "vkuiSelect--empty", multiline && "vkuiSelect--multiline", align && styles["Select--align-".concat(align)], (0, _getSizeXClassName.getSizeXClassName)("vkuiSelect", sizeX), (0, _getSizeYClassName.getSizeYClassName)("vkuiSelect", sizeY), className),
82
+ className: (0, _vkjs.classNames)("vkuiSelect", (0, _getPlatformClassName.getPlatformClassName)("vkuiSelect", platform), empty && "vkuiSelect--empty", multiline && "vkuiSelect--multiline", align && styles["Select--align-".concat(align)], sizeY !== _adaptivity.SizeType.REGULAR && sizeYClassNames[sizeY], className),
80
83
  style: style,
81
84
  getRootRef: getRootRef,
82
85
  disabled: disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSelect.js","names":["NativeSelect","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","multiline","selectType","status","onChangeProp","onChange","valueProp","value","restProps","platform","usePlatform","React","useState","title","setTitle","empty","setEmpty","useEnsuredControl","selectRef","useExternRef","useAdaptivity","sizeX","sizeY","useIsomorphicLayoutEffect","selectedOption","current","options","selectedIndex","text","classNames","getPlatformClassName","styles","getSizeXClassName","getSizeYClassName"],"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { getSizeXClassName } from '../../helpers/getSizeXClassName';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport styles from '../Select/Select.module.css';\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n Pick<FormFieldProps, 'status'> {\n placeholder?: string;\n multiline?: boolean;\n selectType?: SelectType;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>['value'];\n title?: string;\n notSelected?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/NativeSelect\n */\nconst NativeSelect = ({\n style,\n defaultValue = '',\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n multiline,\n selectType = 'default',\n status,\n onChange: onChangeProp,\n value: valueProp,\n ...restProps\n}: NativeSelectProps) => {\n const platform = usePlatform();\n const [title, setTitle] = React.useState('');\n const [empty, setEmpty] = React.useState(false);\n const [value, onChange] = useEnsuredControl({\n defaultValue,\n disabled,\n onChange: onChangeProp,\n value: valueProp,\n });\n const selectRef = useExternRef(getRef);\n const { sizeX, sizeY } = useAdaptivity();\n\n useIsomorphicLayoutEffect(() => {\n const selectedOption = selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setEmpty(selectedOption.value === '' && placeholder != null);\n }\n }, [value, children]);\n\n return (\n <FormField\n Component=\"label\"\n className={classNames(\n styles['Select'],\n getPlatformClassName(styles['Select'], platform),\n empty && styles['Select--empty'],\n multiline && styles['Select--multiline'],\n align && styles[`Select--align-${align}`],\n getSizeXClassName(styles['Select'], sizeX),\n getSizeYClassName(styles['Select'], sizeY),\n className,\n )}\n style={style}\n getRootRef={getRootRef}\n disabled={disabled}\n after={<DropdownIcon />}\n status={status}\n >\n <select\n {...restProps}\n disabled={disabled}\n className={styles['Select__el']}\n onChange={onChange}\n value={value}\n ref={selectRef}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </select>\n <div className={styles['Select__container']}>\n <SelectTypography className={styles['Select__title']} selectType={selectType}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n\nexport { NativeSelect };\n"],"mappings":"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"}
1
+ {"version":3,"file":"NativeSelect.js","names":["sizeYClassNames","none","SizeType","COMPACT","NativeSelect","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","multiline","selectType","status","onChangeProp","onChange","valueProp","value","restProps","platform","usePlatform","React","useState","title","setTitle","empty","setEmpty","useEnsuredControl","selectRef","useExternRef","useAdaptivity","sizeY","useIsomorphicLayoutEffect","selectedOption","current","options","selectedIndex","text","classNames","getPlatformClassName","styles","REGULAR"],"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport styles from '../Select/Select.module.css';\n\nconst sizeYClassNames = {\n none: styles['Select--sizeY-none'],\n [SizeType.COMPACT]: styles['Select--sizeY-compact'],\n};\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n Pick<FormFieldProps, 'status'> {\n placeholder?: string;\n multiline?: boolean;\n selectType?: SelectType;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>['value'];\n title?: string;\n notSelected?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/NativeSelect\n */\nconst NativeSelect = ({\n style,\n defaultValue = '',\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n multiline,\n selectType = 'default',\n status,\n onChange: onChangeProp,\n value: valueProp,\n ...restProps\n}: NativeSelectProps) => {\n const platform = usePlatform();\n const [title, setTitle] = React.useState('');\n const [empty, setEmpty] = React.useState(false);\n const [value, onChange] = useEnsuredControl({\n defaultValue,\n disabled,\n onChange: onChangeProp,\n value: valueProp,\n });\n const selectRef = useExternRef(getRef);\n const { sizeY = 'none' } = useAdaptivity();\n\n useIsomorphicLayoutEffect(() => {\n const selectedOption = selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setEmpty(selectedOption.value === '' && placeholder != null);\n }\n }, [value, children]);\n\n return (\n <FormField\n Component=\"label\"\n className={classNames(\n styles['Select'],\n getPlatformClassName(styles['Select'], platform),\n empty && styles['Select--empty'],\n multiline && styles['Select--multiline'],\n align && styles[`Select--align-${align}`],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n className,\n )}\n style={style}\n getRootRef={getRootRef}\n disabled={disabled}\n after={<DropdownIcon />}\n status={status}\n >\n <select\n {...restProps}\n disabled={disabled}\n className={styles['Select__el']}\n onChange={onChange}\n value={value}\n ref={selectRef}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </select>\n <div className={styles['Select__container']}>\n <SelectTypography className={styles['Select__title']} selectType={selectType}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n\nexport { NativeSelect };\n"],"mappings":"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"}
@@ -8,15 +8,20 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.Pagination = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var React = _interopRequireWildcard(require("react"));
12
13
  var _icons = require("@vkontakte/icons");
13
14
  var _vkjs = require("@vkontakte/vkjs");
14
15
  var _useAdaptivity2 = require("../../hooks/useAdaptivity");
15
16
  var _usePagination = require("../../hooks/usePagination");
16
- var _getSizeYClassName = require("../../helpers/getSizeYClassName");
17
- var _Tappable = require("../Tappable/Tappable");
17
+ var _adaptivity = require("../../lib/adaptivity");
18
18
  var _Button = require("../Button/Button");
19
+ var _Tappable = require("../Tappable/Tappable");
19
20
  var _excluded = ["currentPage", "siblingCount", "boundaryCount", "totalPages", "disabled", "getPageAriaLabel", "prevButtonAriaLabel", "nextButtonAriaLabel", "getRootRef", "onChange", "className"];
21
+ var _pageSizeYClassNames;
22
+ var pageSizeYClassNames = (_pageSizeYClassNames = {
23
+ none: "vkuiPagination__page--sizeY-none"
24
+ }, (0, _defineProperty2.default)(_pageSizeYClassNames, _adaptivity.SizeType.COMPACT, "vkuiPagination__page--sizeY-compact"), (0, _defineProperty2.default)(_pageSizeYClassNames, _adaptivity.SizeType.REGULAR, "vkuiPagination__page--sizeY-regular"), _pageSizeYClassNames);
20
25
  function getPageAriaLabelDefault(page, isCurrent) {
21
26
  return isCurrent ? "".concat(page, " \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430") : "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 ".concat(page, " \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443");
22
27
  }
@@ -44,7 +49,8 @@ var Pagination = function Pagination(_ref) {
44
49
  className = _ref.className,
45
50
  resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
46
51
  var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
47
- sizeY = _useAdaptivity.sizeY;
52
+ _useAdaptivity$sizeY = _useAdaptivity.sizeY,
53
+ sizeY = _useAdaptivity$sizeY === void 0 ? 'none' : _useAdaptivity$sizeY;
48
54
  var pages = (0, _usePagination.usePagination)({
49
55
  currentPage: currentPage,
50
56
  totalPages: totalPages,
@@ -74,7 +80,7 @@ var Pagination = function Pagination(_ref) {
74
80
  return /*#__PURE__*/React.createElement("li", {
75
81
  key: page
76
82
  }, /*#__PURE__*/React.createElement("div", {
77
- className: (0, _vkjs.classNames)("vkuiPagination__page", "vkuiPagination__page--type-ellipsis", (0, _getSizeYClassName.getSizeYClassName)("vkuiPagination__page", sizeY), disabled && "vkuiPagination__page--disabled")
83
+ className: (0, _vkjs.classNames)("vkuiPagination__page", "vkuiPagination__page--type-ellipsis", pageSizeYClassNames[sizeY], disabled && "vkuiPagination__page--disabled")
78
84
  }, "..."));
79
85
  default:
80
86
  {
@@ -82,7 +88,7 @@ var Pagination = function Pagination(_ref) {
82
88
  return /*#__PURE__*/React.createElement("li", {
83
89
  key: page
84
90
  }, /*#__PURE__*/React.createElement(_Tappable.Tappable, {
85
- className: (0, _vkjs.classNames)("vkuiPagination__page", (0, _getSizeYClassName.getSizeYClassName)("vkuiPagination__page", sizeY), _isCurrent && "vkuiPagination__page--current", disabled && "vkuiPagination__page--disabled"),
91
+ className: (0, _vkjs.classNames)("vkuiPagination__page", pageSizeYClassNames[sizeY], _isCurrent && "vkuiPagination__page--current", disabled && "vkuiPagination__page--disabled"),
86
92
  activeMode: "vkuiPagination__page--state-active",
87
93
  hoverMode: "vkuiPagination__page--state-hover",
88
94
  hasActive: !_isCurrent,
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":["getPageAriaLabelDefault","page","isCurrent","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","getRootRef","onChange","className","resetProps","useAdaptivity","sizeY","pages","usePagination","isFirstPage","isLastPage","handlePrevClick","React","useCallback","handleClick","event","currentTarget","dataset","Number","handleNextClick","renderPages","classNames","getSizeYClassName","undefined","map"],"sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from '@vkontakte/icons';\n\nimport type { HasRootRef } from '../../types';\n\nimport { classNames } from '@vkontakte/vkjs';\n\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { PaginationPageType, usePagination } from '../../hooks/usePagination';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\n\nimport { Tappable } from '../Tappable/Tappable';\nimport { Button } from '../Button/Button';\n\nimport styles from './Pagination.module.css';\n\nfunction getPageAriaLabelDefault(page: number, isCurrent: boolean): string {\n return isCurrent ? `${page} страница` : `Перейти на ${page} страницу`;\n}\n\nexport interface PaginationProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'>,\n HasRootRef<HTMLElement> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Переопределение `aria-label` для кнопки навигации назад.\n * По умолчанию используется текст на \"ru_RU\".\n */\n prevButtonAriaLabel?: string;\n /**\n * Переопределение `aria-label` для кнопки навигации вперёд.\n * По умолчанию используется текст на \"ru_RU\".\n */\n nextButtonAriaLabel?: string;\n /**\n * Функция для переопределения и/или локализации `aria-label` атрибута.\n * По умолчанию используется текст на \"ru_RU\".\n */\n getPageAriaLabel?(page: number, isCurrent: boolean): string;\n onChange?(page: number): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Pagination\n */\nexport const Pagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n getPageAriaLabel = getPageAriaLabelDefault,\n prevButtonAriaLabel = 'Перейти на предыдущую страницу',\n nextButtonAriaLabel = 'Перейти на следующую страницу',\n getRootRef,\n onChange,\n className,\n ...resetProps\n}: PaginationProps) => {\n const { sizeY } = useAdaptivity();\n\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n const handlePrevClick = React.useCallback(() => {\n if (onChange && !isFirstPage) {\n onChange(currentPage - 1);\n }\n }, [currentPage, isFirstPage, onChange]);\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || '1';\n onChange?.(Number(page));\n },\n [onChange],\n );\n\n const handleNextClick = React.useCallback(() => {\n if (onChange && !isLastPage) {\n onChange(currentPage + 1);\n }\n }, [currentPage, isLastPage, onChange]);\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n switch (page) {\n case 'start-ellipsis':\n case 'end-ellipsis':\n return (\n <li key={page}>\n <div\n className={classNames(\n styles['Pagination__page'],\n styles['Pagination__page--type-ellipsis'],\n getSizeYClassName(styles['Pagination__page'], sizeY),\n disabled && styles['Pagination__page--disabled'],\n )}\n >\n ...\n </div>\n </li>\n );\n default: {\n const isCurrent = page === currentPage;\n return (\n <li key={page}>\n <Tappable\n className={classNames(\n styles['Pagination__page'],\n getSizeYClassName(styles['Pagination__page'], sizeY),\n isCurrent && styles['Pagination__page--current'],\n disabled && styles['Pagination__page--disabled'],\n )}\n activeMode={styles['Pagination__page--state-active']}\n hoverMode={styles['Pagination__page--state-hover']}\n hasActive={!isCurrent}\n hasHover={!isCurrent}\n focusVisibleMode=\"outside\"\n disabled={disabled}\n data-page={page}\n aria-current={isCurrent ? true : undefined}\n aria-label={getPageAriaLabel(page, isCurrent)}\n onClick={handleClick}\n >\n {page}\n </Tappable>\n </li>\n );\n }\n }\n },\n [sizeY, currentPage, disabled, getPageAriaLabel, handleClick],\n );\n\n return (\n <nav\n className={classNames(styles['Pagination'], className)}\n role=\"navigation\"\n aria-label=\"Навигация по страницам\"\n ref={getRootRef}\n {...resetProps}\n >\n <ul className={styles['Pagination__list']}>\n <li className={styles['Pagination__prevButtonContainer']}>\n <Button\n size=\"l\"\n before={<Icon24ChevronCompactLeft width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isFirstPage || disabled}\n aria-label={prevButtonAriaLabel}\n onClick={handlePrevClick}\n />\n </li>\n {pages.map(renderPages)}\n <li className={styles['Pagination__nextButtonContainer']}>\n <Button\n size=\"l\"\n after={<Icon24ChevronCompactRight width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isLastPage || disabled}\n aria-label={nextButtonAriaLabel}\n onClick={handleNextClick}\n />\n </li>\n </ul>\n </nav>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","names":["pageSizeYClassNames","none","SizeType","COMPACT","REGULAR","getPageAriaLabelDefault","page","isCurrent","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","getRootRef","onChange","className","resetProps","useAdaptivity","sizeY","pages","usePagination","isFirstPage","isLastPage","handlePrevClick","React","useCallback","handleClick","event","currentTarget","dataset","Number","handleNextClick","renderPages","classNames","undefined","map"],"sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { PaginationPageType, usePagination } from '../../hooks/usePagination';\nimport { SizeType } from '../../lib/adaptivity';\nimport type { HasRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { Tappable } from '../Tappable/Tappable';\nimport styles from './Pagination.module.css';\n\nconst pageSizeYClassNames = {\n none: styles['Pagination__page--sizeY-none'],\n [SizeType.COMPACT]: styles['Pagination__page--sizeY-compact'],\n [SizeType.REGULAR]: styles['Pagination__page--sizeY-regular'],\n};\n\nfunction getPageAriaLabelDefault(page: number, isCurrent: boolean): string {\n return isCurrent ? `${page} страница` : `Перейти на ${page} страницу`;\n}\n\nexport interface PaginationProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'>,\n HasRootRef<HTMLElement> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Переопределение `aria-label` для кнопки навигации назад.\n * По умолчанию используется текст на \"ru_RU\".\n */\n prevButtonAriaLabel?: string;\n /**\n * Переопределение `aria-label` для кнопки навигации вперёд.\n * По умолчанию используется текст на \"ru_RU\".\n */\n nextButtonAriaLabel?: string;\n /**\n * Функция для переопределения и/или локализации `aria-label` атрибута.\n * По умолчанию используется текст на \"ru_RU\".\n */\n getPageAriaLabel?(page: number, isCurrent: boolean): string;\n onChange?(page: number): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Pagination\n */\nexport const Pagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n getPageAriaLabel = getPageAriaLabelDefault,\n prevButtonAriaLabel = 'Перейти на предыдущую страницу',\n nextButtonAriaLabel = 'Перейти на следующую страницу',\n getRootRef,\n onChange,\n className,\n ...resetProps\n}: PaginationProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n const handlePrevClick = React.useCallback(() => {\n if (onChange && !isFirstPage) {\n onChange(currentPage - 1);\n }\n }, [currentPage, isFirstPage, onChange]);\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || '1';\n onChange?.(Number(page));\n },\n [onChange],\n );\n\n const handleNextClick = React.useCallback(() => {\n if (onChange && !isLastPage) {\n onChange(currentPage + 1);\n }\n }, [currentPage, isLastPage, onChange]);\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n switch (page) {\n case 'start-ellipsis':\n case 'end-ellipsis':\n return (\n <li key={page}>\n <div\n className={classNames(\n styles['Pagination__page'],\n styles['Pagination__page--type-ellipsis'],\n pageSizeYClassNames[sizeY],\n disabled && styles['Pagination__page--disabled'],\n )}\n >\n ...\n </div>\n </li>\n );\n default: {\n const isCurrent = page === currentPage;\n return (\n <li key={page}>\n <Tappable\n className={classNames(\n styles['Pagination__page'],\n pageSizeYClassNames[sizeY],\n isCurrent && styles['Pagination__page--current'],\n disabled && styles['Pagination__page--disabled'],\n )}\n activeMode={styles['Pagination__page--state-active']}\n hoverMode={styles['Pagination__page--state-hover']}\n hasActive={!isCurrent}\n hasHover={!isCurrent}\n focusVisibleMode=\"outside\"\n disabled={disabled}\n data-page={page}\n aria-current={isCurrent ? true : undefined}\n aria-label={getPageAriaLabel(page, isCurrent)}\n onClick={handleClick}\n >\n {page}\n </Tappable>\n </li>\n );\n }\n }\n },\n [sizeY, currentPage, disabled, getPageAriaLabel, handleClick],\n );\n\n return (\n <nav\n className={classNames(styles['Pagination'], className)}\n role=\"navigation\"\n aria-label=\"Навигация по страницам\"\n ref={getRootRef}\n {...resetProps}\n >\n <ul className={styles['Pagination__list']}>\n <li className={styles['Pagination__prevButtonContainer']}>\n <Button\n size=\"l\"\n before={<Icon24ChevronCompactLeft width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isFirstPage || disabled}\n aria-label={prevButtonAriaLabel}\n onClick={handlePrevClick}\n />\n </li>\n {pages.map(renderPages)}\n <li className={styles['Pagination__nextButtonContainer']}>\n <Button\n size=\"l\"\n after={<Icon24ChevronCompactRight width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isLastPage || disabled}\n aria-label={nextButtonAriaLabel}\n onClick={handleNextClick}\n />\n </li>\n </ul>\n </nav>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAgD;AAAA;AAGhD,IAAMA,mBAAmB;EACvBC,IAAI;AAAwC,uDAC3CC,oBAAQ,CAACC,OAAO,8FAChBD,oBAAQ,CAACE,OAAO,+DAClB;AAED,SAASC,uBAAuB,CAACC,IAAY,EAAEC,SAAkB,EAAU;EACzE,OAAOA,SAAS,aAAMD,IAAI,2HAA4BA,IAAI,sDAAW;AACvE;AA2CA;AACA;AACA;AACO,IAAME,UAAU,GAAG,SAAbA,UAAU,OAaA;EAAA,4BAZrBC,WAAW;IAAXA,WAAW,iCAAG,CAAC;IAAA,yBACfC,YAAY;IAAZA,YAAY,kCAAG,CAAC;IAAA,0BAChBC,aAAa;IAAbA,aAAa,mCAAG,CAAC;IAAA,uBACjBC,UAAU;IAAVA,UAAU,gCAAG,CAAC;IACdC,QAAQ,QAARA,QAAQ;IAAA,6BACRC,gBAAgB;IAAhBA,gBAAgB,sCAAGT,uBAAuB;IAAA,6BAC1CU,mBAAmB;IAAnBA,mBAAmB,sCAAG,gCAAgC;IAAA,6BACtDC,mBAAmB;IAAnBA,mBAAmB,sCAAG,+BAA+B;IACrDC,UAAU,QAAVA,UAAU;IACVC,QAAQ,QAARA,QAAQ;IACRC,SAAS,QAATA,SAAS;IACNC,UAAU;EAEb,qBAA2B,IAAAC,6BAAa,GAAE;IAAA,sCAAlCC,KAAK;IAALA,KAAK,qCAAG,MAAM;EAEtB,IAAMC,KAAK,GAAG,IAAAC,4BAAa,EAAC;IAC1Bf,WAAW,EAAXA,WAAW;IACXG,UAAU,EAAVA,UAAU;IACVF,YAAY,EAAZA,YAAY;IACZC,aAAa,EAAbA;EACF,CAAC,CAAC;EACF,IAAMc,WAAW,GAAGhB,WAAW,KAAK,CAAC;EACrC,IAAMiB,UAAU,GAAGjB,WAAW,KAAKG,UAAU;EAE7C,IAAMe,eAAe,GAAGC,KAAK,CAACC,WAAW,CAAC,YAAM;IAC9C,IAAIX,QAAQ,IAAI,CAACO,WAAW,EAAE;MAC5BP,QAAQ,CAACT,WAAW,GAAG,CAAC,CAAC;IAC3B;EACF,CAAC,EAAE,CAACA,WAAW,EAAEgB,WAAW,EAAEP,QAAQ,CAAC,CAAC;EAExC,IAAMY,WAAW,GAAGF,KAAK,CAACC,WAAW,CACnC,UAACE,KAAoC,EAAK;IACxC,IAAMzB,IAAY,GAAGyB,KAAK,CAACC,aAAa,CAACC,OAAO,CAAC3B,IAAI,IAAI,GAAG;IAC5DY,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGgB,MAAM,CAAC5B,IAAI,CAAC,CAAC;EAC1B,CAAC,EACD,CAACY,QAAQ,CAAC,CACX;EAED,IAAMiB,eAAe,GAAGP,KAAK,CAACC,WAAW,CAAC,YAAM;IAC9C,IAAIX,QAAQ,IAAI,CAACQ,UAAU,EAAE;MAC3BR,QAAQ,CAACT,WAAW,GAAG,CAAC,CAAC;IAC3B;EACF,CAAC,EAAE,CAACA,WAAW,EAAEiB,UAAU,EAAER,QAAQ,CAAC,CAAC;EAEvC,IAAMkB,WAAW,GAAGR,KAAK,CAACC,WAAW,CACnC,UAACvB,IAAwB,EAAK;IAC5B,QAAQA,IAAI;MACV,KAAK,gBAAgB;MACrB,KAAK,cAAc;QACjB,oBACE;UAAI,GAAG,EAAEA;QAAK,gBACZ;UACE,SAAS,EAAE,IAAA+B,gBAAU,iEAGnBrC,mBAAmB,CAACsB,KAAK,CAAC,EAC1BT,QAAQ,oCAAwC;QAChD,GACH,KAED,CAAM,CACH;MAET;QAAS;UACP,IAAMN,UAAS,GAAGD,IAAI,KAAKG,WAAW;UACtC,oBACE;YAAI,GAAG,EAAEH;UAAK,gBACZ,oBAAC,kBAAQ;YACP,SAAS,EAAE,IAAA+B,gBAAU,0BAEnBrC,mBAAmB,CAACsB,KAAK,CAAC,EAC1Bf,UAAS,mCAAuC,EAChDM,QAAQ,oCAAwC,CAChD;YACF,UAAU,sCAA2C;YACrD,SAAS,qCAA0C;YACnD,SAAS,EAAE,CAACN,UAAU;YACtB,QAAQ,EAAE,CAACA,UAAU;YACrB,gBAAgB,EAAC,SAAS;YAC1B,QAAQ,EAAEM,QAAS;YACnB,aAAWP,IAAK;YAChB,gBAAcC,UAAS,GAAG,IAAI,GAAG+B,SAAU;YAC3C,cAAYxB,gBAAgB,CAACR,IAAI,EAAEC,UAAS,CAAE;YAC9C,OAAO,EAAEuB;UAAY,GAEpBxB,IAAI,CACI,CACR;QAET;IAAC;EAEL,CAAC,EACD,CAACgB,KAAK,EAAEb,WAAW,EAAEI,QAAQ,EAAEC,gBAAgB,EAAEgB,WAAW,CAAC,CAC9D;EAED,oBACE;IACE,SAAS,EAAE,IAAAO,gBAAU,oBAAuBlB,SAAS,CAAE;IACvD,IAAI,EAAC,YAAY;IACjB,cAAW,4HAAwB;IACnC,GAAG,EAAEF;EAAW,GACZG,UAAU,gBAEd;IAAI,SAAS;EAA6B,gBACxC;IAAI,SAAS;EAA4C,gBACvD,oBAAC,cAAM;IACL,IAAI,EAAC,GAAG;IACR,MAAM,eAAE,oBAAC,+BAAwB;MAAC,KAAK,EAAE;IAAG,EAAI;IAChD,UAAU,EAAC,QAAQ;IACnB,IAAI,EAAC,UAAU;IACf,QAAQ,EAAEK,WAAW,IAAIZ,QAAS;IAClC,cAAYE,mBAAoB;IAChC,OAAO,EAAEY;EAAgB,EACzB,CACC,EACJJ,KAAK,CAACgB,GAAG,CAACH,WAAW,CAAC,eACvB;IAAI,SAAS;EAA4C,gBACvD,oBAAC,cAAM;IACL,IAAI,EAAC,GAAG;IACR,KAAK,eAAE,oBAAC,gCAAyB;MAAC,KAAK,EAAE;IAAG,EAAI;IAChD,UAAU,EAAC,QAAQ;IACnB,IAAI,EAAC,UAAU;IACf,QAAQ,EAAEV,UAAU,IAAIb,QAAS;IACjC,cAAYG,mBAAoB;IAChC,OAAO,EAAEmB;EAAgB,EACzB,CACC,CACF,CACD;AAEV,CAAC;AAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
3
2
  import { NavIdProps } from '../../lib/getNavId';
3
+ import { HasRootRef } from '../../types';
4
4
  export interface PanelProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement>, NavIdProps {
5
5
  centered?: boolean;
6
6
  }
@@ -8,15 +8,20 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.Panel = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var React = _interopRequireWildcard(require("react"));
12
- var _getSizeXClassName = require("../../helpers/getSizeXClassName");
13
13
  var _vkjs = require("@vkontakte/vkjs");
14
- var _Touch = require("../Touch/Touch");
15
- var _TooltipContainer = require("../Tooltip/TooltipContainer");
16
- var _platform = require("../../lib/platform");
17
- var _usePlatform = require("../../hooks/usePlatform");
18
14
  var _useAdaptivity2 = require("../../hooks/useAdaptivity");
15
+ var _usePlatform = require("../../hooks/usePlatform");
16
+ var _adaptivity = require("../../lib/adaptivity");
17
+ var _platform = require("../../lib/platform");
18
+ var _TooltipContainer = require("../Tooltip/TooltipContainer");
19
+ var _Touch = require("../Touch/Touch");
19
20
  var _excluded = ["centered", "children", "getRootRef", "nav", "className"];
21
+ var _sizeXClassNames;
22
+ var sizeXClassNames = (_sizeXClassNames = {
23
+ none: "vkuiPanel--sizeX-none"
24
+ }, (0, _defineProperty2.default)(_sizeXClassNames, _adaptivity.SizeType.COMPACT, "vkuiPanel--sizeX-compact"), (0, _defineProperty2.default)(_sizeXClassNames, _adaptivity.SizeType.REGULAR, "vkuiPanel--sizeX-regular"), _sizeXClassNames);
20
25
  /**
21
26
  * @see https://vkcom.github.io/VKUI/#/Panel
22
27
  */
@@ -30,10 +35,11 @@ var Panel = function Panel(_ref) {
30
35
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
31
36
  var platform = (0, _usePlatform.usePlatform)();
32
37
  var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
33
- sizeX = _useAdaptivity.sizeX;
38
+ _useAdaptivity$sizeX = _useAdaptivity.sizeX,
39
+ sizeX = _useAdaptivity$sizeX === void 0 ? 'none' : _useAdaptivity$sizeX;
34
40
  return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, restProps, {
35
41
  ref: getRootRef,
36
- className: (0, _vkjs.classNames)("vkuiPanel", (0, _getSizeXClassName.getSizeXClassName)("vkuiPanel", sizeX), centered && "vkuiPanel--centered", className)
42
+ className: (0, _vkjs.classNames)("vkuiPanel", sizeXClassNames[sizeX], centered && "vkuiPanel--centered", className)
37
43
  }), /*#__PURE__*/React.createElement(_Touch.Touch, {
38
44
  Component: _TooltipContainer.TooltipContainer,
39
45
  className: "vkuiPanel__in"
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.js","names":["Panel","centered","children","getRootRef","nav","className","restProps","platform","usePlatform","useAdaptivity","sizeX","classNames","getSizeXClassName","TooltipContainer","Platform","IOS"],"sources":["../../../../src/components/Panel/Panel.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSizeXClassName } from '../../helpers/getSizeXClassName';\nimport { classNames } from '@vkontakte/vkjs';\nimport { Touch } from '../Touch/Touch';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { HasRootRef } from '../../types';\nimport { Platform } from '../../lib/platform';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { NavIdProps } from '../../lib/getNavId';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport styles from './Panel.module.css';\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n NavIdProps {\n centered?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Panel\n */\nexport const Panel = ({\n centered = false,\n children,\n getRootRef,\n nav,\n className,\n ...restProps\n}: PanelProps) => {\n const platform = usePlatform();\n const { sizeX } = useAdaptivity();\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Panel'],\n getSizeXClassName(styles['Panel'], sizeX),\n centered && styles['Panel--centered'],\n className,\n )}\n >\n <Touch Component={TooltipContainer} className={styles['Panel__in']}>\n {platform === Platform.IOS && <div className={styles['Panel__fade']} />}\n <div className={styles['Panel__in-before']} />\n {centered ? <div className={styles['Panel__centered']}>{children}</div> : children}\n <div className={styles['Panel__in-after']} />\n </Touch>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAA0D;AAU1D;AACA;AACA;AACO,IAAMA,KAAK,GAAG,SAARA,KAAK,OAOA;EAAA,yBANhBC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAChBC,QAAQ,QAARA,QAAQ;IACRC,UAAU,QAAVA,UAAU;IACVC,GAAG,QAAHA,GAAG;IACHC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAAkB,IAAAC,6BAAa,GAAE;IAAzBC,KAAK,kBAALA,KAAK;EAEb,oBACE,sDACMJ,SAAS;IACb,GAAG,EAAEH,UAAW;IAChB,SAAS,EAAE,IAAAQ,gBAAU,eAEnB,IAAAC,oCAAiB,eAAkBF,KAAK,CAAC,EACzCT,QAAQ,yBAA6B,EACrCI,SAAS;EACT,iBAEF,oBAAC,YAAK;IAAC,SAAS,EAAEQ,kCAAiB;IAAC,SAAS;EAAsB,GAChEN,QAAQ,KAAKO,kBAAQ,CAACC,GAAG,iBAAI;IAAK,SAAS;EAAwB,EAAG,eACvE;IAAK,SAAS;EAA6B,EAAG,EAC7Cd,QAAQ,gBAAG;IAAK,SAAS;EAA4B,GAAEC,QAAQ,CAAO,GAAGA,QAAQ,eAClF;IAAK,SAAS;EAA4B,EAAG,CACvC,CACJ;AAEV,CAAC;AAAC"}
1
+ {"version":3,"file":"Panel.js","names":["sizeXClassNames","none","SizeType","COMPACT","REGULAR","Panel","centered","children","getRootRef","nav","className","restProps","platform","usePlatform","useAdaptivity","sizeX","classNames","TooltipContainer","Platform","IOS"],"sources":["../../../../src/components/Panel/Panel.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { Touch } from '../Touch/Touch';\nimport styles from './Panel.module.css';\n\nconst sizeXClassNames = {\n none: styles['Panel--sizeX-none'],\n [SizeType.COMPACT]: styles['Panel--sizeX-compact'],\n [SizeType.REGULAR]: styles['Panel--sizeX-regular'],\n};\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n NavIdProps {\n centered?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Panel\n */\nexport const Panel = ({\n centered = false,\n children,\n getRootRef,\n nav,\n className,\n ...restProps\n}: PanelProps) => {\n const platform = usePlatform();\n const { sizeX = 'none' } = useAdaptivity();\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Panel'],\n sizeXClassNames[sizeX],\n centered && styles['Panel--centered'],\n className,\n )}\n >\n <Touch Component={TooltipContainer} className={styles['Panel__in']}>\n {platform === Platform.IOS && <div className={styles['Panel__fade']} />}\n <div className={styles['Panel__in-before']} />\n {centered ? <div className={styles['Panel__centered']}>{children}</div> : children}\n <div className={styles['Panel__in-after']} />\n </Touch>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAuC;AAAA;AAGvC,IAAMA,eAAe;EACnBC,IAAI;AAA6B,mDAChCC,oBAAQ,CAACC,OAAO,+EAChBD,oBAAQ,CAACE,OAAO,gDAClB;AASD;AACA;AACA;AACO,IAAMC,KAAK,GAAG,SAARA,KAAK,OAOA;EAAA,yBANhBC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAChBC,QAAQ,QAARA,QAAQ;IACRC,UAAU,QAAVA,UAAU;IACVC,GAAG,QAAHA,GAAG;IACHC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAA2B,IAAAC,6BAAa,GAAE;IAAA,sCAAlCC,KAAK;IAALA,KAAK,qCAAG,MAAM;EAEtB,oBACE,sDACMJ,SAAS;IACb,GAAG,EAAEH,UAAW;IAChB,SAAS,EAAE,IAAAQ,gBAAU,eAEnBhB,eAAe,CAACe,KAAK,CAAC,EACtBT,QAAQ,yBAA6B,EACrCI,SAAS;EACT,iBAEF,oBAAC,YAAK;IAAC,SAAS,EAAEO,kCAAiB;IAAC,SAAS;EAAsB,GAChEL,QAAQ,KAAKM,kBAAQ,CAACC,GAAG,iBAAI;IAAK,SAAS;EAAwB,EAAG,eACvE;IAAK,SAAS;EAA6B,EAAG,EAC7Cb,QAAQ,gBAAG;IAAK,SAAS;EAA4B,GAAEC,QAAQ,CAAO,GAAGA,QAAQ,eAClF;IAAK,SAAS;EAA4B,EAAG,CACvC,CACJ;AAEV,CAAC;AAAC"}
@@ -9,18 +9,18 @@ exports.PanelHeader = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
- var _usePlatform = require("../../hooks/usePlatform");
13
12
  var _vkjs = require("@vkontakte/vkjs");
14
- var _FixedLayout = require("../FixedLayout/FixedLayout");
15
- var _Separator = require("../Separator/Separator");
13
+ var _useAdaptivity2 = require("../../hooks/useAdaptivity");
14
+ var _useAdaptivityConditionalRender = require("../../hooks/useAdaptivityConditionalRender");
15
+ var _usePlatform = require("../../hooks/usePlatform");
16
16
  var _platform = require("../../lib/platform");
17
17
  var _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext");
18
- var _Text = require("../Typography/Text/Text");
19
- var _TooltipContainer = require("../Tooltip/TooltipContainer");
18
+ var _FixedLayout = require("../FixedLayout/FixedLayout");
20
19
  var _ModalRootContext = require("../ModalRoot/ModalRootContext");
21
- var _useAdaptivity2 = require("../../hooks/useAdaptivity");
22
- var _useAdaptivityConditionalRender = require("../../hooks/useAdaptivityConditionalRender");
20
+ var _Separator = require("../Separator/Separator");
23
21
  var _Spacing = require("../Spacing/Spacing");
22
+ var _TooltipContainer = require("../Tooltip/TooltipContainer");
23
+ var _Text = require("../Typography/Text/Text");
24
24
  var _excluded = ["before", "children", "after", "separator", "visor", "transparent", "shadow", "getRef", "getRootRef", "fixed", "className"];
25
25
  function getPlatformClassName(platform) {
26
26
  switch (platform) {
@@ -1 +1 @@
1
- {"version":3,"file":"PanelHeader.js","names":["getPlatformClassName","platform","sizeXClassNames","compact","regular","none","PanelHeaderIn","before","after","separator","children","useConfigProvider","webviewType","React","useContext","ModalRootContext","isInsideModal","usePlatform","Platform","VKCOM","WebviewType","INTERNAL","PanelHeader","visor","transparent","shadow","getRef","getRootRef","fixed","className","restProps","useAdaptivity","sizeX","useAdaptivityConditionalRender","adaptiveSizeX","isFixed","undefined","classNames","VKAPPS"],"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { classNames } from '@vkontakte/vkjs';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { Separator } from '../Separator/Separator';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { useConfigProvider, WebviewType } from '../ConfigProvider/ConfigProviderContext';\nimport { Text } from '../Typography/Text/Text';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { ModalRootContext } from '../ModalRoot/ModalRootContext';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { Spacing } from '../Spacing/Spacing';\nimport styles from './PanelHeader.module.css';\n\nfunction getPlatformClassName(platform: string): string {\n switch (platform) {\n case 'ios':\n return styles['PanelHeader--ios'];\n case 'vkcom':\n return styles['PanelHeader--vkcom'];\n default:\n return styles['PanelHeader--android'];\n }\n}\n\nconst sizeXClassNames = {\n compact: '',\n regular: styles['PanelHeader--sizeX-regular'],\n none: styles['PanelHeader--sizeX-none'],\n};\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n before?: React.ReactNode;\n after?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn = ({ before, after, separator, children }: PanelHeaderProps) => {\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed className={styles['PanelHeader__in']}>\n <div className={styles['PanelHeader__before']}>{before}</div>\n <div className={styles['PanelHeader__content']}>\n {platform === Platform.VKCOM ? (\n <Text weight=\"2\">{children}</Text>\n ) : (\n <span className={styles['PanelHeader__content-in']}>{children}</span>\n )}\n </div>\n <div className={styles['PanelHeader__after']}>\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && after}\n </div>\n </TooltipContainer>\n {separator && platform === Platform.VKCOM && <Separator wide />}\n </React.Fragment>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = ({\n before,\n children,\n after,\n separator = true,\n visor = true,\n transparent = false,\n shadow,\n getRef,\n getRootRef,\n fixed,\n className,\n ...restProps\n}: PanelHeaderProps) => {\n const platform = usePlatform();\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const { sizeX = 'none' } = useAdaptivity();\n const { sizeX: adaptiveSizeX } = useAdaptivityConditionalRender();\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['PanelHeader'],\n getPlatformClassName(platform),\n transparent && styles['PanelHeader--trnsp'],\n shadow && styles['PanelHeader--shadow'],\n visor && styles['PanelHeader--vis'],\n separator && visor && styles['PanelHeader--sep'],\n webviewType === WebviewType.VKAPPS && !isInsideModal && styles['PanelHeader--vkapps'],\n !before && styles['PanelHeader--no-before'],\n !after && styles['PanelHeader--no-after'],\n isFixed && styles['PanelHeader--fixed'],\n sizeXClassNames[sizeX],\n className,\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout className={styles['PanelHeader__fixed']} vertical=\"top\" getRootRef={getRef}>\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n </FixedLayout>\n ) : (\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n )}\n {separator && visor && platform !== Platform.VKCOM && (\n <React.Fragment>\n {adaptiveSizeX.compact && <Separator className={adaptiveSizeX.compact.className} />}\n {adaptiveSizeX.regular && (\n <Spacing className={adaptiveSizeX.regular.className} size={16} />\n )}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAA6C;AAG7C,SAASA,oBAAoB,CAACC,QAAgB,EAAU;EACtD,QAAQA,QAAQ;IACd,KAAK,KAAK;MACR;IACF,KAAK,OAAO;MACV;IACF;MACE;EAAsC;AAE5C;AAEA,IAAMC,eAAe,GAAG;EACtBC,OAAO,EAAE,EAAE;EACXC,OAAO,kCAAsC;EAC7CC,IAAI;AACN,CAAC;AAqBD,IAAMC,aAAa,GAAG,SAAhBA,aAAa,OAAiE;EAAA,IAA3DC,MAAM,QAANA,MAAM;IAAEC,KAAK,QAALA,KAAK;IAAEC,SAAS,QAATA,SAAS;IAAEC,QAAQ,QAARA,QAAQ;EACzD,yBAAwB,IAAAC,wCAAiB,GAAE;IAAnCC,WAAW,sBAAXA,WAAW;EACnB,wBAA0BC,KAAK,CAACC,UAAU,CAACC,kCAAgB,CAAC;IAApDC,aAAa,qBAAbA,aAAa;EACrB,IAAMf,QAAQ,GAAG,IAAAgB,wBAAW,GAAE;EAE9B,oBACE,oBAAC,KAAK,CAAC,QAAQ,qBACb,oBAAC,kCAAgB;IAAC,KAAK;IAAC,SAAS;EAA4B,gBAC3D;IAAK,SAAS;EAAgC,GAAEV,MAAM,CAAO,eAC7D;IAAK,SAAS;EAAiC,GAC5CN,QAAQ,KAAKiB,kBAAQ,CAACC,KAAK,gBAC1B,oBAAC,UAAI;IAAC,MAAM,EAAC;EAAG,GAAET,QAAQ,CAAQ,gBAElC;IAAM,SAAS;EAAoC,GAAEA,QAAQ,CAC9D,CACG,eACN;IAAK,SAAS;EAA+B,GAC1C,CAACE,WAAW,KAAKQ,kCAAW,CAACC,QAAQ,IAAIL,aAAa,KAAKR,KAAK,CAC7D,CACW,EAClBC,SAAS,IAAIR,QAAQ,KAAKiB,kBAAQ,CAACC,KAAK,iBAAI,oBAAC,oBAAS;IAAC,IAAI;EAAA,EAAG,CAChD;AAErB,CAAC;;AAED;AACA;AACA;AACO,IAAMG,WAAW,GAAG,SAAdA,WAAW,QAaA;EAAA,IAZtBf,MAAM,SAANA,MAAM;IACNG,QAAQ,SAARA,QAAQ;IACRF,KAAK,SAALA,KAAK;IAAA,wBACLC,SAAS;IAATA,SAAS,gCAAG,IAAI;IAAA,oBAChBc,KAAK;IAALA,KAAK,4BAAG,IAAI;IAAA,0BACZC,WAAW;IAAXA,WAAW,kCAAG,KAAK;IACnBC,MAAM,SAANA,MAAM;IACNC,MAAM,SAANA,MAAM;IACNC,UAAU,SAAVA,UAAU;IACVC,KAAK,SAALA,KAAK;IACLC,SAAS,SAATA,SAAS;IACNC,SAAS;EAEZ,IAAM7B,QAAQ,GAAG,IAAAgB,wBAAW,GAAE;EAC9B,0BAAwB,IAAAN,wCAAiB,GAAE;IAAnCC,WAAW,uBAAXA,WAAW;EACnB,yBAA0BC,KAAK,CAACC,UAAU,CAACC,kCAAgB,CAAC;IAApDC,aAAa,sBAAbA,aAAa;EACrB,qBAA2B,IAAAe,6BAAa,GAAE;IAAA,sCAAlCC,KAAK;IAALA,KAAK,qCAAG,MAAM;EACtB,4BAAiC,IAAAC,8DAA8B,GAAE;IAAlDC,aAAa,yBAApBF,KAAK;EACb,IAAIG,OAAO,GAAGP,KAAK,KAAKQ,SAAS,GAAGR,KAAK,GAAG3B,QAAQ,KAAKiB,kBAAQ,CAACC,KAAK;EAEvE,oBACE,sDACMW,SAAS;IACb,SAAS,EAAE,IAAAO,gBAAU,qBAEnBrC,oBAAoB,CAACC,QAAQ,CAAC,EAC9BuB,WAAW,4BAAgC,EAC3CC,MAAM,6BAAiC,EACvCF,KAAK,0BAA8B,EACnCd,SAAS,IAAIc,KAAK,0BAA8B,EAChDX,WAAW,KAAKQ,kCAAW,CAACkB,MAAM,IAAI,CAACtB,aAAa,6BAAiC,EACrF,CAACT,MAAM,gCAAoC,EAC3C,CAACC,KAAK,+BAAmC,EACzC2B,OAAO,4BAAgC,EACvCjC,eAAe,CAAC8B,KAAK,CAAC,EACtBH,SAAS,CACT;IACF,GAAG,EAAEM,OAAO,GAAGR,UAAU,GAAGD;EAAO,IAElCS,OAAO,gBACN,oBAAC,wBAAW;IAAC,SAAS,0BAA+B;IAAC,QAAQ,EAAC,KAAK;IAAC,UAAU,EAAET;EAAO,gBACtF,oBAAC,aAAa;IAAC,MAAM,EAAEnB,MAAO;IAAC,KAAK,EAAEC,KAAM;IAAC,SAAS,EAAEC;EAAU,GAC/DC,QAAQ,CACK,CACJ,gBAEd,oBAAC,aAAa;IAAC,MAAM,EAAEH,MAAO;IAAC,KAAK,EAAEC,KAAM;IAAC,SAAS,EAAEC;EAAU,GAC/DC,QAAQ,CAEZ,EACAD,SAAS,IAAIc,KAAK,IAAItB,QAAQ,KAAKiB,kBAAQ,CAACC,KAAK,iBAChD,oBAAC,KAAK,CAAC,QAAQ,QACZe,aAAa,CAAC/B,OAAO,iBAAI,oBAAC,oBAAS;IAAC,SAAS,EAAE+B,aAAa,CAAC/B,OAAO,CAAC0B;EAAU,EAAG,EAClFK,aAAa,CAAC9B,OAAO,iBACpB,oBAAC,gBAAO;IAAC,SAAS,EAAE8B,aAAa,CAAC9B,OAAO,CAACyB,SAAU;IAAC,IAAI,EAAE;EAAG,EAC/D,CAEJ,CACG;AAEV,CAAC;AAAC"}
1
+ {"version":3,"file":"PanelHeader.js","names":["getPlatformClassName","platform","sizeXClassNames","compact","regular","none","PanelHeaderIn","before","after","separator","children","useConfigProvider","webviewType","React","useContext","ModalRootContext","isInsideModal","usePlatform","Platform","VKCOM","WebviewType","INTERNAL","PanelHeader","visor","transparent","shadow","getRef","getRootRef","fixed","className","restProps","useAdaptivity","sizeX","useAdaptivityConditionalRender","adaptiveSizeX","isFixed","undefined","classNames","VKAPPS"],"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { useConfigProvider, WebviewType } from '../ConfigProvider/ConfigProviderContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { ModalRootContext } from '../ModalRoot/ModalRootContext';\nimport { Separator } from '../Separator/Separator';\nimport { Spacing } from '../Spacing/Spacing';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './PanelHeader.module.css';\n\nfunction getPlatformClassName(platform: string): string {\n switch (platform) {\n case 'ios':\n return styles['PanelHeader--ios'];\n case 'vkcom':\n return styles['PanelHeader--vkcom'];\n default:\n return styles['PanelHeader--android'];\n }\n}\n\nconst sizeXClassNames = {\n compact: '',\n regular: styles['PanelHeader--sizeX-regular'],\n none: styles['PanelHeader--sizeX-none'],\n};\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n before?: React.ReactNode;\n after?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn = ({ before, after, separator, children }: PanelHeaderProps) => {\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed className={styles['PanelHeader__in']}>\n <div className={styles['PanelHeader__before']}>{before}</div>\n <div className={styles['PanelHeader__content']}>\n {platform === Platform.VKCOM ? (\n <Text weight=\"2\">{children}</Text>\n ) : (\n <span className={styles['PanelHeader__content-in']}>{children}</span>\n )}\n </div>\n <div className={styles['PanelHeader__after']}>\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && after}\n </div>\n </TooltipContainer>\n {separator && platform === Platform.VKCOM && <Separator wide />}\n </React.Fragment>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = ({\n before,\n children,\n after,\n separator = true,\n visor = true,\n transparent = false,\n shadow,\n getRef,\n getRootRef,\n fixed,\n className,\n ...restProps\n}: PanelHeaderProps) => {\n const platform = usePlatform();\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const { sizeX = 'none' } = useAdaptivity();\n const { sizeX: adaptiveSizeX } = useAdaptivityConditionalRender();\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['PanelHeader'],\n getPlatformClassName(platform),\n transparent && styles['PanelHeader--trnsp'],\n shadow && styles['PanelHeader--shadow'],\n visor && styles['PanelHeader--vis'],\n separator && visor && styles['PanelHeader--sep'],\n webviewType === WebviewType.VKAPPS && !isInsideModal && styles['PanelHeader--vkapps'],\n !before && styles['PanelHeader--no-before'],\n !after && styles['PanelHeader--no-after'],\n isFixed && styles['PanelHeader--fixed'],\n sizeXClassNames[sizeX],\n className,\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout className={styles['PanelHeader__fixed']} vertical=\"top\" getRootRef={getRef}>\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n </FixedLayout>\n ) : (\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n )}\n {separator && visor && platform !== Platform.VKCOM && (\n <React.Fragment>\n {adaptiveSizeX.compact && <Separator className={adaptiveSizeX.compact.className} />}\n {adaptiveSizeX.regular && (\n <Spacing className={adaptiveSizeX.regular.className} size={16} />\n )}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"mappings":"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"}