@vkontakte/vkui 5.3.2 → 5.4.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 (792) hide show
  1. package/dist/cjs/components/Accordion/Accordion.d.ts +2 -2
  2. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  3. package/dist/cjs/components/Accordion/AccordionSummary.d.ts +1 -1
  4. package/dist/cjs/components/Accordion/AccordionSummary.js.map +1 -1
  5. package/dist/cjs/components/ActionSheet/types.d.ts +1 -1
  6. package/dist/cjs/components/ActionSheet/types.js.map +1 -1
  7. package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +14 -0
  8. package/dist/cjs/components/{WriteBarIcon/WriteBarIconRenderer.js → AdaptiveIconRenderer/AdaptiveIconRenderer.js} +4 -4
  9. package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -0
  10. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  11. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  12. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  13. package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +3 -3
  14. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  15. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +2 -2
  16. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  17. package/dist/cjs/components/Button/Button.d.ts +1 -0
  18. package/dist/cjs/components/Button/Button.js +2 -2
  19. package/dist/cjs/components/Button/Button.js.map +1 -1
  20. package/dist/cjs/components/Card/Card.js +1 -3
  21. package/dist/cjs/components/Card/Card.js.map +1 -1
  22. package/dist/cjs/components/CardGrid/CardGrid.js +4 -4
  23. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  24. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +4 -2
  25. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +10 -6
  26. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  27. package/dist/cjs/components/Checkbox/Checkbox.d.ts +2 -1
  28. package/dist/cjs/components/Checkbox/Checkbox.js +12 -8
  29. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  30. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  31. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +3 -2
  32. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  33. package/dist/cjs/components/Counter/Counter.js +3 -5
  34. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  35. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +3 -0
  36. package/dist/cjs/components/CustomSelect/CustomSelect.js +1 -1
  37. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  38. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +1 -1
  39. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  40. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +1 -1
  41. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  42. package/dist/cjs/components/Epic/ScrollSaver.d.ts +3 -3
  43. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  44. package/dist/cjs/components/File/File.js +4 -3
  45. package/dist/cjs/components/File/File.js.map +1 -1
  46. package/dist/cjs/components/FixedLayout/FixedLayout.js +1 -1
  47. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  48. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +4 -2
  49. package/dist/cjs/components/FocusVisible/FocusVisible.js +4 -3
  50. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  51. package/dist/cjs/components/FormField/FormField.js +10 -1
  52. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  53. package/dist/cjs/components/FormItem/FormItem.d.ts +3 -1
  54. package/dist/cjs/components/FormItem/FormItem.js +2 -1
  55. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  56. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
  57. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  58. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  59. package/dist/cjs/components/Group/Group.d.ts +5 -3
  60. package/dist/cjs/components/Group/Group.js +2 -2
  61. package/dist/cjs/components/Group/Group.js.map +1 -1
  62. package/dist/cjs/components/Header/Header.js +20 -16
  63. package/dist/cjs/components/Header/Header.js.map +1 -1
  64. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
  65. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +4 -1
  66. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  67. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
  68. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +6 -2
  69. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  70. package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +1 -1
  71. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  72. package/dist/cjs/components/IconButton/IconButton.d.ts +3 -3
  73. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  74. package/dist/cjs/components/LocaleProvider/LocaleProvider.d.ts +2 -2
  75. package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  76. package/dist/cjs/components/ModalPage/ModalPage.d.ts +1 -1
  77. package/dist/cjs/components/ModalPage/ModalPage.js +19 -3
  78. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  79. package/dist/cjs/components/ModalPage/ModalPageContext.d.ts +5 -0
  80. package/dist/cjs/components/{Typography/types.js → ModalPage/ModalPageContext.js} +8 -1
  81. package/dist/cjs/components/ModalPage/ModalPageContext.js.map +1 -0
  82. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +6 -1
  83. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  84. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +2 -27
  85. package/dist/cjs/components/ModalRoot/ModalRoot.js +13 -22
  86. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  87. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
  88. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  89. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
  90. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +145 -219
  91. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  92. package/dist/cjs/components/ModalRoot/types.d.ts +28 -0
  93. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  94. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +6 -5
  95. package/dist/cjs/components/ModalRoot/useModalManager.js +3 -3
  96. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  97. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +6 -2
  98. package/dist/cjs/components/NativeSelect/NativeSelect.js +6 -3
  99. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  100. package/dist/cjs/components/Panel/Panel.js +2 -2
  101. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  102. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +11 -2
  103. package/dist/cjs/components/PanelHeader/PanelHeader.js +17 -7
  104. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  105. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  106. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  107. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  108. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  109. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  110. package/dist/cjs/components/PlatformProvider/PlatformProvider.d.ts +1 -1
  111. package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
  112. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  113. package/dist/cjs/components/Popover/Popover.d.ts +3 -2
  114. package/dist/cjs/components/Popover/Popover.js +5 -3
  115. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  116. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  117. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +3 -4
  118. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  119. package/dist/cjs/components/Radio/Radio.d.ts +2 -1
  120. package/dist/cjs/components/Radio/Radio.js +14 -8
  121. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  122. package/dist/cjs/components/Removable/Removable.d.ts +7 -2
  123. package/dist/cjs/components/Removable/Removable.js +4 -3
  124. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  125. package/dist/cjs/components/Root/Root.js.map +1 -1
  126. package/dist/cjs/components/Search/Search.d.ts +3 -1
  127. package/dist/cjs/components/Search/Search.js +42 -57
  128. package/dist/cjs/components/Search/Search.js.map +1 -1
  129. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
  130. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +8 -4
  131. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  132. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +1 -1
  133. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  134. package/dist/cjs/components/SelectTypography/SelectTypography.d.ts +2 -3
  135. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  136. package/dist/cjs/components/SimpleCell/SimpleCell.js +8 -5
  137. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  138. package/dist/cjs/components/Spacing/Spacing.d.ts +2 -2
  139. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  140. package/dist/cjs/components/SplitCol/SplitCol.js +1 -0
  141. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  142. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +1 -3
  143. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  144. package/dist/cjs/components/Switch/Switch.d.ts +4 -5
  145. package/dist/cjs/components/Switch/Switch.js +12 -8
  146. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  147. package/dist/cjs/components/Tabbar/Tabbar.js +2 -4
  148. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  149. package/dist/cjs/components/TabbarItem/TabbarItem.js +1 -1
  150. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  151. package/dist/cjs/components/Tappable/Tappable.d.ts +2 -3
  152. package/dist/cjs/components/Tappable/Tappable.js +1 -0
  153. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  154. package/dist/cjs/components/Typography/Caption/Caption.d.ts +2 -2
  155. package/dist/cjs/components/Typography/Caption/Caption.js +10 -13
  156. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  157. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +2 -2
  158. package/dist/cjs/components/Typography/Footnote/Footnote.js +10 -13
  159. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  160. package/dist/cjs/components/Typography/Headline/Headline.d.ts +3 -4
  161. package/dist/cjs/components/Typography/Headline/Headline.js +9 -12
  162. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  163. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +3 -5
  164. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +8 -13
  165. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  166. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +2 -2
  167. package/dist/cjs/components/Typography/Subhead/Subhead.js +9 -12
  168. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  169. package/dist/cjs/components/Typography/Text/Text.d.ts +3 -5
  170. package/dist/cjs/components/Typography/Text/Text.js +8 -13
  171. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  172. package/dist/cjs/components/Typography/Title/Title.d.ts +2 -2
  173. package/dist/cjs/components/Typography/Title/Title.js +10 -13
  174. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  175. package/dist/cjs/components/Typography/Typography.d.ts +16 -0
  176. package/dist/cjs/components/Typography/Typography.js +35 -0
  177. package/dist/cjs/components/Typography/Typography.js.map +1 -0
  178. package/dist/cjs/components/UsersStack/UsersStack.d.ts +2 -2
  179. package/dist/cjs/components/UsersStack/UsersStack.js +2 -1
  180. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  181. package/dist/cjs/components/View/View.js +1 -1
  182. package/dist/cjs/components/View/View.js.map +1 -1
  183. package/dist/cjs/components/View/ViewInfinite.js +1 -1
  184. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  185. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
  186. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +29 -0
  187. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  188. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
  189. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js +5 -0
  190. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  191. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
  192. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  193. package/dist/cjs/helpers/getPlatformClassName.js +1 -1
  194. package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
  195. package/dist/cjs/hooks/useFocusWithin.d.ts +2 -0
  196. package/dist/cjs/hooks/useFocusWithin.js +38 -0
  197. package/dist/cjs/hooks/useFocusWithin.js.map +1 -0
  198. package/dist/cjs/hooks/useId.js +1 -1
  199. package/dist/cjs/hooks/useId.js.map +1 -1
  200. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +1 -1
  201. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  202. package/dist/cjs/index.d.ts +4 -2
  203. package/dist/cjs/index.js +8 -0
  204. package/dist/cjs/index.js.map +1 -1
  205. package/dist/cjs/lib/utils.js +2 -2
  206. package/dist/cjs/lib/utils.js.map +1 -1
  207. package/dist/components/Accordion/Accordion.d.ts +2 -2
  208. package/dist/components/Accordion/Accordion.js +2 -2
  209. package/dist/components/Accordion/Accordion.js.map +1 -1
  210. package/dist/components/Accordion/AccordionSummary.d.ts +1 -1
  211. package/dist/components/Accordion/AccordionSummary.js +1 -1
  212. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  213. package/dist/components/ActionSheet/types.d.ts +1 -1
  214. package/dist/components/ActionSheet/types.js.map +1 -1
  215. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +14 -0
  216. package/dist/components/{WriteBarIcon/WriteBarIconRenderer.js → AdaptiveIconRenderer/AdaptiveIconRenderer.js} +5 -2
  217. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -0
  218. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  219. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  220. package/dist/components/Alert/Alert.js.map +1 -1
  221. package/dist/components/AppRoot/AppRootPortal.d.ts +3 -3
  222. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  223. package/dist/components/AppRoot/ScrollContext.d.ts +2 -2
  224. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  225. package/dist/components/Button/Button.d.ts +1 -0
  226. package/dist/components/Button/Button.js +2 -2
  227. package/dist/components/Button/Button.js.map +1 -1
  228. package/dist/components/Card/Card.js +1 -3
  229. package/dist/components/Card/Card.js.map +1 -1
  230. package/dist/components/CardGrid/CardGrid.js +4 -4
  231. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  232. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +4 -2
  233. package/dist/components/Cell/CellCheckbox/CellCheckbox.js +10 -6
  234. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  235. package/dist/components/Checkbox/Checkbox.d.ts +2 -1
  236. package/dist/components/Checkbox/Checkbox.js +12 -8
  237. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  238. package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  239. package/dist/components/ChipsSelect/ChipsSelect.js +3 -2
  240. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  241. package/dist/components/Counter/Counter.js +4 -6
  242. package/dist/components/Counter/Counter.js.map +1 -1
  243. package/dist/components/CustomSelect/CustomSelect.d.ts +3 -0
  244. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  245. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  246. package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
  247. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  248. package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
  249. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  250. package/dist/components/Epic/ScrollSaver.d.ts +3 -3
  251. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  252. package/dist/components/File/File.js +4 -3
  253. package/dist/components/File/File.js.map +1 -1
  254. package/dist/components/FixedLayout/FixedLayout.js +1 -1
  255. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  256. package/dist/components/FocusVisible/FocusVisible.d.ts +4 -2
  257. package/dist/components/FocusVisible/FocusVisible.js +4 -3
  258. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  259. package/dist/components/FormField/FormField.js +10 -1
  260. package/dist/components/FormField/FormField.js.map +1 -1
  261. package/dist/components/FormItem/FormItem.d.ts +3 -1
  262. package/dist/components/FormItem/FormItem.js +2 -1
  263. package/dist/components/FormItem/FormItem.js.map +1 -1
  264. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
  265. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  266. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  267. package/dist/components/Group/Group.d.ts +5 -3
  268. package/dist/components/Group/Group.js +5 -3
  269. package/dist/components/Group/Group.js.map +1 -1
  270. package/dist/components/Header/Header.js +20 -16
  271. package/dist/components/Header/Header.js.map +1 -1
  272. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
  273. package/dist/components/HorizontalScroll/HorizontalScroll.js +4 -1
  274. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  275. package/dist/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
  276. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +6 -2
  277. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  278. package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
  279. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  280. package/dist/components/IconButton/IconButton.d.ts +3 -3
  281. package/dist/components/IconButton/IconButton.js.map +1 -1
  282. package/dist/components/LocaleProvider/LocaleProvider.d.ts +2 -2
  283. package/dist/components/LocaleProvider/LocaleProvider.js +2 -2
  284. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
  285. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  286. package/dist/components/ModalPage/ModalPage.js +19 -3
  287. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  288. package/dist/components/ModalPage/ModalPageContext.d.ts +5 -0
  289. package/dist/components/ModalPage/ModalPageContext.js +4 -0
  290. package/dist/components/ModalPage/ModalPageContext.js.map +1 -0
  291. package/dist/components/ModalPageHeader/ModalPageHeader.js +6 -1
  292. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  293. package/dist/components/ModalRoot/ModalRoot.d.ts +2 -27
  294. package/dist/components/ModalRoot/ModalRoot.js +13 -22
  295. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  296. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
  297. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  298. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
  299. package/dist/components/ModalRoot/ModalRootDesktop.js +149 -223
  300. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  301. package/dist/components/ModalRoot/types.d.ts +28 -0
  302. package/dist/components/ModalRoot/types.js.map +1 -1
  303. package/dist/components/ModalRoot/useModalManager.d.ts +6 -5
  304. package/dist/components/ModalRoot/useModalManager.js +3 -3
  305. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  306. package/dist/components/NativeSelect/NativeSelect.d.ts +6 -2
  307. package/dist/components/NativeSelect/NativeSelect.js +6 -3
  308. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  309. package/dist/components/Panel/Panel.js +2 -2
  310. package/dist/components/Panel/Panel.js.map +1 -1
  311. package/dist/components/PanelHeader/PanelHeader.d.ts +11 -2
  312. package/dist/components/PanelHeader/PanelHeader.js +17 -7
  313. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  314. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  315. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  316. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  317. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  318. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  319. package/dist/components/PlatformProvider/PlatformProvider.d.ts +1 -1
  320. package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
  321. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  322. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  323. package/dist/components/Popover/Popover.d.ts +3 -2
  324. package/dist/components/Popover/Popover.js +5 -3
  325. package/dist/components/Popover/Popover.js.map +1 -1
  326. package/dist/components/PromoBanner/PromoBanner.js +1 -0
  327. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  328. package/dist/components/PullToRefresh/PullToRefresh.d.ts +3 -4
  329. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  330. package/dist/components/Radio/Radio.d.ts +2 -1
  331. package/dist/components/Radio/Radio.js +14 -8
  332. package/dist/components/Radio/Radio.js.map +1 -1
  333. package/dist/components/Removable/Removable.d.ts +7 -2
  334. package/dist/components/Removable/Removable.js +4 -3
  335. package/dist/components/Removable/Removable.js.map +1 -1
  336. package/dist/components/Root/Root.js.map +1 -1
  337. package/dist/components/Search/Search.d.ts +3 -1
  338. package/dist/components/Search/Search.js +42 -57
  339. package/dist/components/Search/Search.js.map +1 -1
  340. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
  341. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +8 -4
  342. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  343. package/dist/components/SelectMimicry/SelectMimicry.js +1 -1
  344. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  345. package/dist/components/SelectTypography/SelectTypography.d.ts +2 -3
  346. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  347. package/dist/components/SimpleCell/SimpleCell.js +8 -5
  348. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  349. package/dist/components/Spacing/Spacing.d.ts +2 -2
  350. package/dist/components/Spacing/Spacing.js.map +1 -1
  351. package/dist/components/SplitCol/SplitCol.js +1 -0
  352. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  353. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -3
  354. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  355. package/dist/components/Switch/Switch.d.ts +4 -5
  356. package/dist/components/Switch/Switch.js +12 -8
  357. package/dist/components/Switch/Switch.js.map +1 -1
  358. package/dist/components/Tabbar/Tabbar.js +2 -4
  359. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  360. package/dist/components/TabbarItem/TabbarItem.js +1 -1
  361. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  362. package/dist/components/Tappable/Tappable.d.ts +2 -3
  363. package/dist/components/Tappable/Tappable.js +1 -0
  364. package/dist/components/Tappable/Tappable.js.map +1 -1
  365. package/dist/components/Typography/Caption/Caption.d.ts +2 -2
  366. package/dist/components/Typography/Caption/Caption.js +10 -13
  367. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  368. package/dist/components/Typography/Footnote/Footnote.d.ts +2 -2
  369. package/dist/components/Typography/Footnote/Footnote.js +10 -13
  370. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  371. package/dist/components/Typography/Headline/Headline.d.ts +3 -4
  372. package/dist/components/Typography/Headline/Headline.js +9 -12
  373. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  374. package/dist/components/Typography/Paragraph/Paragraph.d.ts +3 -5
  375. package/dist/components/Typography/Paragraph/Paragraph.js +8 -13
  376. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  377. package/dist/components/Typography/Subhead/Subhead.d.ts +2 -2
  378. package/dist/components/Typography/Subhead/Subhead.js +9 -12
  379. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  380. package/dist/components/Typography/Text/Text.d.ts +3 -5
  381. package/dist/components/Typography/Text/Text.js +8 -13
  382. package/dist/components/Typography/Text/Text.js.map +1 -1
  383. package/dist/components/Typography/Title/Title.d.ts +2 -2
  384. package/dist/components/Typography/Title/Title.js +10 -13
  385. package/dist/components/Typography/Title/Title.js.map +1 -1
  386. package/dist/components/Typography/Typography.d.ts +16 -0
  387. package/dist/components/Typography/Typography.js +24 -0
  388. package/dist/components/Typography/Typography.js.map +1 -0
  389. package/dist/components/UsersStack/UsersStack.d.ts +2 -2
  390. package/dist/components/UsersStack/UsersStack.js +2 -1
  391. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  392. package/dist/components/View/View.js +1 -1
  393. package/dist/components/View/View.js.map +1 -1
  394. package/dist/components/View/ViewInfinite.js +1 -1
  395. package/dist/components/View/ViewInfinite.js.map +1 -1
  396. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
  397. package/dist/components/VisuallyHidden/VisuallyHidden.js +25 -0
  398. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  399. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
  400. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +9 -4
  401. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  402. package/dist/components/WriteBarIcon/WriteBarIcon.js +2 -2
  403. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  404. package/dist/components.css +49 -49
  405. package/dist/components.css.map +1 -1
  406. package/dist/components.js.tmp +3803 -3693
  407. package/dist/cssm/components/Accordion/Accordion.d.ts +2 -2
  408. package/dist/cssm/components/Accordion/Accordion.js +2 -2
  409. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  410. package/dist/cssm/components/Accordion/Accordion.module.css +13 -1
  411. package/dist/cssm/components/Accordion/AccordionSummary.d.ts +1 -1
  412. package/dist/cssm/components/Accordion/AccordionSummary.js +1 -1
  413. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  414. package/dist/cssm/components/ActionSheet/ActionSheet.module.css +115 -1
  415. package/dist/cssm/components/ActionSheet/types.d.ts +1 -1
  416. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  417. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +241 -1
  418. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +14 -0
  419. package/dist/cssm/components/{WriteBarIcon/WriteBarIconRenderer.js → AdaptiveIconRenderer/AdaptiveIconRenderer.js} +5 -2
  420. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -0
  421. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  422. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  423. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  424. package/dist/cssm/components/Alert/Alert.module.css +287 -1
  425. package/dist/cssm/components/AppRoot/AppRoot.module.css +23 -1
  426. package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +3 -3
  427. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  428. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +2 -2
  429. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  430. package/dist/cssm/components/Avatar/Avatar.module.css +55 -1
  431. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.module.css +29 -1
  432. package/dist/cssm/components/Badge/Badge.module.css +27 -1
  433. package/dist/cssm/components/Banner/Banner.module.css +167 -1
  434. package/dist/cssm/components/BaseGallery/BaseGallery.module.css +82 -1
  435. package/dist/cssm/components/Button/Button.d.ts +1 -0
  436. package/dist/cssm/components/Button/Button.js +2 -1
  437. package/dist/cssm/components/Button/Button.js.map +1 -1
  438. package/dist/cssm/components/Button/Button.module.css +676 -1
  439. package/dist/cssm/components/ButtonGroup/ButtonGroup.module.css +77 -1
  440. package/dist/cssm/components/Calendar/Calendar.module.css +30 -1
  441. package/dist/cssm/components/CalendarDay/CalendarDay.module.css +84 -1
  442. package/dist/cssm/components/CalendarDays/CalendarDays.module.css +31 -1
  443. package/dist/cssm/components/CalendarHeader/CalendarHeader.module.css +41 -1
  444. package/dist/cssm/components/CalendarRange/CalendarRange.module.css +26 -1
  445. package/dist/cssm/components/CalendarTime/CalendarTime.module.css +19 -1
  446. package/dist/cssm/components/Card/Card.js +1 -3
  447. package/dist/cssm/components/Card/Card.js.map +1 -1
  448. package/dist/cssm/components/Card/Card.module.css +131 -3
  449. package/dist/cssm/components/CardGrid/CardGrid.js +4 -4
  450. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  451. package/dist/cssm/components/CardGrid/CardGrid.module.css +59 -1
  452. package/dist/cssm/components/CardScroll/CardScroll.module.css +64 -1
  453. package/dist/cssm/components/Cell/Cell.module.css +63 -1
  454. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +4 -2
  455. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +7 -5
  456. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  457. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.module.css +13 -1
  458. package/dist/cssm/components/Cell/CellDragger/CellDragger.module.css +4 -1
  459. package/dist/cssm/components/CellButton/CellButton.module.css +57 -1
  460. package/dist/cssm/components/Checkbox/Checkbox.d.ts +2 -1
  461. package/dist/cssm/components/Checkbox/Checkbox.js +10 -7
  462. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  463. package/dist/cssm/components/Checkbox/Checkbox.module.css +172 -1
  464. package/dist/cssm/components/Chip/Chip.module.css +67 -1
  465. package/dist/cssm/components/ChipsInput/ChipsInput.module.css +3 -1
  466. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +115 -1
  467. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  468. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
  469. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  470. package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +27 -1
  471. package/dist/cssm/components/ContentCard/ContentCard.module.css +31 -1
  472. package/dist/cssm/components/Counter/Counter.js +4 -6
  473. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  474. package/dist/cssm/components/Counter/Counter.module.css +72 -3
  475. package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +86 -1
  476. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +3 -0
  477. package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
  478. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  479. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +58 -1
  480. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +43 -1
  481. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
  482. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  483. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +81 -1
  484. package/dist/cssm/components/DateInput/DateInput.module.css +30 -1
  485. package/dist/cssm/components/DatePicker/DatePicker.module.css +30 -1
  486. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
  487. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  488. package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +26 -1
  489. package/dist/cssm/components/Div/Div.module.css +4 -1
  490. package/dist/cssm/components/Epic/Epic.module.css +4 -1
  491. package/dist/cssm/components/Epic/ScrollSaver.d.ts +3 -3
  492. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  493. package/dist/cssm/components/File/File.js +4 -3
  494. package/dist/cssm/components/File/File.js.map +1 -1
  495. package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -1
  496. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  497. package/dist/cssm/components/FixedLayout/FixedLayout.module.css +58 -1
  498. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +4 -2
  499. package/dist/cssm/components/FocusVisible/FocusVisible.js +4 -3
  500. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  501. package/dist/cssm/components/FocusVisible/FocusVisible.module.css +104 -1
  502. package/dist/cssm/components/Footer/Footer.module.css +9 -1
  503. package/dist/cssm/components/FormField/FormField.js +10 -1
  504. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  505. package/dist/cssm/components/FormField/FormField.module.css +211 -1
  506. package/dist/cssm/components/FormItem/FormItem.d.ts +3 -1
  507. package/dist/cssm/components/FormItem/FormItem.js +2 -1
  508. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  509. package/dist/cssm/components/FormItem/FormItem.module.css +104 -1
  510. package/dist/cssm/components/FormLayout/FormLayout.module.css +18 -1
  511. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
  512. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  513. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  514. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +61 -1
  515. package/dist/cssm/components/FormStatus/FormStatus.module.css +3 -1
  516. package/dist/cssm/components/Gradient/Gradient.module.css +23 -1
  517. package/dist/cssm/components/GridAvatar/GridAvatar.module.css +37 -1
  518. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css +9 -1
  519. package/dist/cssm/components/Group/Group.d.ts +5 -3
  520. package/dist/cssm/components/Group/Group.js +5 -3
  521. package/dist/cssm/components/Group/Group.js.map +1 -1
  522. package/dist/cssm/components/Group/Group.module.css +166 -1
  523. package/dist/cssm/components/Header/Header.js +23 -18
  524. package/dist/cssm/components/Header/Header.js.map +1 -1
  525. package/dist/cssm/components/Header/Header.module.css +207 -1
  526. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +79 -1
  527. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
  528. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -1
  529. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  530. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +59 -1
  531. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
  532. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +5 -2
  533. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  534. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.module.css +67 -1
  535. package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +1 -1
  536. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  537. package/dist/cssm/components/IconButton/IconButton.d.ts +3 -3
  538. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  539. package/dist/cssm/components/IconButton/IconButton.module.css +152 -1
  540. package/dist/cssm/components/Image/ImageBadge/ImageBadge.module.css +10 -1
  541. package/dist/cssm/components/ImageBase/ImageBase.module.css +131 -1
  542. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +28 -1
  543. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +36 -1
  544. package/dist/cssm/components/InfoRow/InfoRow.module.css +17 -1
  545. package/dist/cssm/components/Input/Input.module.css +101 -1
  546. package/dist/cssm/components/InputLike/InputLike.module.css +31 -1
  547. package/dist/cssm/components/Link/Link.module.css +43 -1
  548. package/dist/cssm/components/List/List.module.css +3 -1
  549. package/dist/cssm/components/LocaleProvider/LocaleProvider.d.ts +2 -2
  550. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +2 -2
  551. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  552. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +78 -1
  553. package/dist/cssm/components/ModalCard/ModalCard.module.css +62 -1
  554. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +102 -1
  555. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.module.css +38 -1
  556. package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
  557. package/dist/cssm/components/ModalPage/ModalPage.js +17 -3
  558. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  559. package/dist/cssm/components/ModalPage/ModalPage.module.css +151 -1
  560. package/dist/cssm/components/ModalPage/ModalPageContext.d.ts +5 -0
  561. package/dist/cssm/components/ModalPage/ModalPageContext.js +4 -0
  562. package/dist/cssm/components/ModalPage/ModalPageContext.js.map +1 -0
  563. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +6 -1
  564. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  565. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +18 -1
  566. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +2 -27
  567. package/dist/cssm/components/ModalRoot/ModalRoot.js +12 -18
  568. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  569. package/dist/cssm/components/ModalRoot/ModalRoot.module.css +65 -1
  570. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
  571. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  572. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
  573. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +106 -125
  574. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  575. package/dist/cssm/components/ModalRoot/types.d.ts +28 -0
  576. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  577. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +6 -5
  578. package/dist/cssm/components/ModalRoot/useModalManager.js +3 -3
  579. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  580. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +6 -2
  581. package/dist/cssm/components/NativeSelect/NativeSelect.js +4 -3
  582. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  583. package/dist/cssm/components/Pagination/Pagination.module.css +83 -1
  584. package/dist/cssm/components/Panel/Panel.js +2 -2
  585. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  586. package/dist/cssm/components/Panel/Panel.module.css +177 -1
  587. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +11 -2
  588. package/dist/cssm/components/PanelHeader/PanelHeader.js +16 -7
  589. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  590. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +321 -1
  591. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  592. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  593. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +111 -1
  594. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  595. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +96 -1
  596. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  597. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  598. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +169 -1
  599. package/dist/cssm/components/Placeholder/Placeholder.module.css +41 -1
  600. package/dist/cssm/components/PlatformProvider/PlatformProvider.d.ts +1 -1
  601. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  602. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  603. package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +32 -1
  604. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -1
  605. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  606. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +96 -1
  607. package/dist/cssm/components/Popover/Popover.d.ts +3 -2
  608. package/dist/cssm/components/Popover/Popover.js +3 -2
  609. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  610. package/dist/cssm/components/Popover/Popover.module.css +28 -1
  611. package/dist/cssm/components/Popper/Popper.module.css +16 -1
  612. package/dist/cssm/components/PopperArrow/PopperArrow.module.css +23 -1
  613. package/dist/cssm/components/Progress/Progress.module.css +12 -1
  614. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -0
  615. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  616. package/dist/cssm/components/PromoBanner/PromoBanner.module.css +39 -1
  617. package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +3 -4
  618. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  619. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +101 -1
  620. package/dist/cssm/components/Radio/Radio.d.ts +2 -1
  621. package/dist/cssm/components/Radio/Radio.js +11 -7
  622. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  623. package/dist/cssm/components/Radio/Radio.module.css +140 -1
  624. package/dist/cssm/components/RadioGroup/RadioGroup.module.css +13 -1
  625. package/dist/cssm/components/Removable/Removable.d.ts +7 -2
  626. package/dist/cssm/components/Removable/Removable.js +2 -2
  627. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  628. package/dist/cssm/components/Removable/Removable.module.css +153 -1
  629. package/dist/cssm/components/RichCell/RichCell.module.css +144 -1
  630. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.module.css +11 -1
  631. package/dist/cssm/components/RichTooltip/RichTooltip.module.css +57 -1
  632. package/dist/cssm/components/Root/Root.js +4 -4
  633. package/dist/cssm/components/Root/Root.js.map +1 -1
  634. package/dist/cssm/components/Root/Root.module.css +136 -1
  635. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +66 -1
  636. package/dist/cssm/components/Search/Search.d.ts +3 -1
  637. package/dist/cssm/components/Search/Search.js +38 -54
  638. package/dist/cssm/components/Search/Search.js.map +1 -1
  639. package/dist/cssm/components/Search/Search.module.css +156 -1
  640. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +64 -1
  641. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
  642. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +7 -4
  643. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  644. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +52 -1
  645. package/dist/cssm/components/Select/Select.module.css +87 -1
  646. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +1 -1
  647. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  648. package/dist/cssm/components/SelectTypography/SelectTypography.d.ts +2 -3
  649. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  650. package/dist/cssm/components/SelectTypography/SelectTypography.module.css +30 -1
  651. package/dist/cssm/components/Separator/Separator.module.css +48 -1
  652. package/dist/cssm/components/SimpleCell/SimpleCell.js +8 -5
  653. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  654. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +223 -1
  655. package/dist/cssm/components/Slider/Slider.module.css +134 -1
  656. package/dist/cssm/components/Snackbar/Snackbar.module.css +165 -1
  657. package/dist/cssm/components/Spacing/Spacing.d.ts +2 -2
  658. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  659. package/dist/cssm/components/Spacing/Spacing.module.css +4 -1
  660. package/dist/cssm/components/Spinner/Spinner.module.css +36 -1
  661. package/dist/cssm/components/SplitCol/SplitCol.js +1 -0
  662. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  663. package/dist/cssm/components/SplitCol/SplitCol.module.css +51 -1
  664. package/dist/cssm/components/SplitLayout/SplitLayout.module.css +29 -1
  665. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.module.css +16 -1
  666. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -3
  667. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  668. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +166 -1
  669. package/dist/cssm/components/Switch/Switch.d.ts +4 -5
  670. package/dist/cssm/components/Switch/Switch.js +11 -8
  671. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  672. package/dist/cssm/components/Switch/Switch.module.css +200 -1
  673. package/dist/cssm/components/Tabbar/Tabbar.js +2 -4
  674. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  675. package/dist/cssm/components/Tabbar/Tabbar.module.css +34 -1
  676. package/dist/cssm/components/TabbarItem/TabbarItem.js +1 -1
  677. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  678. package/dist/cssm/components/TabbarItem/TabbarItem.module.css +118 -1
  679. package/dist/cssm/components/Tabs/Tabs.module.css +62 -1
  680. package/dist/cssm/components/TabsItem/TabsItem.module.css +229 -1
  681. package/dist/cssm/components/Tappable/Tappable.d.ts +2 -3
  682. package/dist/cssm/components/Tappable/Tappable.js +1 -0
  683. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  684. package/dist/cssm/components/Tappable/Tappable.module.css +142 -1
  685. package/dist/cssm/components/TextTooltip/TextTooltip.module.css +58 -1
  686. package/dist/cssm/components/Textarea/Textarea.module.css +87 -1
  687. package/dist/cssm/components/Tooltip/Tooltip.module.css +57 -1
  688. package/dist/cssm/components/Typography/Caption/Caption.d.ts +2 -2
  689. package/dist/cssm/components/Typography/Caption/Caption.js +9 -10
  690. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  691. package/dist/cssm/components/Typography/Caption/Caption.module.css +45 -1
  692. package/dist/cssm/components/Typography/Footnote/Footnote.d.ts +2 -2
  693. package/dist/cssm/components/Typography/Footnote/Footnote.js +7 -10
  694. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  695. package/dist/cssm/components/Typography/Footnote/Footnote.module.css +14 -1
  696. package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -4
  697. package/dist/cssm/components/Typography/Headline/Headline.js +9 -10
  698. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  699. package/dist/cssm/components/Typography/Headline/Headline.module.css +48 -1
  700. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +3 -5
  701. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +8 -10
  702. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  703. package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +6 -1
  704. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +2 -2
  705. package/dist/cssm/components/Typography/Subhead/Subhead.js +8 -9
  706. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  707. package/dist/cssm/components/Typography/Subhead/Subhead.module.css +18 -1
  708. package/dist/cssm/components/Typography/Text/Text.d.ts +3 -5
  709. package/dist/cssm/components/Typography/Text/Text.js +8 -10
  710. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  711. package/dist/cssm/components/Typography/Text/Text.module.css +29 -1
  712. package/dist/cssm/components/Typography/Title/Title.d.ts +2 -2
  713. package/dist/cssm/components/Typography/Title/Title.js +9 -10
  714. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  715. package/dist/cssm/components/Typography/Title/Title.module.css +20 -1
  716. package/dist/cssm/components/Typography/Typography.d.ts +16 -0
  717. package/dist/cssm/components/Typography/Typography.js +14 -0
  718. package/dist/cssm/components/Typography/Typography.js.map +1 -0
  719. package/dist/cssm/components/Typography/Typography.module.css +18 -0
  720. package/dist/cssm/components/UsersStack/UsersStack.d.ts +2 -2
  721. package/dist/cssm/components/UsersStack/UsersStack.js +2 -1
  722. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  723. package/dist/cssm/components/UsersStack/UsersStack.module.css +77 -1
  724. package/dist/cssm/components/View/View.js +6 -7
  725. package/dist/cssm/components/View/View.js.map +1 -1
  726. package/dist/cssm/components/View/View.module.css +228 -1
  727. package/dist/cssm/components/View/ViewInfinite.js +6 -7
  728. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  729. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
  730. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +19 -0
  731. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  732. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.module.css +10 -0
  733. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
  734. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +9 -4
  735. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  736. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.module.css +10 -1
  737. package/dist/cssm/components/WriteBar/WriteBar.module.css +119 -1
  738. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +2 -2
  739. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  740. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +66 -1
  741. package/dist/cssm/helpers/getPlatformClassName.js +1 -1
  742. package/dist/cssm/helpers/getPlatformClassName.js.map +1 -1
  743. package/dist/cssm/hooks/useFocusWithin.d.ts +2 -0
  744. package/dist/cssm/hooks/useFocusWithin.js +26 -0
  745. package/dist/cssm/hooks/useFocusWithin.js.map +1 -0
  746. package/dist/cssm/hooks/useId.js +1 -1
  747. package/dist/cssm/hooks/useId.js.map +1 -1
  748. package/dist/cssm/hooks/useWaitTransitionFinish.d.ts +1 -1
  749. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  750. package/dist/cssm/index.d.ts +4 -2
  751. package/dist/cssm/index.js +2 -1
  752. package/dist/cssm/index.js.map +1 -1
  753. package/dist/cssm/lib/utils.js +2 -2
  754. package/dist/cssm/lib/utils.js.map +1 -1
  755. package/dist/cssm/styles/adaptivity.module.css +87 -1
  756. package/dist/cssm/styles/common.css +36 -1
  757. package/dist/cssm/styles/constants.css +86 -1
  758. package/dist/cssm/styles/themes.css +1039 -1
  759. package/dist/helpers/getPlatformClassName.js +1 -1
  760. package/dist/helpers/getPlatformClassName.js.map +1 -1
  761. package/dist/hooks/useFocusWithin.d.ts +2 -0
  762. package/dist/hooks/useFocusWithin.js +27 -0
  763. package/dist/hooks/useFocusWithin.js.map +1 -0
  764. package/dist/hooks/useId.js +1 -1
  765. package/dist/hooks/useId.js.map +1 -1
  766. package/dist/hooks/useWaitTransitionFinish.d.ts +1 -1
  767. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  768. package/dist/index.d.ts +4 -2
  769. package/dist/index.js +2 -0
  770. package/dist/index.js.map +1 -1
  771. package/dist/lib/utils.js +2 -2
  772. package/dist/lib/utils.js.map +1 -1
  773. package/dist/vkui.css +50 -50
  774. package/dist/vkui.css.map +1 -1
  775. package/dist/vkui.js.tmp +3803 -3693
  776. package/package.json +24 -17
  777. package/dist/cjs/components/Typography/types.d.ts +0 -11
  778. package/dist/cjs/components/Typography/types.js.map +0 -1
  779. package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
  780. package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
  781. package/dist/components/Typography/types.d.ts +0 -11
  782. package/dist/components/Typography/types.js +0 -3
  783. package/dist/components/Typography/types.js.map +0 -1
  784. package/dist/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
  785. package/dist/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
  786. package/dist/cssm/components/Typography/types.d.ts +0 -11
  787. package/dist/cssm/components/Typography/types.js +0 -3
  788. package/dist/cssm/components/Typography/types.js.map +0 -1
  789. package/dist/cssm/components/View/ViewIOS.module.css +0 -1
  790. package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
  791. package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
  792. package/dist/cssm/styles/animations.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalPageHeader/ModalPageHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef } from '../../types';\nimport { PanelHeader, PanelHeaderProps } from '../PanelHeader/PanelHeader';\nimport { Separator } from '../Separator/Separator';\nimport styles from './ModalPageHeader.module.css';\n\nexport interface ModalPageHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<PanelHeaderProps, 'fixed' | 'shadow'>,\n HasRef<HTMLDivElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalPageHeader\n */\nexport const ModalPageHeader = ({\n children,\n separator = true,\n getRef,\n className,\n ...restProps\n}: ModalPageHeaderProps) => {\n const platform = usePlatform();\n const hasSeparator = separator && platform === Platform.VKCOM;\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n return (\n <div\n className={classNames(\n styles['ModalPageHeader'],\n platform !== Platform.VKCOM && styles['ModalPageHeader--withGaps'],\n isDesktop && styles['ModalPageHeader--desktop'],\n )}\n ref={getRef}\n >\n <PanelHeader\n className={classNames('vkuiInternalModalPageHeader__in', className)}\n {...restProps}\n fixed={false}\n separator={false}\n transparent\n >\n {children}\n </PanelHeader>\n {hasSeparator && <Separator wide />}\n </div>\n );\n};\n"],"names":["ModalPageHeader","children","separator","getRef","className","restProps","platform","usePlatform","hasSeparator","Platform","VKCOM","isDesktop","useAdaptivityWithJSMediaQueries","div","classNames","ref","PanelHeader","fixed","transparent","Separator","wide"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;;2DAlBU;oBACI;+CACqB;2BACpB;wBACH;2BAEqB;yBACpB;AAWnB,IAAMA,kBAAkB,iBAMH;QAL1BC,kBAAAA,oCACAC,WAAAA,0CAAY,IAAI,qBAChBC,gBAAAA,QACAC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,IAAAA,wBAAW;IAC5B,IAAMC,eAAeN,aAAaI,aAAaG,kBAAQ,CAACC,KAAK;IAC7D,IAAM,AAAEC,YAAcC,IAAAA,gEAA+B,IAA7CD;IAER,qBACE,qBAACE;QACCT,WAAWU,IAAAA,gBAAU,yBAEnBR,aAAaG,kBAAQ,CAACC,KAAK,qCAC3BC;QAEFI,KAAKZ;qBAEL,qBAACa,wBAAW;QACVZ,WAAWU,IAAAA,gBAAU,EAAC,mCAAmCV;OACrDC;QACJY,OAAO,KAAK;QACZf,WAAW,KAAK;QAChBgB,aAAAA,IAAW;QAEVjB,WAEFO,8BAAgB,qBAACW,oBAAS;QAACC,MAAAA,IAAI;;AAGtC"}
1
+ {"version":3,"sources":["../../../../src/components/ModalPageHeader/ModalPageHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef } from '../../types';\nimport { ModalPageContext } from '../ModalPage/ModalPageContext';\nimport { PanelHeader, PanelHeaderProps } from '../PanelHeader/PanelHeader';\nimport { Separator } from '../Separator/Separator';\nimport styles from './ModalPageHeader.module.css';\n\nexport interface ModalPageHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<PanelHeaderProps, 'fixed' | 'shadow'>,\n HasRef<HTMLDivElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalPageHeader\n */\nexport const ModalPageHeader = ({\n children,\n separator = true,\n getRef,\n className,\n ...restProps\n}: ModalPageHeaderProps) => {\n const platform = usePlatform();\n const hasSeparator = separator && platform === Platform.VKCOM;\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n const { labelId } = React.useContext(ModalPageContext);\n\n return (\n <div\n className={classNames(\n styles['ModalPageHeader'],\n platform !== Platform.VKCOM && styles['ModalPageHeader--withGaps'],\n isDesktop && styles['ModalPageHeader--desktop'],\n )}\n ref={getRef}\n >\n <PanelHeader\n className={classNames('vkuiInternalModalPageHeader__in', className)}\n {...restProps}\n fixed={false}\n separator={false}\n transparent\n >\n <PanelHeader.Content Component=\"h2\" id={labelId}>\n {children}\n </PanelHeader.Content>\n </PanelHeader>\n {hasSeparator && <Separator wide />}\n </div>\n );\n};\n"],"names":["ModalPageHeader","children","separator","getRef","className","restProps","platform","usePlatform","hasSeparator","Platform","VKCOM","isDesktop","useAdaptivityWithJSMediaQueries","labelId","React","useContext","ModalPageContext","div","classNames","ref","PanelHeader","fixed","transparent","Content","Component","id","Separator","wide"],"mappings":";;;;+BAmBaA;;;eAAAA;;;;;;;2DAnBU;oBACI;+CACqB;2BACpB;wBACH;gCAEQ;2BACa;yBACpB;AAWnB,IAAMA,kBAAkB,iBAMH;QAL1BC,kBAAAA,oCACAC,WAAAA,0CAAY,IAAI,qBAChBC,gBAAAA,QACAC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,IAAAA,wBAAW;IAC5B,IAAMC,eAAeN,aAAaI,aAAaG,kBAAQ,CAACC,KAAK;IAC7D,IAAM,AAAEC,YAAcC,IAAAA,gEAA+B,IAA7CD;IACR,IAAM,AAAEE,UAAYC,OAAMC,UAAU,CAACC,kCAAgB,EAA7CH;IAER,qBACE,qBAACI;QACCb,WAAWc,IAAAA,gBAAU,yBAEnBZ,aAAaG,kBAAQ,CAACC,KAAK,qCAC3BC;QAEFQ,KAAKhB;qBAEL,qBAACiB,wBAAW;QACVhB,WAAWc,IAAAA,gBAAU,EAAC,mCAAmCd;OACrDC;QACJgB,OAAO,KAAK;QACZnB,WAAW,KAAK;QAChBoB,aAAAA,IAAW;sBAEX,qBAACF,wBAAW,CAACG,OAAO;QAACC,WAAU;QAAKC,IAAIZ;OACrCZ,YAGJO,8BAAgB,qBAACkB,oBAAS;QAACC,MAAAA,IAAI;;AAGtC"}
@@ -1,28 +1,3 @@
1
1
  import * as React from 'react';
2
- import { HasPlatform } from '../../types';
3
- import { ConfigProviderContextInterface } from '../ConfigProvider/ConfigProviderContext';
4
- export interface ModalRootProps extends HasPlatform {
5
- activeModal?: string | null;
6
- /**
7
- * Будет вызвано при начале открытия активной модалки с её id
8
- */
9
- onOpen?(modalId: string): void;
10
- /**
11
- * Будет вызвано при окончательном открытии активной модалки с её id
12
- */
13
- onOpened?(modalId: string): void;
14
- /**
15
- * Будет вызвано при начале закрытия активной модалки с её id
16
- */
17
- onClose?(modalId: string): void;
18
- /**
19
- * Будет вызвано при окончательном закрытии активной модалки с её id
20
- */
21
- onClosed?(modalId: string): void;
22
- /**
23
- * @ignore
24
- */
25
- configProvider?: ConfigProviderContextInterface;
26
- children?: React.ReactNode;
27
- }
28
- export declare const ModalRootTouch: React.FC<Omit<ModalRootProps, "platform">>;
2
+ import { ModalRootWithDOMProps } from './types';
3
+ export declare const ModalRootTouch: React.FC<Omit<ModalRootWithDOMProps, "platform">>;
@@ -76,11 +76,11 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
76
76
  return false;
77
77
  });
78
78
  _defineProperty(_assertThisInitialized(_this), "updateModalTranslate", function() {
79
- var modalState = _this.getModalState(_this.props.activeModal);
79
+ var modalState = _this.props.getModalState(_this.props.activeModal);
80
80
  modalState && _this.animateTranslate(modalState, modalState.translateY);
81
81
  });
82
82
  _defineProperty(_assertThisInitialized(_this), "updateModalHeight", function() {
83
- var modalState = _this.getModalState(_this.props.activeModal);
83
+ var modalState = _this.props.getModalState(_this.props.activeModal);
84
84
  if (modalState && modalState.type === _types.ModalType.PAGE && modalState.dynamicContentHeight) {
85
85
  if (_this.props.enteringModal) {
86
86
  _this.waitTransitionFinish(modalState, function() {
@@ -99,7 +99,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
99
99
  if (_this.props.exitingModal) {
100
100
  return;
101
101
  }
102
- var modalState = _this.getModalState(_this.props.activeModal);
102
+ var modalState = _this.props.getModalState(_this.props.activeModal);
103
103
  if (!modalState) {
104
104
  return;
105
105
  }
@@ -111,7 +111,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
111
111
  }
112
112
  });
113
113
  _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function(e) {
114
- var modalState = _this.getModalState(_this.props.activeModal);
114
+ var modalState = _this.props.getModalState(_this.props.activeModal);
115
115
  if ((modalState === null || modalState === void 0 ? void 0 : modalState.type) === _types.ModalType.PAGE) {
116
116
  return _this.onPageTouchEnd(e, modalState);
117
117
  }
@@ -126,7 +126,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
126
126
  if (!activeModal) {
127
127
  return;
128
128
  }
129
- var modalState = _this.getModalState(activeModal);
129
+ var modalState = _this.props.getModalState(activeModal);
130
130
  if ((modalState === null || modalState === void 0 ? void 0 : modalState.type) === _types.ModalType.PAGE && (modalState === null || modalState === void 0 ? void 0 : (_modalState_contentElement = modalState.contentElement) === null || _modalState_contentElement === void 0 ? void 0 : _modalState_contentElement.contains(target))) {
131
131
  modalState.contentScrolled = true;
132
132
  if (modalState.contentScrollStopTimeout) {
@@ -144,14 +144,14 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
144
144
  dragging: false
145
145
  };
146
146
  _this.maskElementRef = /*#__PURE__*/ _react.createRef();
147
- var _this_getModalState;
147
+ var _this_props_getModalState;
148
148
  _this.modalRootContext = {
149
149
  updateModalHeight: _this.updateModalHeight,
150
150
  registerModal: function(_param) {
151
151
  var id = _param.id, data = _objectWithoutProperties(_param, [
152
152
  "id"
153
153
  ]);
154
- return Object.assign((_this_getModalState = _this.getModalState(id)) !== null && _this_getModalState !== void 0 ? _this_getModalState : {}, data);
154
+ return Object.assign((_this_props_getModalState = _this.props.getModalState(id)) !== null && _this_props_getModalState !== void 0 ? _this_props_getModalState : {}, data);
155
155
  },
156
156
  onClose: function() {
157
157
  return _this.props.onExit();
@@ -180,15 +180,6 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
180
180
  return this.props.window;
181
181
  }
182
182
  },
183
- {
184
- key: "getModalState",
185
- value: function getModalState(id) {
186
- if (!id) {
187
- return undefined;
188
- }
189
- return this.props.getModalState(id);
190
- }
191
- },
192
183
  {
193
184
  key: "getModals",
194
185
  value: function getModals() {
@@ -223,7 +214,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
223
214
  // transition phase 3: animate entering modal
224
215
  if (this.props.enteringModal && this.props.enteringModal !== prevProps.enteringModal) {
225
216
  var enteringModal = this.props.enteringModal;
226
- var enteringState = this.getModalState(enteringModal);
217
+ var enteringState = this.props.getModalState(enteringModal);
227
218
  this.props.onEnter();
228
219
  this.waitTransitionFinish(enteringState, function() {
229
220
  if (enteringState === null || enteringState === void 0 ? void 0 : enteringState.innerElement) {
@@ -272,7 +263,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
272
263
  {
273
264
  key: "checkPageContentHeight",
274
265
  value: function checkPageContentHeight() {
275
- var modalState = this.getModalState(this.props.activeModal);
266
+ var modalState = this.props.getModalState(this.props.activeModal);
276
267
  if ((modalState === null || modalState === void 0 ? void 0 : modalState.type) === _types.ModalType.PAGE && (modalState === null || modalState === void 0 ? void 0 : modalState.modalElement)) {
277
268
  var prevModalState = _objectSpread({}, modalState);
278
269
  initPageModal(modalState);
@@ -299,12 +290,12 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
299
290
  this.setState({
300
291
  touchDown: false
301
292
  });
302
- var prevModalState = this.getModalState(id);
293
+ var prevModalState = this.props.getModalState(id);
303
294
  if (!prevModalState) {
304
295
  id && warn("closeActiveModal: модальное окно (страница) ".concat(id, " не существует"), "error");
305
296
  return;
306
297
  }
307
- var nextModalState = this.getModalState(this.props.activeModal);
298
+ var nextModalState = this.props.getModalState(this.props.activeModal);
308
299
  var nextIsPage = !!nextModalState && nextModalState.type === _types.ModalType.PAGE;
309
300
  var prevIsPage = !!prevModalState && prevModalState.type === _types.ModalType.PAGE;
310
301
  this.waitTransitionFinish(prevModalState, function() {
@@ -570,7 +561,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
570
561
  ref: this.viewportRef
571
562
  }, this.getModals().map(function(Modal) {
572
563
  var modalId = (0, _getNavId.getNavId)(Modal.props, warn);
573
- var _modalState = _this.getModalState(modalId);
564
+ var _modalState = _this.props.getModalState(modalId);
574
565
  if (modalId !== activeModal && modalId !== exitingModal || !_modalState) {
575
566
  return null;
576
567
  }
@@ -580,7 +571,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
580
571
  return /*#__PURE__*/ _react.createElement(_focusTrap.FocusTrap, {
581
572
  key: key,
582
573
  getRootRef: function(e) {
583
- var modalState = _this.getModalState(modalId);
574
+ var modalState = _this.props.getModalState(modalId);
584
575
  if (modalState) {
585
576
  modalState.modalElement = e;
586
577
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRoot.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 { setTransformStyle } from '../../lib/styles';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { rubber } from '../../lib/touch';\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 { Touch, TouchEvent } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport { MODAL_PAGE_DEFAULT_PERCENT_HEIGHT } from './constants';\nimport { ModalsStateEntry, ModalType, TranslateRange } from './types';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nfunction numberInRange(number: number, range: TranslateRange | undefined) {\n if (!range) {\n return false;\n }\n return number >= range[0] && number <= range[1];\n}\n\nfunction rangeTranslate(number: number) {\n return clamp(number, 0, 98);\n}\n\nexport interface ModalRootProps extends HasPlatform {\n activeModal?: string | null;\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 /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n children?: React.ReactNode;\n}\n\ninterface ModalRootState {\n touchDown?: boolean;\n dragging?: boolean;\n}\n\nclass ModalRootTouchComponent extends React.Component<\n ModalRootProps & DOMProps & ModalTransitionProps,\n ModalRootState\n> {\n constructor(props: ModalRootProps & ModalTransitionProps) {\n super(props);\n this.state = {\n touchDown: false,\n dragging: false,\n };\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: this.updateModalHeight,\n registerModal: ({ id, ...data }) => Object.assign(this.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n\n this.frameIds = {};\n }\n\n private documentScrolling = false;\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private readonly viewportRef = React.createRef<HTMLDivElement>();\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private readonly frameIds: {\n [index: string]: number;\n };\n private restoreFocusTo: HTMLElement | undefined | null = undefined;\n\n get timeout(): number {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n getModalState(id: string | undefined | null) {\n if (!id) {\n return undefined;\n }\n return this.props.getModalState(id);\n }\n\n getModals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n componentDidMount() {\n // Отслеживаем изменение размеров viewport (Необходимо для iOS)\n if (this.props.platform === Platform.IOS) {\n this.window?.addEventListener('resize', this.updateModalTranslate, false);\n }\n }\n\n componentWillUnmount() {\n this.toggleDocumentScrolling(true);\n this.window!.removeEventListener('resize', this.updateModalTranslate, false);\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 const { enteringModal } = this.props;\n const enteringState = this.getModalState(enteringModal);\n this.props.onEnter();\n this.waitTransitionFinish(enteringState, () => {\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transitionDelay = '';\n }\n this.props.onEntered(enteringModal);\n });\n\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transitionDelay = this.props.delayEnter\n ? `${this.timeout}ms`\n : '';\n this.animateTranslate(enteringState, enteringState.translateY);\n }\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = this.document!.activeElement as HTMLElement;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = null;\n }\n\n this.toggleDocumentScrolling(!this.props.activeModal && !this.props.exitingModal);\n }\n\n /* Отключает скролл документа */\n toggleDocumentScrolling(enabled: boolean) {\n if (this.documentScrolling === enabled) {\n return;\n }\n this.documentScrolling = enabled;\n\n if (enabled) {\n // Здесь нужен последний аргумент с такими же параметрами, потому что\n // некоторые браузеры на странных вендорах типа Meizu не удаляют обработчик.\n // https://github.com/VKCOM/VKUI/issues/444\n this.window!.removeEventListener('touchmove', this.preventTouch, {\n // @ts-expect-error: TS2769 В интерфейсе EventListenerOptions нет поля passive\n passive: false,\n });\n } else {\n this.window!.addEventListener('touchmove', this.preventTouch, {\n passive: false,\n });\n }\n }\n\n preventTouch = (event: any) => {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault) {\n event.preventDefault();\n }\n return false;\n };\n\n updateModalTranslate = () => {\n const modalState = this.getModalState(this.props.activeModal);\n modalState && this.animateTranslate(modalState, modalState.translateY);\n };\n\n checkPageContentHeight() {\n const modalState = this.getModalState(this.props.activeModal);\n\n if (modalState?.type === ModalType.PAGE && modalState?.modalElement) {\n const prevModalState = { ...modalState };\n initPageModal(modalState);\n const currentModalState = { ...modalState };\n\n let needAnimate = false;\n\n if (prevModalState.expandable === currentModalState.expandable) {\n if (prevModalState.translateYFrom !== currentModalState.translateYFrom) {\n needAnimate = true;\n }\n } else {\n needAnimate = true;\n }\n\n if (needAnimate) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n }\n }\n\n updateModalHeight = () => {\n const modalState = this.getModalState(this.props.activeModal);\n\n if (modalState && modalState.type === ModalType.PAGE && modalState.dynamicContentHeight) {\n if (this.props.enteringModal) {\n this.waitTransitionFinish(modalState, () => {\n requestAnimationFrame(() => this.checkPageContentHeight());\n });\n } else {\n requestAnimationFrame(() => this.checkPageContentHeight());\n }\n }\n };\n\n closeModal(id: string) {\n // Сбрасываем состояния, которые могут помешать закрытию модального окна\n this.setState({ touchDown: false });\n\n const prevModalState = this.getModalState(id);\n\n if (!prevModalState) {\n id && warn(`closeActiveModal: модальное окно (страница) ${id} не существует`, 'error');\n return;\n }\n\n const nextModalState = this.getModalState(this.props.activeModal);\n const nextIsPage = !!nextModalState && nextModalState.type === ModalType.PAGE;\n\n const prevIsPage = !!prevModalState && prevModalState.type === ModalType.PAGE;\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n const exitTranslate =\n prevIsPage &&\n nextIsPage &&\n (prevModalState.translateY ?? 0) <= (nextModalState?.translateYFrom ?? 0) &&\n !this.props.isBack\n ? (nextModalState?.translateYFrom ?? 0) + 10\n : 100;\n this.animateTranslate(prevModalState, exitTranslate);\n\n if (!nextModalState) {\n // NOTE: was only for clean exit\n this.setMaskOpacity(prevModalState, 0);\n }\n }\n\n onTouchMove = (e: TouchEvent) => {\n if (this.props.exitingModal) {\n return;\n }\n const modalState = this.getModalState(this.props.activeModal);\n if (!modalState) {\n return;\n }\n\n if (modalState.type === ModalType.PAGE) {\n return this.onPageTouchMove(e, modalState);\n }\n\n if (modalState.type === ModalType.CARD) {\n return this.onCardTouchMove(e, modalState);\n }\n };\n\n onPageTouchMove(event: TouchEvent, modalState: ModalsStateEntry) {\n const { shiftY, originalEvent } = event;\n const target = originalEvent.target as HTMLElement;\n\n if (!event.isY) {\n if (this.viewportRef.current?.contains(target)) {\n originalEvent.preventDefault();\n }\n return;\n }\n\n if (!modalState.innerElement?.contains(target)) {\n return originalEvent.preventDefault();\n }\n\n originalEvent.stopPropagation();\n\n const { expandable, contentScrolled, collapsed, expanded } = modalState;\n\n if (!this.state.touchDown) {\n modalState.touchStartContentScrollTop = modalState.contentElement?.scrollTop ?? 0;\n this.setState({ touchDown: true });\n }\n\n if (contentScrolled) {\n return;\n }\n\n if (modalState.touchMovePositive === null) {\n modalState.touchMovePositive = shiftY > 0;\n }\n\n if (\n !modalState.expandable ||\n collapsed ||\n (expanded && modalState.touchMovePositive && modalState.touchStartContentScrollTop === 0) ||\n modalState.headerElement?.contains(target)\n ) {\n originalEvent.preventDefault();\n\n if ((!expandable && shiftY < 0) || !this.window) {\n return;\n }\n\n !this.state.dragging && this.setState({ dragging: true });\n\n const shiftYPercent = (shiftY / this.window.innerHeight) * 100;\n const shiftYCurrent = rubber(shiftYPercent, 72, 0.8, this.props.platform !== Platform.IOS);\n\n modalState.touchShiftYPercent = shiftYPercent;\n modalState.translateYCurrent = rangeTranslate((modalState.translateY ?? 0) + shiftYCurrent);\n\n this.animateTranslate(modalState, modalState.translateYCurrent);\n this.setMaskOpacity(modalState);\n }\n }\n\n onCardTouchMove(event: TouchEvent, modalState: ModalsStateEntry) {\n const { originalEvent, shiftY } = event;\n const target = originalEvent.target as HTMLElement;\n if (modalState.innerElement?.contains(target)) {\n if (!this.state.touchDown) {\n this.setState({ touchDown: true, dragging: true });\n }\n\n const shiftYPercent = (shiftY / modalState.innerElement.offsetHeight) * 100;\n const shiftYCurrent = rubber(shiftYPercent, 72, 1.2, this.props.platform !== Platform.IOS);\n\n modalState.touchShiftYPercent = shiftYPercent;\n modalState.translateYCurrent = Math.max(0, (modalState.translateY ?? 0) + shiftYCurrent);\n\n this.animateTranslate(modalState, modalState.translateYCurrent);\n this.setMaskOpacity(modalState);\n }\n }\n\n onTouchEnd = (e: TouchEvent) => {\n const modalState = this.getModalState(this.props.activeModal);\n\n if (modalState?.type === ModalType.PAGE) {\n return this.onPageTouchEnd(e, modalState);\n }\n\n if (modalState?.type === ModalType.CARD) {\n return this.onCardTouchEnd(e, modalState);\n }\n };\n\n onPageTouchEnd(event: TouchEvent, modalState: ModalsStateEntry) {\n const { startY, shiftY } = event;\n\n modalState.contentScrolled = false;\n modalState.touchMovePositive = null;\n\n let setStateCallback;\n\n if (this.state.dragging && this.window) {\n const shiftYEndPercent = ((startY + shiftY) / this.window.innerHeight) * 100;\n\n let translateY = modalState.translateYCurrent ?? 0;\n const expectTranslateY =\n (translateY / event.duration) *\n 240 *\n 0.6 *\n ((modalState.touchShiftYPercent ?? 0) < 0 ? -1 : 1);\n translateY = rangeTranslate(translateY + expectTranslateY);\n\n if (modalState.settlingHeight !== 100) {\n if (numberInRange(translateY, modalState.expandedRange)) {\n translateY = modalState.expandedRange?.[0] ?? 0;\n } else if (numberInRange(translateY, modalState.collapsedRange)) {\n translateY = modalState.translateYFrom ?? 0;\n } else if (numberInRange(translateY, modalState.hiddenRange)) {\n translateY = 100;\n } else {\n translateY = modalState.translateYFrom ?? 0;\n }\n } else {\n if (numberInRange(translateY, [0, 25])) {\n translateY = 0;\n } else {\n translateY = 100;\n }\n }\n\n if (translateY !== 100 && shiftYEndPercent >= 75) {\n translateY = 100;\n }\n\n modalState.translateY = translateY;\n modalState.translateYCurrent = translateY;\n modalState.collapsed = translateY > 0 && translateY < shiftYEndPercent;\n modalState.expanded = translateY === 0;\n modalState.hidden = translateY === 100;\n\n if (modalState.hidden) {\n this.props.onExit();\n }\n\n setStateCallback = () => {\n if (!modalState.hidden) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n\n this.setMaskOpacity(modalState);\n };\n }\n\n this.setState(\n {\n touchDown: false,\n dragging: false,\n },\n setStateCallback,\n );\n }\n\n onCardTouchEnd({ duration }: TouchEvent, modalState: ModalsStateEntry) {\n let setStateCallback;\n\n if (this.state.dragging) {\n let translateY = modalState.translateYCurrent ?? 0;\n\n const expectTranslateY =\n (translateY / duration) * 240 * 0.6 * ((modalState.touchShiftYPercent ?? 0) < 0 ? -1 : 1);\n translateY = Math.max(0, translateY + expectTranslateY);\n\n if (translateY >= 30) {\n translateY = 100;\n } else {\n translateY = 0;\n }\n\n modalState.translateY = translateY;\n modalState.hidden = translateY === 100;\n\n if (modalState.hidden) {\n this.props.onExit();\n }\n\n setStateCallback = () => {\n if (!modalState.hidden) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n\n this.setMaskOpacity(modalState);\n };\n }\n\n this.setState(\n {\n touchDown: false,\n dragging: false,\n },\n setStateCallback,\n );\n }\n\n onScroll = (e: React.SyntheticEvent) => {\n const activeModal = this.props.activeModal;\n\n const target = e.target as HTMLElement;\n\n if (!activeModal) {\n return;\n }\n const modalState = this.getModalState(activeModal);\n if (modalState?.type === ModalType.PAGE && modalState?.contentElement?.contains(target)) {\n modalState.contentScrolled = true;\n\n if (modalState.contentScrollStopTimeout) {\n clearTimeout(modalState.contentScrollStopTimeout);\n }\n\n modalState.contentScrollStopTimeout = setTimeout(() => {\n if (modalState.contentScrolled) {\n modalState.contentScrolled = false;\n }\n }, 250);\n }\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 * Анимирует сдвиг модалки\n *\n * @param {ModalsStateEntry} modalState\n * @param {number} percent Процент сдвига: 0 – полностью открыта, 100 – полностью закрыта\n */\n animateTranslate(modalState: ModalsStateEntry, percent: number | undefined) {\n const frameId = `animateTranslateFrame${modalState.id}`;\n\n cancelAnimationFrame(this.frameIds[frameId]);\n\n this.frameIds[frameId] = requestAnimationFrame(() => {\n setTransformStyle(modalState.innerElement, `translate3d(0, ${percent}%, 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 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 { activeModal, exitingModal, enteringModal } = this.props;\n const { touchDown, dragging } = this.state;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <ModalRootContext.Provider value={this.modalRootContext}>\n <Touch\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n touchDown &&\n classNames(styles['ModalRoot--touched'], 'vkuiInternalModalRoot--touched'),\n !!(enteringModal || exitingModal) &&\n classNames(styles['ModalRoot--switching'], 'vkuiInternalModalRoot--switching'),\n )}\n onMove={this.onTouchMove}\n onEnd={this.onTouchEnd}\n onScroll={this.onScroll}\n >\n <div\n className={styles['ModalRoot__mask']}\n onClick={this.props.onExit}\n ref={this.maskElementRef}\n />\n <div className={styles['ModalRoot__viewport']} ref={this.viewportRef}>\n {this.getModals().map((Modal) => {\n const modalId = getNavId(Modal.props, warn);\n const _modalState = this.getModalState(modalId);\n if ((modalId !== activeModal && modalId !== exitingModal) || !_modalState) {\n return null;\n }\n const modalState = { ..._modalState };\n\n const isPage = modalState.type === ModalType.PAGE;\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n key={key}\n getRootRef={(e) => {\n const modalState = this.getModalState(modalId);\n if (modalState) {\n modalState.modalElement = e;\n }\n }}\n onClose={this.props.onExit}\n timeout={this.timeout}\n className={classNames(\n styles['ModalRoot__modal'],\n\n dragging && 'vkuiInternalModalRoot__modal--dragging',\n\n isPage && modalState.expandable && 'vkuiInternalModalRoot__modal--expandable',\n isPage && modalState.collapsed && 'vkuiInternalModalRoot__modal--collapsed',\n )}\n restoreFocus={false}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </Touch>\n </ModalRootContext.Provider>\n </TouchRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootTouch = withContext(\n withPlatform(withDOM<ModalRootProps>(withModalManager(initModal)(ModalRootTouchComponent))),\n ConfigProviderContext,\n 'configProvider',\n);\n\n/**\n * Инициализирует модалку перед анимацией открытия\n */\nfunction initModal(modalState: ModalsStateEntry) {\n switch (modalState.type) {\n case ModalType.PAGE:\n modalState.settlingHeight = modalState.settlingHeight || MODAL_PAGE_DEFAULT_PERCENT_HEIGHT;\n return initPageModal(modalState);\n case ModalType.CARD:\n return initCardModal(modalState);\n default:\n process.env.NODE_ENV === 'development' &&\n warn(`initActiveModal: modalState.type=\"${modalState.type}\" не поддерживается`, 'error');\n }\n}\n\nfunction initPageModal(modalState: ModalsStateEntry) {\n const { contentElement } = modalState;\n const contentHeight = (contentElement?.firstElementChild as HTMLElement).offsetHeight;\n\n let prevTranslateY = modalState.translateY;\n\n modalState.expandable =\n contentHeight > (contentElement?.clientHeight ?? 0) || modalState.settlingHeight === 100;\n\n let collapsed = false;\n let expanded = false;\n let translateYFrom;\n let translateY;\n let expandedRange: TranslateRange;\n let collapsedRange: TranslateRange;\n let hiddenRange: TranslateRange;\n\n if (modalState.expandable) {\n translateYFrom = 100 - (modalState.settlingHeight ?? 0);\n\n const shiftHalf = translateYFrom / 2;\n const visiblePart = 100 - translateYFrom;\n\n expandedRange = [0, shiftHalf];\n collapsedRange = [shiftHalf, translateYFrom + visiblePart / 4];\n hiddenRange = [translateYFrom + visiblePart / 4, 100];\n\n collapsed = translateYFrom > 0;\n expanded = translateYFrom <= 0;\n translateY = translateYFrom;\n } else {\n const headerHeight = modalState.headerElement?.offsetHeight ?? 0;\n const height = contentHeight + headerHeight;\n\n translateYFrom =\n 100 - (height / (modalState.innerElement?.parentElement?.offsetHeight ?? 0)) * 100;\n translateY = translateYFrom;\n\n expandedRange = [translateY, translateY + 25];\n collapsedRange = [translateY + 25, translateY + 25];\n hiddenRange = [translateY + 25, translateY + 100];\n }\n\n // Если модалка может открываться на весь экран, и новый сдвиг больше предыдущего, то откроем её на весь экран\n if (\n (modalState.expandable && translateY > (prevTranslateY ?? 100)) ||\n modalState.settlingHeight === 100\n ) {\n translateY = 0;\n }\n\n // Если модалка уже раскрыта обновляем состояния\n if (translateY === 0) {\n expanded = true;\n collapsed = false;\n }\n\n modalState.expandedRange = expandedRange;\n modalState.collapsedRange = collapsedRange;\n modalState.hiddenRange = hiddenRange;\n modalState.translateY = translateY;\n modalState.translateYFrom = translateYFrom;\n modalState.collapsed = collapsed;\n modalState.expanded = expanded;\n}\n\nfunction initCardModal(modalState: ModalsStateEntry) {\n modalState.translateY = 0;\n}\n"],"names":["ModalRootTouch","warn","warnOnce","numberInRange","number","range","rangeTranslate","clamp","ModalRootTouchComponent","props","documentScrolling","maskElementRef","viewportRef","React","createRef","maskAnimationFrame","undefined","modalRootContext","frameIds","restoreFocusTo","preventTouch","event","originalEvent","preventDefault","updateModalTranslate","modalState","getModalState","activeModal","animateTranslate","translateY","updateModalHeight","type","ModalType","PAGE","dynamicContentHeight","enteringModal","waitTransitionFinish","requestAnimationFrame","checkPageContentHeight","onTouchMove","e","exitingModal","onPageTouchMove","CARD","onCardTouchMove","onTouchEnd","onPageTouchEnd","onCardTouchEnd","onScroll","target","contentElement","contains","contentScrolled","contentScrollStopTimeout","clearTimeout","setTimeout","state","touchDown","dragging","registerModal","Object","id","data","assign","onClose","onExit","isInsideModal","timeout","platform","Platform","IOS","document","window","getModals","Children","toArray","children","componentDidMount","addEventListener","componentWillUnmount","toggleDocumentScrolling","removeEventListener","componentDidUpdate","prevProps","closeModal","enteringState","onEnter","innerElement","style","transitionDelay","onEntered","delayEnter","activeElement","focus","enabled","passive","modalElement","prevModalState","initPageModal","currentModalState","needAnimate","expandable","translateYFrom","setState","nextModalState","nextIsPage","prevIsPage","onExited","exitTranslate","isBack","setMaskOpacity","shiftY","isY","current","stopPropagation","collapsed","expanded","touchStartContentScrollTop","scrollTop","touchMovePositive","headerElement","shiftYPercent","innerHeight","shiftYCurrent","rubber","touchShiftYPercent","translateYCurrent","offsetHeight","Math","max","startY","setStateCallback","shiftYEndPercent","expectTranslateY","duration","settlingHeight","expandedRange","collapsedRange","hiddenRange","hidden","eventHandler","transitionEvent","supported","onceHandler","name","percent","frameId","cancelAnimationFrame","setTransformStyle","forceOpacity","history","opacity","toString","render","TouchRootContext","Provider","value","ModalRootContext","Touch","className","classNames","configProvider","webviewType","WebviewType","VKAPPS","onMove","onEnd","div","onClick","ref","map","Modal","modalId","getNavId","_modalState","isPage","key","FocusTrap","getRootRef","restoreFocus","Component","withContext","withPlatform","withDOM","withModalManager","initModal","ConfigProviderContext","MODAL_PAGE_DEFAULT_PERCENT_HEIGHT","initCardModal","process","env","NODE_ENV","contentHeight","firstElementChild","prevTranslateY","clientHeight","shiftHalf","visiblePart","headerHeight","height","parentElement"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRoot.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 { setTransformStyle } from '../../lib/styles';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { rubber } from '../../lib/touch';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { ConfigProviderContext, WebviewType } from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport { MODAL_PAGE_DEFAULT_PERCENT_HEIGHT } from './constants';\nimport { ModalRootWithDOMProps, ModalsStateEntry, ModalType, TranslateRange } from './types';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nfunction numberInRange(number: number, range: TranslateRange | undefined) {\n if (!range) {\n return false;\n }\n return number >= range[0] && number <= range[1];\n}\n\nfunction rangeTranslate(number: number) {\n return clamp(number, 0, 98);\n}\n\ninterface ModalRootState {\n touchDown?: boolean;\n dragging?: boolean;\n}\n\nclass ModalRootTouchComponent extends React.Component<\n ModalRootWithDOMProps & DOMProps & ModalTransitionProps,\n ModalRootState\n> {\n constructor(props: ModalRootWithDOMProps & ModalTransitionProps) {\n super(props);\n this.state = {\n touchDown: false,\n dragging: false,\n };\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: this.updateModalHeight,\n registerModal: ({ id, ...data }) => Object.assign(this.props.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n\n this.frameIds = {};\n }\n\n private documentScrolling = false;\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private readonly viewportRef = React.createRef<HTMLDivElement>();\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private readonly frameIds: {\n [index: string]: number;\n };\n private restoreFocusTo: HTMLElement | undefined | null = undefined;\n\n get timeout(): number {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n get document(): Document {\n return this.props.document as Document;\n }\n\n get window(): Window {\n return this.props.window as Window;\n }\n\n getModals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n componentDidMount() {\n // Отслеживаем изменение размеров viewport (Необходимо для iOS)\n if (this.props.platform === Platform.IOS) {\n this.window?.addEventListener('resize', this.updateModalTranslate, false);\n }\n }\n\n componentWillUnmount() {\n this.toggleDocumentScrolling(true);\n this.window.removeEventListener('resize', this.updateModalTranslate, false);\n }\n\n componentDidUpdate(prevProps: ModalRootWithDOMProps & 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 const { enteringModal } = this.props;\n const enteringState = this.props.getModalState(enteringModal);\n this.props.onEnter();\n this.waitTransitionFinish(enteringState, () => {\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transitionDelay = '';\n }\n this.props.onEntered(enteringModal);\n });\n\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transitionDelay = this.props.delayEnter\n ? `${this.timeout}ms`\n : '';\n this.animateTranslate(enteringState, enteringState.translateY);\n }\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = this.document.activeElement as HTMLElement;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = null;\n }\n\n this.toggleDocumentScrolling(!this.props.activeModal && !this.props.exitingModal);\n }\n\n /* Отключает скролл документа */\n toggleDocumentScrolling(enabled: boolean) {\n if (this.documentScrolling === enabled) {\n return;\n }\n this.documentScrolling = enabled;\n\n if (enabled) {\n // Здесь нужен последний аргумент с такими же параметрами, потому что\n // некоторые браузеры на странных вендорах типа Meizu не удаляют обработчик.\n // https://github.com/VKCOM/VKUI/issues/444\n this.window.removeEventListener('touchmove', this.preventTouch, {\n // @ts-expect-error: TS2769 В интерфейсе EventListenerOptions нет поля passive\n passive: false,\n });\n } else {\n this.window.addEventListener('touchmove', this.preventTouch, {\n passive: false,\n });\n }\n }\n\n preventTouch = (event: any) => {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault) {\n event.preventDefault();\n }\n return false;\n };\n\n updateModalTranslate = () => {\n const modalState = this.props.getModalState(this.props.activeModal);\n modalState && this.animateTranslate(modalState, modalState.translateY);\n };\n\n checkPageContentHeight() {\n const modalState = this.props.getModalState(this.props.activeModal);\n\n if (modalState?.type === ModalType.PAGE && modalState?.modalElement) {\n const prevModalState = { ...modalState };\n initPageModal(modalState);\n const currentModalState = { ...modalState };\n\n let needAnimate = false;\n\n if (prevModalState.expandable === currentModalState.expandable) {\n if (prevModalState.translateYFrom !== currentModalState.translateYFrom) {\n needAnimate = true;\n }\n } else {\n needAnimate = true;\n }\n\n if (needAnimate) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n }\n }\n\n updateModalHeight = () => {\n const modalState = this.props.getModalState(this.props.activeModal);\n\n if (modalState && modalState.type === ModalType.PAGE && modalState.dynamicContentHeight) {\n if (this.props.enteringModal) {\n this.waitTransitionFinish(modalState, () => {\n requestAnimationFrame(() => this.checkPageContentHeight());\n });\n } else {\n requestAnimationFrame(() => this.checkPageContentHeight());\n }\n }\n };\n\n closeModal(id: string) {\n // Сбрасываем состояния, которые могут помешать закрытию модального окна\n this.setState({ touchDown: false });\n\n const prevModalState = this.props.getModalState(id);\n\n if (!prevModalState) {\n id && warn(`closeActiveModal: модальное окно (страница) ${id} не существует`, 'error');\n return;\n }\n\n const nextModalState = this.props.getModalState(this.props.activeModal);\n const nextIsPage = !!nextModalState && nextModalState.type === ModalType.PAGE;\n\n const prevIsPage = !!prevModalState && prevModalState.type === ModalType.PAGE;\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n const exitTranslate =\n prevIsPage &&\n nextIsPage &&\n (prevModalState.translateY ?? 0) <= (nextModalState?.translateYFrom ?? 0) &&\n !this.props.isBack\n ? (nextModalState?.translateYFrom ?? 0) + 10\n : 100;\n this.animateTranslate(prevModalState, exitTranslate);\n\n if (!nextModalState) {\n // NOTE: was only for clean exit\n this.setMaskOpacity(prevModalState, 0);\n }\n }\n\n onTouchMove = (e: TouchEvent) => {\n if (this.props.exitingModal) {\n return;\n }\n const modalState = this.props.getModalState(this.props.activeModal);\n if (!modalState) {\n return;\n }\n\n if (modalState.type === ModalType.PAGE) {\n return this.onPageTouchMove(e, modalState);\n }\n\n if (modalState.type === ModalType.CARD) {\n return this.onCardTouchMove(e, modalState);\n }\n };\n\n onPageTouchMove(event: TouchEvent, modalState: ModalsStateEntry) {\n const { shiftY, originalEvent } = event;\n const target = originalEvent.target as HTMLElement;\n\n if (!event.isY) {\n if (this.viewportRef.current?.contains(target)) {\n originalEvent.preventDefault();\n }\n return;\n }\n\n if (!modalState.innerElement?.contains(target)) {\n return originalEvent.preventDefault();\n }\n\n originalEvent.stopPropagation();\n\n const { expandable, contentScrolled, collapsed, expanded } = modalState;\n\n if (!this.state.touchDown) {\n modalState.touchStartContentScrollTop = modalState.contentElement?.scrollTop ?? 0;\n this.setState({ touchDown: true });\n }\n\n if (contentScrolled) {\n return;\n }\n\n if (modalState.touchMovePositive === null) {\n modalState.touchMovePositive = shiftY > 0;\n }\n\n if (\n !modalState.expandable ||\n collapsed ||\n (expanded && modalState.touchMovePositive && modalState.touchStartContentScrollTop === 0) ||\n modalState.headerElement?.contains(target)\n ) {\n originalEvent.preventDefault();\n\n if ((!expandable && shiftY < 0) || !this.window) {\n return;\n }\n\n !this.state.dragging && this.setState({ dragging: true });\n\n const shiftYPercent = (shiftY / this.window.innerHeight) * 100;\n const shiftYCurrent = rubber(shiftYPercent, 72, 0.8, this.props.platform !== Platform.IOS);\n\n modalState.touchShiftYPercent = shiftYPercent;\n modalState.translateYCurrent = rangeTranslate((modalState.translateY ?? 0) + shiftYCurrent);\n\n this.animateTranslate(modalState, modalState.translateYCurrent);\n this.setMaskOpacity(modalState);\n }\n }\n\n onCardTouchMove(event: TouchEvent, modalState: ModalsStateEntry) {\n const { originalEvent, shiftY } = event;\n const target = originalEvent.target as HTMLElement;\n if (modalState.innerElement?.contains(target)) {\n if (!this.state.touchDown) {\n this.setState({ touchDown: true, dragging: true });\n }\n\n const shiftYPercent = (shiftY / modalState.innerElement.offsetHeight) * 100;\n const shiftYCurrent = rubber(shiftYPercent, 72, 1.2, this.props.platform !== Platform.IOS);\n\n modalState.touchShiftYPercent = shiftYPercent;\n modalState.translateYCurrent = Math.max(0, (modalState.translateY ?? 0) + shiftYCurrent);\n\n this.animateTranslate(modalState, modalState.translateYCurrent);\n this.setMaskOpacity(modalState);\n }\n }\n\n onTouchEnd = (e: TouchEvent) => {\n const modalState = this.props.getModalState(this.props.activeModal);\n\n if (modalState?.type === ModalType.PAGE) {\n return this.onPageTouchEnd(e, modalState);\n }\n\n if (modalState?.type === ModalType.CARD) {\n return this.onCardTouchEnd(e, modalState);\n }\n };\n\n onPageTouchEnd(event: TouchEvent, modalState: ModalsStateEntry) {\n const { startY, shiftY } = event;\n\n modalState.contentScrolled = false;\n modalState.touchMovePositive = null;\n\n let setStateCallback;\n\n if (this.state.dragging && this.window) {\n const shiftYEndPercent = ((startY + shiftY) / this.window.innerHeight) * 100;\n\n let translateY = modalState.translateYCurrent ?? 0;\n const expectTranslateY =\n (translateY / event.duration) *\n 240 *\n 0.6 *\n ((modalState.touchShiftYPercent ?? 0) < 0 ? -1 : 1);\n translateY = rangeTranslate(translateY + expectTranslateY);\n\n if (modalState.settlingHeight !== 100) {\n if (numberInRange(translateY, modalState.expandedRange)) {\n translateY = modalState.expandedRange?.[0] ?? 0;\n } else if (numberInRange(translateY, modalState.collapsedRange)) {\n translateY = modalState.translateYFrom ?? 0;\n } else if (numberInRange(translateY, modalState.hiddenRange)) {\n translateY = 100;\n } else {\n translateY = modalState.translateYFrom ?? 0;\n }\n } else {\n if (numberInRange(translateY, [0, 25])) {\n translateY = 0;\n } else {\n translateY = 100;\n }\n }\n\n if (translateY !== 100 && shiftYEndPercent >= 75) {\n translateY = 100;\n }\n\n modalState.translateY = translateY;\n modalState.translateYCurrent = translateY;\n modalState.collapsed = translateY > 0 && translateY < shiftYEndPercent;\n modalState.expanded = translateY === 0;\n modalState.hidden = translateY === 100;\n\n if (modalState.hidden) {\n this.props.onExit();\n }\n\n setStateCallback = () => {\n if (!modalState.hidden) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n\n this.setMaskOpacity(modalState);\n };\n }\n\n this.setState(\n {\n touchDown: false,\n dragging: false,\n },\n setStateCallback,\n );\n }\n\n onCardTouchEnd({ duration }: TouchEvent, modalState: ModalsStateEntry) {\n let setStateCallback;\n\n if (this.state.dragging) {\n let translateY = modalState.translateYCurrent ?? 0;\n\n const expectTranslateY =\n (translateY / duration) * 240 * 0.6 * ((modalState.touchShiftYPercent ?? 0) < 0 ? -1 : 1);\n translateY = Math.max(0, translateY + expectTranslateY);\n\n if (translateY >= 30) {\n translateY = 100;\n } else {\n translateY = 0;\n }\n\n modalState.translateY = translateY;\n modalState.hidden = translateY === 100;\n\n if (modalState.hidden) {\n this.props.onExit();\n }\n\n setStateCallback = () => {\n if (!modalState.hidden) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n\n this.setMaskOpacity(modalState);\n };\n }\n\n this.setState(\n {\n touchDown: false,\n dragging: false,\n },\n setStateCallback,\n );\n }\n\n onScroll = (e: React.SyntheticEvent) => {\n const activeModal = this.props.activeModal;\n\n const target = e.target as HTMLElement;\n\n if (!activeModal) {\n return;\n }\n const modalState = this.props.getModalState(activeModal);\n if (modalState?.type === ModalType.PAGE && modalState?.contentElement?.contains(target)) {\n modalState.contentScrolled = true;\n\n if (modalState.contentScrollStopTimeout) {\n clearTimeout(modalState.contentScrollStopTimeout);\n }\n\n modalState.contentScrollStopTimeout = setTimeout(() => {\n if (modalState.contentScrolled) {\n modalState.contentScrolled = false;\n }\n }, 250);\n }\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 * Анимирует сдвиг модалки\n *\n * @param {ModalsStateEntry} modalState\n * @param {number} percent Процент сдвига: 0 – полностью открыта, 100 – полностью закрыта\n */\n animateTranslate(modalState: ModalsStateEntry, percent: number | undefined) {\n const frameId = `animateTranslateFrame${modalState.id}`;\n\n cancelAnimationFrame(this.frameIds[frameId]);\n\n this.frameIds[frameId] = requestAnimationFrame(() => {\n setTransformStyle(modalState.innerElement, `translate3d(0, ${percent}%, 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 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 { activeModal, exitingModal, enteringModal } = this.props;\n const { touchDown, dragging } = this.state;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <ModalRootContext.Provider value={this.modalRootContext}>\n <Touch\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n touchDown &&\n classNames(styles['ModalRoot--touched'], 'vkuiInternalModalRoot--touched'),\n !!(enteringModal || exitingModal) &&\n classNames(styles['ModalRoot--switching'], 'vkuiInternalModalRoot--switching'),\n )}\n onMove={this.onTouchMove}\n onEnd={this.onTouchEnd}\n onScroll={this.onScroll}\n >\n <div\n className={styles['ModalRoot__mask']}\n onClick={this.props.onExit}\n ref={this.maskElementRef}\n />\n <div className={styles['ModalRoot__viewport']} ref={this.viewportRef}>\n {this.getModals().map((Modal) => {\n const modalId = getNavId(Modal.props, warn);\n const _modalState = this.props.getModalState(modalId);\n if ((modalId !== activeModal && modalId !== exitingModal) || !_modalState) {\n return null;\n }\n const modalState = { ..._modalState };\n\n const isPage = modalState.type === ModalType.PAGE;\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n key={key}\n getRootRef={(e) => {\n const modalState = this.props.getModalState(modalId);\n if (modalState) {\n modalState.modalElement = e;\n }\n }}\n onClose={this.props.onExit}\n timeout={this.timeout}\n className={classNames(\n styles['ModalRoot__modal'],\n\n dragging && 'vkuiInternalModalRoot__modal--dragging',\n\n isPage && modalState.expandable && 'vkuiInternalModalRoot__modal--expandable',\n isPage && modalState.collapsed && 'vkuiInternalModalRoot__modal--collapsed',\n )}\n restoreFocus={false}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </Touch>\n </ModalRootContext.Provider>\n </TouchRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootTouch = withContext(\n withPlatform(\n withDOM<ModalRootWithDOMProps>(withModalManager(initModal)(ModalRootTouchComponent)),\n ),\n ConfigProviderContext,\n 'configProvider',\n);\n\n/**\n * Инициализирует модалку перед анимацией открытия\n */\nfunction initModal(modalState: ModalsStateEntry) {\n switch (modalState.type) {\n case ModalType.PAGE:\n modalState.settlingHeight = modalState.settlingHeight || MODAL_PAGE_DEFAULT_PERCENT_HEIGHT;\n return initPageModal(modalState);\n case ModalType.CARD:\n return initCardModal(modalState);\n default:\n process.env.NODE_ENV === 'development' &&\n warn(`initActiveModal: modalState.type=\"${modalState.type}\" не поддерживается`, 'error');\n }\n}\n\nfunction initPageModal(modalState: ModalsStateEntry) {\n const { contentElement } = modalState;\n const contentHeight = (contentElement?.firstElementChild as HTMLElement).offsetHeight;\n\n let prevTranslateY = modalState.translateY;\n\n modalState.expandable =\n contentHeight > (contentElement?.clientHeight ?? 0) || modalState.settlingHeight === 100;\n\n let collapsed = false;\n let expanded = false;\n let translateYFrom;\n let translateY;\n let expandedRange: TranslateRange;\n let collapsedRange: TranslateRange;\n let hiddenRange: TranslateRange;\n\n if (modalState.expandable) {\n translateYFrom = 100 - (modalState.settlingHeight ?? 0);\n\n const shiftHalf = translateYFrom / 2;\n const visiblePart = 100 - translateYFrom;\n\n expandedRange = [0, shiftHalf];\n collapsedRange = [shiftHalf, translateYFrom + visiblePart / 4];\n hiddenRange = [translateYFrom + visiblePart / 4, 100];\n\n collapsed = translateYFrom > 0;\n expanded = translateYFrom <= 0;\n translateY = translateYFrom;\n } else {\n const headerHeight = modalState.headerElement?.offsetHeight ?? 0;\n const height = contentHeight + headerHeight;\n\n translateYFrom =\n 100 - (height / (modalState.innerElement?.parentElement?.offsetHeight ?? 0)) * 100;\n translateY = translateYFrom;\n\n expandedRange = [translateY, translateY + 25];\n collapsedRange = [translateY + 25, translateY + 25];\n hiddenRange = [translateY + 25, translateY + 100];\n }\n\n // Если модалка может открываться на весь экран, и новый сдвиг больше предыдущего, то откроем её на весь экран\n if (\n (modalState.expandable && translateY > (prevTranslateY ?? 100)) ||\n modalState.settlingHeight === 100\n ) {\n translateY = 0;\n }\n\n // Если модалка уже раскрыта обновляем состояния\n if (translateY === 0) {\n expanded = true;\n collapsed = false;\n }\n\n modalState.expandedRange = expandedRange;\n modalState.collapsedRange = collapsedRange;\n modalState.hiddenRange = hiddenRange;\n modalState.translateY = translateY;\n modalState.translateYFrom = translateYFrom;\n modalState.collapsed = collapsed;\n modalState.expanded = expanded;\n}\n\nfunction initCardModal(modalState: ModalsStateEntry) {\n modalState.translateY = 0;\n}\n"],"names":["ModalRootTouch","warn","warnOnce","numberInRange","number","range","rangeTranslate","clamp","ModalRootTouchComponent","props","documentScrolling","maskElementRef","viewportRef","React","createRef","maskAnimationFrame","undefined","modalRootContext","frameIds","restoreFocusTo","preventTouch","event","originalEvent","preventDefault","updateModalTranslate","modalState","getModalState","activeModal","animateTranslate","translateY","updateModalHeight","type","ModalType","PAGE","dynamicContentHeight","enteringModal","waitTransitionFinish","requestAnimationFrame","checkPageContentHeight","onTouchMove","e","exitingModal","onPageTouchMove","CARD","onCardTouchMove","onTouchEnd","onPageTouchEnd","onCardTouchEnd","onScroll","target","contentElement","contains","contentScrolled","contentScrollStopTimeout","clearTimeout","setTimeout","state","touchDown","dragging","registerModal","Object","id","data","assign","onClose","onExit","isInsideModal","timeout","platform","Platform","IOS","document","window","getModals","Children","toArray","children","componentDidMount","addEventListener","componentWillUnmount","toggleDocumentScrolling","removeEventListener","componentDidUpdate","prevProps","closeModal","enteringState","onEnter","innerElement","style","transitionDelay","onEntered","delayEnter","activeElement","focus","enabled","passive","modalElement","prevModalState","initPageModal","currentModalState","needAnimate","expandable","translateYFrom","setState","nextModalState","nextIsPage","prevIsPage","onExited","exitTranslate","isBack","setMaskOpacity","shiftY","isY","current","stopPropagation","collapsed","expanded","touchStartContentScrollTop","scrollTop","touchMovePositive","headerElement","shiftYPercent","innerHeight","shiftYCurrent","rubber","touchShiftYPercent","translateYCurrent","offsetHeight","Math","max","startY","setStateCallback","shiftYEndPercent","expectTranslateY","duration","settlingHeight","expandedRange","collapsedRange","hiddenRange","hidden","eventHandler","transitionEvent","supported","onceHandler","name","percent","frameId","cancelAnimationFrame","setTransformStyle","forceOpacity","history","opacity","toString","render","TouchRootContext","Provider","value","ModalRootContext","Touch","className","classNames","configProvider","webviewType","WebviewType","VKAPPS","onMove","onEnd","div","onClick","ref","map","Modal","modalId","getNavId","_modalState","isPage","key","FocusTrap","getRootRef","restoreFocus","Component","withContext","withPlatform","withDOM","withModalManager","initModal","ConfigProviderContext","MODAL_PAGE_DEFAULT_PERCENT_HEIGHT","initCardModal","process","env","NODE_ENV","contentHeight","firstElementChild","prevTranslateY","clientHeight","shiftHalf","visiblePart","headerHeight","height","parentElement"],"mappings":"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"}
@@ -1,24 +1,5 @@
1
- import * as React from 'react';
2
- export interface ModalRootProps {
3
- activeModal?: string | null;
4
- /**
5
- * Будет вызвано при начале открытия активной модалки с её id
6
- */
7
- onOpen?(modalId: string): void;
8
- /**
9
- * Будет вызвано при окончательном открытии активной модалки с её id
10
- */
11
- onOpened?(modalId: string): void;
12
- /**
13
- * Будет вызвано при начале закрытия активной модалки с её id
14
- */
15
- onClose?(modalId: string): void;
16
- /**
17
- * Будет вызвано при окончательном закрытии активной модалки с её id
18
- */
19
- onClosed?(modalId: string): void;
20
- children?: React.ReactNode;
21
- }
1
+ /// <reference types="react" />
2
+ import { ModalRootProps } from './types';
22
3
  /**
23
4
  * @see https://vkcom.github.io/VKUI/#/ModalRoot
24
5
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootAdaptive.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { ModalRootTouch } from './ModalRoot';\nimport { ModalRootDesktop } from './ModalRootDesktop';\n\nexport interface ModalRootProps {\n activeModal?: string | null;\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 children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalRoot\n */\nexport const ModalRoot = (props: ModalRootProps) => {\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n useScrollLock(!!props.activeModal);\n\n const RootComponent = isDesktop ? ModalRootDesktop : ModalRootTouch;\n\n return <RootComponent {...props} />;\n};\n"],"names":["ModalRoot","props","isDesktop","useAdaptivityWithJSMediaQueries","useScrollLock","activeModal","RootComponent","ModalRootDesktop","ModalRootTouch"],"mappings":";;;;+BAkCaA;;;eAAAA;;;;2DAlCU;+CACyB;6BAClB;yBACC;gCACE;AA8B1B,IAAMA,YAAY,SAACC,OAA0B;IAClD,IAAM,AAAEC,YAAcC,IAAAA,gEAA+B,IAA7CD;IAERE,IAAAA,4BAAa,EAAC,CAAC,CAACH,MAAMI,WAAW;IAEjC,IAAMC,gBAAgBJ,YAAYK,kCAAgB,GAAGC,yBAAc;IAEnE,qBAAO,qBAACF,eAAkBL;AAC5B"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootAdaptive.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { ModalRootTouch } from './ModalRoot';\nimport { ModalRootDesktop } from './ModalRootDesktop';\nimport { ModalRootProps } from './types';\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalRoot\n */\nexport const ModalRoot = (props: ModalRootProps) => {\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n useScrollLock(!!props.activeModal);\n\n const RootComponent = isDesktop ? ModalRootDesktop : ModalRootTouch;\n\n return <RootComponent {...props} />;\n};\n"],"names":["ModalRoot","props","isDesktop","useAdaptivityWithJSMediaQueries","useScrollLock","activeModal","RootComponent","ModalRootDesktop","ModalRootTouch"],"mappings":";;;;+BAUaA;;;eAAAA;;;;2DAVU;+CACyB;6BAClB;yBACC;gCACE;AAM1B,IAAMA,YAAY,SAACC,OAA0B;IAClD,IAAM,AAAEC,YAAcC,IAAAA,gEAA+B,IAA7CD;IAERE,IAAAA,4BAAa,EAAC,CAAC,CAACH,MAAMI,WAAW;IAEjC,IAAMC,gBAAgBJ,YAAYK,kCAAgB,GAAGC,yBAAc;IAEnE,qBAAO,qBAACF,eAAkBL;AAC5B"}
@@ -1,28 +1,3 @@
1
- import * as React from 'react';
2
- import { HasPlatform } from '../../types';
3
- import { ConfigProviderContextInterface } from '../ConfigProvider/ConfigProviderContext';
4
- export interface ModalRootProps extends HasPlatform {
5
- activeModal?: string | null;
6
- /**
7
- * @ignore
8
- */
9
- configProvider?: ConfigProviderContextInterface;
10
- children?: React.ReactNode;
11
- /**
12
- * Будет вызвано при начале открытия активной модалки с её id
13
- */
14
- onOpen?(modalId: string): void;
15
- /**
16
- * Будет вызвано при окончательном открытии активной модалки с её id
17
- */
18
- onOpened?(modalId: string): void;
19
- /**
20
- * Будет вызвано при начале закрытия активной модалки с её id
21
- */
22
- onClose?(modalId: string): void;
23
- /**
24
- * Будет вызвано при окончательном закрытии активной модалки с её id
25
- */
26
- onClosed?(modalId: string): void;
27
- }
28
- export declare const ModalRootDesktop: React.FC<Omit<ModalRootProps, "platform">>;
1
+ /// <reference types="react" />
2
+ import { ModalRootWithDOMProps } from './types';
3
+ export declare const ModalRootDesktop: ({ activeModal: activeModalProp, children, onOpen, onOpened, onClose, onClosed, }: ModalRootWithDOMProps) => JSX.Element | null;