@vkontakte/vkui 5.3.2 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) 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/Epic/ScrollSaver.d.ts +3 -3
  41. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  42. package/dist/cjs/components/File/File.js +4 -3
  43. package/dist/cjs/components/File/File.js.map +1 -1
  44. package/dist/cjs/components/FixedLayout/FixedLayout.js +1 -1
  45. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  46. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +4 -2
  47. package/dist/cjs/components/FocusVisible/FocusVisible.js +4 -3
  48. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  49. package/dist/cjs/components/FormField/FormField.js +10 -1
  50. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  51. package/dist/cjs/components/FormItem/FormItem.d.ts +3 -1
  52. package/dist/cjs/components/FormItem/FormItem.js +2 -1
  53. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  54. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
  55. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  56. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  57. package/dist/cjs/components/Group/Group.d.ts +5 -3
  58. package/dist/cjs/components/Group/Group.js +2 -2
  59. package/dist/cjs/components/Group/Group.js.map +1 -1
  60. package/dist/cjs/components/Header/Header.js +20 -16
  61. package/dist/cjs/components/Header/Header.js.map +1 -1
  62. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
  63. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +4 -1
  64. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  65. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
  66. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +6 -2
  67. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  68. package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +1 -1
  69. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  70. package/dist/cjs/components/IconButton/IconButton.d.ts +3 -3
  71. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  72. package/dist/cjs/components/LocaleProvider/LocaleProvider.d.ts +2 -2
  73. package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  74. package/dist/cjs/components/ModalPage/ModalPage.d.ts +1 -1
  75. package/dist/cjs/components/ModalPage/ModalPage.js +19 -3
  76. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  77. package/dist/cjs/components/ModalPage/ModalPageContext.d.ts +5 -0
  78. package/dist/cjs/components/{Typography/types.js → ModalPage/ModalPageContext.js} +8 -1
  79. package/dist/cjs/components/ModalPage/ModalPageContext.js.map +1 -0
  80. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +6 -1
  81. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  82. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +2 -27
  83. package/dist/cjs/components/ModalRoot/ModalRoot.js +13 -22
  84. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  85. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
  86. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  87. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
  88. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +145 -219
  89. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  90. package/dist/cjs/components/ModalRoot/types.d.ts +28 -0
  91. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  92. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +6 -5
  93. package/dist/cjs/components/ModalRoot/useModalManager.js +3 -3
  94. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  95. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +6 -2
  96. package/dist/cjs/components/NativeSelect/NativeSelect.js +6 -3
  97. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  98. package/dist/cjs/components/Panel/Panel.js +2 -2
  99. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  100. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +11 -2
  101. package/dist/cjs/components/PanelHeader/PanelHeader.js +17 -7
  102. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  103. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  104. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  105. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  106. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  107. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  108. package/dist/cjs/components/PlatformProvider/PlatformProvider.d.ts +1 -1
  109. package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
  110. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  111. package/dist/cjs/components/Popover/Popover.d.ts +3 -2
  112. package/dist/cjs/components/Popover/Popover.js +5 -3
  113. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  114. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  115. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +3 -4
  116. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  117. package/dist/cjs/components/Radio/Radio.d.ts +2 -1
  118. package/dist/cjs/components/Radio/Radio.js +14 -8
  119. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  120. package/dist/cjs/components/Removable/Removable.d.ts +7 -2
  121. package/dist/cjs/components/Removable/Removable.js +4 -3
  122. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  123. package/dist/cjs/components/Root/Root.js.map +1 -1
  124. package/dist/cjs/components/Search/Search.d.ts +3 -1
  125. package/dist/cjs/components/Search/Search.js +42 -57
  126. package/dist/cjs/components/Search/Search.js.map +1 -1
  127. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
  128. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +8 -4
  129. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  130. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +1 -1
  131. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  132. package/dist/cjs/components/SelectTypography/SelectTypography.d.ts +2 -3
  133. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  134. package/dist/cjs/components/SimpleCell/SimpleCell.js +8 -5
  135. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  136. package/dist/cjs/components/Spacing/Spacing.d.ts +2 -2
  137. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  138. package/dist/cjs/components/SplitCol/SplitCol.js +1 -0
  139. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  140. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +1 -3
  141. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  142. package/dist/cjs/components/Switch/Switch.d.ts +4 -5
  143. package/dist/cjs/components/Switch/Switch.js +12 -8
  144. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  145. package/dist/cjs/components/Tabbar/Tabbar.js +2 -4
  146. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  147. package/dist/cjs/components/TabbarItem/TabbarItem.js +1 -1
  148. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  149. package/dist/cjs/components/Tappable/Tappable.d.ts +2 -3
  150. package/dist/cjs/components/Tappable/Tappable.js +1 -0
  151. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  152. package/dist/cjs/components/Typography/Caption/Caption.d.ts +2 -2
  153. package/dist/cjs/components/Typography/Caption/Caption.js +10 -13
  154. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  155. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +2 -2
  156. package/dist/cjs/components/Typography/Footnote/Footnote.js +10 -13
  157. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  158. package/dist/cjs/components/Typography/Headline/Headline.d.ts +3 -4
  159. package/dist/cjs/components/Typography/Headline/Headline.js +9 -12
  160. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  161. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +3 -5
  162. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +8 -13
  163. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  164. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +2 -2
  165. package/dist/cjs/components/Typography/Subhead/Subhead.js +9 -12
  166. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  167. package/dist/cjs/components/Typography/Text/Text.d.ts +3 -5
  168. package/dist/cjs/components/Typography/Text/Text.js +8 -13
  169. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  170. package/dist/cjs/components/Typography/Title/Title.d.ts +2 -2
  171. package/dist/cjs/components/Typography/Title/Title.js +10 -13
  172. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  173. package/dist/cjs/components/Typography/Typography.d.ts +16 -0
  174. package/dist/cjs/components/Typography/Typography.js +35 -0
  175. package/dist/cjs/components/Typography/Typography.js.map +1 -0
  176. package/dist/cjs/components/UsersStack/UsersStack.d.ts +2 -2
  177. package/dist/cjs/components/UsersStack/UsersStack.js +2 -1
  178. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  179. package/dist/cjs/components/View/View.js +1 -1
  180. package/dist/cjs/components/View/View.js.map +1 -1
  181. package/dist/cjs/components/View/ViewInfinite.js +1 -1
  182. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  183. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
  184. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +29 -0
  185. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  186. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
  187. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js +5 -0
  188. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  189. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
  190. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  191. package/dist/cjs/helpers/getPlatformClassName.js +1 -1
  192. package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
  193. package/dist/cjs/hooks/useFocusWithin.d.ts +2 -0
  194. package/dist/cjs/hooks/useFocusWithin.js +38 -0
  195. package/dist/cjs/hooks/useFocusWithin.js.map +1 -0
  196. package/dist/cjs/hooks/useId.js +1 -1
  197. package/dist/cjs/hooks/useId.js.map +1 -1
  198. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +1 -1
  199. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  200. package/dist/cjs/index.d.ts +4 -2
  201. package/dist/cjs/index.js +8 -0
  202. package/dist/cjs/index.js.map +1 -1
  203. package/dist/cjs/lib/utils.js +2 -2
  204. package/dist/cjs/lib/utils.js.map +1 -1
  205. package/dist/components/Accordion/Accordion.d.ts +2 -2
  206. package/dist/components/Accordion/Accordion.js +2 -2
  207. package/dist/components/Accordion/Accordion.js.map +1 -1
  208. package/dist/components/Accordion/AccordionSummary.d.ts +1 -1
  209. package/dist/components/Accordion/AccordionSummary.js +1 -1
  210. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  211. package/dist/components/ActionSheet/types.d.ts +1 -1
  212. package/dist/components/ActionSheet/types.js.map +1 -1
  213. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +14 -0
  214. package/dist/components/{WriteBarIcon/WriteBarIconRenderer.js → AdaptiveIconRenderer/AdaptiveIconRenderer.js} +5 -2
  215. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -0
  216. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  217. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  218. package/dist/components/Alert/Alert.js.map +1 -1
  219. package/dist/components/AppRoot/AppRootPortal.d.ts +3 -3
  220. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  221. package/dist/components/AppRoot/ScrollContext.d.ts +2 -2
  222. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  223. package/dist/components/Button/Button.d.ts +1 -0
  224. package/dist/components/Button/Button.js +2 -2
  225. package/dist/components/Button/Button.js.map +1 -1
  226. package/dist/components/Card/Card.js +1 -3
  227. package/dist/components/Card/Card.js.map +1 -1
  228. package/dist/components/CardGrid/CardGrid.js +4 -4
  229. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  230. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +4 -2
  231. package/dist/components/Cell/CellCheckbox/CellCheckbox.js +10 -6
  232. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  233. package/dist/components/Checkbox/Checkbox.d.ts +2 -1
  234. package/dist/components/Checkbox/Checkbox.js +12 -8
  235. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  236. package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  237. package/dist/components/ChipsSelect/ChipsSelect.js +3 -2
  238. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  239. package/dist/components/Counter/Counter.js +4 -6
  240. package/dist/components/Counter/Counter.js.map +1 -1
  241. package/dist/components/CustomSelect/CustomSelect.d.ts +3 -0
  242. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  243. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  244. package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
  245. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  246. package/dist/components/Epic/ScrollSaver.d.ts +3 -3
  247. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  248. package/dist/components/File/File.js +4 -3
  249. package/dist/components/File/File.js.map +1 -1
  250. package/dist/components/FixedLayout/FixedLayout.js +1 -1
  251. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  252. package/dist/components/FocusVisible/FocusVisible.d.ts +4 -2
  253. package/dist/components/FocusVisible/FocusVisible.js +4 -3
  254. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  255. package/dist/components/FormField/FormField.js +10 -1
  256. package/dist/components/FormField/FormField.js.map +1 -1
  257. package/dist/components/FormItem/FormItem.d.ts +3 -1
  258. package/dist/components/FormItem/FormItem.js +2 -1
  259. package/dist/components/FormItem/FormItem.js.map +1 -1
  260. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
  261. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  262. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  263. package/dist/components/Group/Group.d.ts +5 -3
  264. package/dist/components/Group/Group.js +5 -3
  265. package/dist/components/Group/Group.js.map +1 -1
  266. package/dist/components/Header/Header.js +20 -16
  267. package/dist/components/Header/Header.js.map +1 -1
  268. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
  269. package/dist/components/HorizontalScroll/HorizontalScroll.js +4 -1
  270. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  271. package/dist/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
  272. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +6 -2
  273. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  274. package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
  275. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  276. package/dist/components/IconButton/IconButton.d.ts +3 -3
  277. package/dist/components/IconButton/IconButton.js.map +1 -1
  278. package/dist/components/LocaleProvider/LocaleProvider.d.ts +2 -2
  279. package/dist/components/LocaleProvider/LocaleProvider.js +2 -2
  280. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
  281. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  282. package/dist/components/ModalPage/ModalPage.js +19 -3
  283. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  284. package/dist/components/ModalPage/ModalPageContext.d.ts +5 -0
  285. package/dist/components/ModalPage/ModalPageContext.js +4 -0
  286. package/dist/components/ModalPage/ModalPageContext.js.map +1 -0
  287. package/dist/components/ModalPageHeader/ModalPageHeader.js +6 -1
  288. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  289. package/dist/components/ModalRoot/ModalRoot.d.ts +2 -27
  290. package/dist/components/ModalRoot/ModalRoot.js +13 -22
  291. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  292. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
  293. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  294. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
  295. package/dist/components/ModalRoot/ModalRootDesktop.js +149 -223
  296. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  297. package/dist/components/ModalRoot/types.d.ts +28 -0
  298. package/dist/components/ModalRoot/types.js.map +1 -1
  299. package/dist/components/ModalRoot/useModalManager.d.ts +6 -5
  300. package/dist/components/ModalRoot/useModalManager.js +3 -3
  301. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  302. package/dist/components/NativeSelect/NativeSelect.d.ts +6 -2
  303. package/dist/components/NativeSelect/NativeSelect.js +6 -3
  304. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  305. package/dist/components/Panel/Panel.js +2 -2
  306. package/dist/components/Panel/Panel.js.map +1 -1
  307. package/dist/components/PanelHeader/PanelHeader.d.ts +11 -2
  308. package/dist/components/PanelHeader/PanelHeader.js +17 -7
  309. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  310. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  311. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  312. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  313. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  314. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  315. package/dist/components/PlatformProvider/PlatformProvider.d.ts +1 -1
  316. package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
  317. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  318. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  319. package/dist/components/Popover/Popover.d.ts +3 -2
  320. package/dist/components/Popover/Popover.js +5 -3
  321. package/dist/components/Popover/Popover.js.map +1 -1
  322. package/dist/components/PromoBanner/PromoBanner.js +1 -0
  323. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  324. package/dist/components/PullToRefresh/PullToRefresh.d.ts +3 -4
  325. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  326. package/dist/components/Radio/Radio.d.ts +2 -1
  327. package/dist/components/Radio/Radio.js +14 -8
  328. package/dist/components/Radio/Radio.js.map +1 -1
  329. package/dist/components/Removable/Removable.d.ts +7 -2
  330. package/dist/components/Removable/Removable.js +4 -3
  331. package/dist/components/Removable/Removable.js.map +1 -1
  332. package/dist/components/Root/Root.js.map +1 -1
  333. package/dist/components/Search/Search.d.ts +3 -1
  334. package/dist/components/Search/Search.js +42 -57
  335. package/dist/components/Search/Search.js.map +1 -1
  336. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
  337. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +8 -4
  338. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  339. package/dist/components/SelectMimicry/SelectMimicry.js +1 -1
  340. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  341. package/dist/components/SelectTypography/SelectTypography.d.ts +2 -3
  342. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  343. package/dist/components/SimpleCell/SimpleCell.js +8 -5
  344. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  345. package/dist/components/Spacing/Spacing.d.ts +2 -2
  346. package/dist/components/Spacing/Spacing.js.map +1 -1
  347. package/dist/components/SplitCol/SplitCol.js +1 -0
  348. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  349. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -3
  350. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  351. package/dist/components/Switch/Switch.d.ts +4 -5
  352. package/dist/components/Switch/Switch.js +12 -8
  353. package/dist/components/Switch/Switch.js.map +1 -1
  354. package/dist/components/Tabbar/Tabbar.js +2 -4
  355. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  356. package/dist/components/TabbarItem/TabbarItem.js +1 -1
  357. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  358. package/dist/components/Tappable/Tappable.d.ts +2 -3
  359. package/dist/components/Tappable/Tappable.js +1 -0
  360. package/dist/components/Tappable/Tappable.js.map +1 -1
  361. package/dist/components/Typography/Caption/Caption.d.ts +2 -2
  362. package/dist/components/Typography/Caption/Caption.js +10 -13
  363. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  364. package/dist/components/Typography/Footnote/Footnote.d.ts +2 -2
  365. package/dist/components/Typography/Footnote/Footnote.js +10 -13
  366. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  367. package/dist/components/Typography/Headline/Headline.d.ts +3 -4
  368. package/dist/components/Typography/Headline/Headline.js +9 -12
  369. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  370. package/dist/components/Typography/Paragraph/Paragraph.d.ts +3 -5
  371. package/dist/components/Typography/Paragraph/Paragraph.js +8 -13
  372. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  373. package/dist/components/Typography/Subhead/Subhead.d.ts +2 -2
  374. package/dist/components/Typography/Subhead/Subhead.js +9 -12
  375. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  376. package/dist/components/Typography/Text/Text.d.ts +3 -5
  377. package/dist/components/Typography/Text/Text.js +8 -13
  378. package/dist/components/Typography/Text/Text.js.map +1 -1
  379. package/dist/components/Typography/Title/Title.d.ts +2 -2
  380. package/dist/components/Typography/Title/Title.js +10 -13
  381. package/dist/components/Typography/Title/Title.js.map +1 -1
  382. package/dist/components/Typography/Typography.d.ts +16 -0
  383. package/dist/components/Typography/Typography.js +24 -0
  384. package/dist/components/Typography/Typography.js.map +1 -0
  385. package/dist/components/UsersStack/UsersStack.d.ts +2 -2
  386. package/dist/components/UsersStack/UsersStack.js +2 -1
  387. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  388. package/dist/components/View/View.js +1 -1
  389. package/dist/components/View/View.js.map +1 -1
  390. package/dist/components/View/ViewInfinite.js +1 -1
  391. package/dist/components/View/ViewInfinite.js.map +1 -1
  392. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
  393. package/dist/components/VisuallyHidden/VisuallyHidden.js +25 -0
  394. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  395. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
  396. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +9 -4
  397. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  398. package/dist/components/WriteBarIcon/WriteBarIcon.js +2 -2
  399. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  400. package/dist/components.css +138 -138
  401. package/dist/components.css.map +1 -1
  402. package/dist/components.js.tmp +3802 -3692
  403. package/dist/cssm/components/Accordion/Accordion.d.ts +2 -2
  404. package/dist/cssm/components/Accordion/Accordion.js +2 -2
  405. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  406. package/dist/cssm/components/Accordion/Accordion.module.css +13 -1
  407. package/dist/cssm/components/Accordion/AccordionSummary.d.ts +1 -1
  408. package/dist/cssm/components/Accordion/AccordionSummary.js +1 -1
  409. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  410. package/dist/cssm/components/ActionSheet/ActionSheet.module.css +115 -1
  411. package/dist/cssm/components/ActionSheet/types.d.ts +1 -1
  412. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  413. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +241 -1
  414. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +14 -0
  415. package/dist/cssm/components/{WriteBarIcon/WriteBarIconRenderer.js → AdaptiveIconRenderer/AdaptiveIconRenderer.js} +5 -2
  416. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -0
  417. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  418. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  419. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  420. package/dist/cssm/components/Alert/Alert.module.css +287 -1
  421. package/dist/cssm/components/AppRoot/AppRoot.module.css +23 -1
  422. package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +3 -3
  423. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  424. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +2 -2
  425. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  426. package/dist/cssm/components/Avatar/Avatar.module.css +55 -1
  427. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.module.css +29 -1
  428. package/dist/cssm/components/Badge/Badge.module.css +27 -1
  429. package/dist/cssm/components/Banner/Banner.module.css +167 -1
  430. package/dist/cssm/components/BaseGallery/BaseGallery.module.css +82 -1
  431. package/dist/cssm/components/Button/Button.d.ts +1 -0
  432. package/dist/cssm/components/Button/Button.js +2 -1
  433. package/dist/cssm/components/Button/Button.js.map +1 -1
  434. package/dist/cssm/components/Button/Button.module.css +676 -1
  435. package/dist/cssm/components/ButtonGroup/ButtonGroup.module.css +77 -1
  436. package/dist/cssm/components/Calendar/Calendar.module.css +30 -1
  437. package/dist/cssm/components/CalendarDay/CalendarDay.module.css +84 -1
  438. package/dist/cssm/components/CalendarDays/CalendarDays.module.css +31 -1
  439. package/dist/cssm/components/CalendarHeader/CalendarHeader.module.css +41 -1
  440. package/dist/cssm/components/CalendarRange/CalendarRange.module.css +26 -1
  441. package/dist/cssm/components/CalendarTime/CalendarTime.module.css +19 -1
  442. package/dist/cssm/components/Card/Card.js +1 -3
  443. package/dist/cssm/components/Card/Card.js.map +1 -1
  444. package/dist/cssm/components/Card/Card.module.css +131 -3
  445. package/dist/cssm/components/CardGrid/CardGrid.js +4 -4
  446. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  447. package/dist/cssm/components/CardGrid/CardGrid.module.css +59 -1
  448. package/dist/cssm/components/CardScroll/CardScroll.module.css +64 -1
  449. package/dist/cssm/components/Cell/Cell.module.css +63 -1
  450. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +4 -2
  451. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +7 -5
  452. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  453. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.module.css +13 -1
  454. package/dist/cssm/components/Cell/CellDragger/CellDragger.module.css +4 -1
  455. package/dist/cssm/components/CellButton/CellButton.module.css +57 -1
  456. package/dist/cssm/components/Checkbox/Checkbox.d.ts +2 -1
  457. package/dist/cssm/components/Checkbox/Checkbox.js +10 -7
  458. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  459. package/dist/cssm/components/Checkbox/Checkbox.module.css +172 -1
  460. package/dist/cssm/components/Chip/Chip.module.css +67 -1
  461. package/dist/cssm/components/ChipsInput/ChipsInput.module.css +3 -1
  462. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +115 -1
  463. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  464. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
  465. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  466. package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +27 -1
  467. package/dist/cssm/components/ContentCard/ContentCard.module.css +31 -1
  468. package/dist/cssm/components/Counter/Counter.js +4 -6
  469. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  470. package/dist/cssm/components/Counter/Counter.module.css +72 -3
  471. package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +86 -1
  472. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +3 -0
  473. package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
  474. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  475. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +58 -1
  476. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +43 -1
  477. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
  478. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  479. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +81 -1
  480. package/dist/cssm/components/DateInput/DateInput.module.css +30 -1
  481. package/dist/cssm/components/DatePicker/DatePicker.module.css +30 -1
  482. package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +26 -1
  483. package/dist/cssm/components/Div/Div.module.css +4 -1
  484. package/dist/cssm/components/Epic/Epic.module.css +4 -1
  485. package/dist/cssm/components/Epic/ScrollSaver.d.ts +3 -3
  486. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  487. package/dist/cssm/components/File/File.js +4 -3
  488. package/dist/cssm/components/File/File.js.map +1 -1
  489. package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -1
  490. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  491. package/dist/cssm/components/FixedLayout/FixedLayout.module.css +58 -1
  492. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +4 -2
  493. package/dist/cssm/components/FocusVisible/FocusVisible.js +4 -3
  494. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  495. package/dist/cssm/components/FocusVisible/FocusVisible.module.css +104 -1
  496. package/dist/cssm/components/Footer/Footer.module.css +9 -1
  497. package/dist/cssm/components/FormField/FormField.js +10 -1
  498. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  499. package/dist/cssm/components/FormField/FormField.module.css +211 -1
  500. package/dist/cssm/components/FormItem/FormItem.d.ts +3 -1
  501. package/dist/cssm/components/FormItem/FormItem.js +2 -1
  502. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  503. package/dist/cssm/components/FormItem/FormItem.module.css +104 -1
  504. package/dist/cssm/components/FormLayout/FormLayout.module.css +18 -1
  505. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
  506. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  507. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  508. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +61 -1
  509. package/dist/cssm/components/FormStatus/FormStatus.module.css +3 -1
  510. package/dist/cssm/components/Gradient/Gradient.module.css +23 -1
  511. package/dist/cssm/components/GridAvatar/GridAvatar.module.css +37 -1
  512. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css +9 -1
  513. package/dist/cssm/components/Group/Group.d.ts +5 -3
  514. package/dist/cssm/components/Group/Group.js +5 -3
  515. package/dist/cssm/components/Group/Group.js.map +1 -1
  516. package/dist/cssm/components/Group/Group.module.css +166 -1
  517. package/dist/cssm/components/Header/Header.js +23 -18
  518. package/dist/cssm/components/Header/Header.js.map +1 -1
  519. package/dist/cssm/components/Header/Header.module.css +207 -1
  520. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +79 -1
  521. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
  522. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -1
  523. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  524. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +59 -1
  525. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
  526. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +5 -2
  527. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  528. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.module.css +67 -1
  529. package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +1 -1
  530. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  531. package/dist/cssm/components/IconButton/IconButton.d.ts +3 -3
  532. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  533. package/dist/cssm/components/IconButton/IconButton.module.css +152 -1
  534. package/dist/cssm/components/Image/ImageBadge/ImageBadge.module.css +10 -1
  535. package/dist/cssm/components/ImageBase/ImageBase.module.css +131 -1
  536. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +28 -1
  537. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +36 -1
  538. package/dist/cssm/components/InfoRow/InfoRow.module.css +17 -1
  539. package/dist/cssm/components/Input/Input.module.css +101 -1
  540. package/dist/cssm/components/InputLike/InputLike.module.css +31 -1
  541. package/dist/cssm/components/Link/Link.module.css +43 -1
  542. package/dist/cssm/components/List/List.module.css +3 -1
  543. package/dist/cssm/components/LocaleProvider/LocaleProvider.d.ts +2 -2
  544. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +2 -2
  545. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  546. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +78 -1
  547. package/dist/cssm/components/ModalCard/ModalCard.module.css +62 -1
  548. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +102 -1
  549. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.module.css +38 -1
  550. package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
  551. package/dist/cssm/components/ModalPage/ModalPage.js +17 -3
  552. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  553. package/dist/cssm/components/ModalPage/ModalPage.module.css +151 -1
  554. package/dist/cssm/components/ModalPage/ModalPageContext.d.ts +5 -0
  555. package/dist/cssm/components/ModalPage/ModalPageContext.js +4 -0
  556. package/dist/cssm/components/ModalPage/ModalPageContext.js.map +1 -0
  557. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +6 -1
  558. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  559. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +18 -1
  560. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +2 -27
  561. package/dist/cssm/components/ModalRoot/ModalRoot.js +12 -18
  562. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  563. package/dist/cssm/components/ModalRoot/ModalRoot.module.css +65 -1
  564. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
  565. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  566. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
  567. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +106 -125
  568. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  569. package/dist/cssm/components/ModalRoot/types.d.ts +28 -0
  570. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  571. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +6 -5
  572. package/dist/cssm/components/ModalRoot/useModalManager.js +3 -3
  573. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  574. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +6 -2
  575. package/dist/cssm/components/NativeSelect/NativeSelect.js +4 -3
  576. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  577. package/dist/cssm/components/Pagination/Pagination.module.css +83 -1
  578. package/dist/cssm/components/Panel/Panel.js +2 -2
  579. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  580. package/dist/cssm/components/Panel/Panel.module.css +177 -1
  581. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +11 -2
  582. package/dist/cssm/components/PanelHeader/PanelHeader.js +16 -7
  583. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  584. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +321 -1
  585. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  586. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  587. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +111 -1
  588. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  589. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +96 -1
  590. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  591. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  592. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +169 -1
  593. package/dist/cssm/components/Placeholder/Placeholder.module.css +41 -1
  594. package/dist/cssm/components/PlatformProvider/PlatformProvider.d.ts +1 -1
  595. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  596. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  597. package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +32 -1
  598. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -1
  599. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  600. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +96 -1
  601. package/dist/cssm/components/Popover/Popover.d.ts +3 -2
  602. package/dist/cssm/components/Popover/Popover.js +3 -2
  603. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  604. package/dist/cssm/components/Popover/Popover.module.css +28 -1
  605. package/dist/cssm/components/Popper/Popper.module.css +16 -1
  606. package/dist/cssm/components/PopperArrow/PopperArrow.module.css +23 -1
  607. package/dist/cssm/components/Progress/Progress.module.css +12 -1
  608. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -0
  609. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  610. package/dist/cssm/components/PromoBanner/PromoBanner.module.css +39 -1
  611. package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +3 -4
  612. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  613. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +101 -1
  614. package/dist/cssm/components/Radio/Radio.d.ts +2 -1
  615. package/dist/cssm/components/Radio/Radio.js +11 -7
  616. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  617. package/dist/cssm/components/Radio/Radio.module.css +140 -1
  618. package/dist/cssm/components/RadioGroup/RadioGroup.module.css +13 -1
  619. package/dist/cssm/components/Removable/Removable.d.ts +7 -2
  620. package/dist/cssm/components/Removable/Removable.js +2 -2
  621. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  622. package/dist/cssm/components/Removable/Removable.module.css +153 -1
  623. package/dist/cssm/components/RichCell/RichCell.module.css +144 -1
  624. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.module.css +11 -1
  625. package/dist/cssm/components/RichTooltip/RichTooltip.module.css +57 -1
  626. package/dist/cssm/components/Root/Root.js +4 -4
  627. package/dist/cssm/components/Root/Root.js.map +1 -1
  628. package/dist/cssm/components/Root/Root.module.css +136 -1
  629. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +66 -1
  630. package/dist/cssm/components/Search/Search.d.ts +3 -1
  631. package/dist/cssm/components/Search/Search.js +38 -54
  632. package/dist/cssm/components/Search/Search.js.map +1 -1
  633. package/dist/cssm/components/Search/Search.module.css +156 -1
  634. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +64 -1
  635. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
  636. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +7 -4
  637. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  638. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +52 -1
  639. package/dist/cssm/components/Select/Select.module.css +87 -1
  640. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +1 -1
  641. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  642. package/dist/cssm/components/SelectTypography/SelectTypography.d.ts +2 -3
  643. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  644. package/dist/cssm/components/SelectTypography/SelectTypography.module.css +30 -1
  645. package/dist/cssm/components/Separator/Separator.module.css +48 -1
  646. package/dist/cssm/components/SimpleCell/SimpleCell.js +8 -5
  647. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  648. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +223 -1
  649. package/dist/cssm/components/Slider/Slider.module.css +134 -1
  650. package/dist/cssm/components/Snackbar/Snackbar.module.css +165 -1
  651. package/dist/cssm/components/Spacing/Spacing.d.ts +2 -2
  652. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  653. package/dist/cssm/components/Spacing/Spacing.module.css +4 -1
  654. package/dist/cssm/components/Spinner/Spinner.module.css +36 -1
  655. package/dist/cssm/components/SplitCol/SplitCol.js +1 -0
  656. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  657. package/dist/cssm/components/SplitCol/SplitCol.module.css +51 -1
  658. package/dist/cssm/components/SplitLayout/SplitLayout.module.css +29 -1
  659. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.module.css +16 -1
  660. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -3
  661. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  662. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +166 -1
  663. package/dist/cssm/components/Switch/Switch.d.ts +4 -5
  664. package/dist/cssm/components/Switch/Switch.js +11 -8
  665. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  666. package/dist/cssm/components/Switch/Switch.module.css +200 -1
  667. package/dist/cssm/components/Tabbar/Tabbar.js +2 -4
  668. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  669. package/dist/cssm/components/Tabbar/Tabbar.module.css +34 -1
  670. package/dist/cssm/components/TabbarItem/TabbarItem.js +1 -1
  671. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  672. package/dist/cssm/components/TabbarItem/TabbarItem.module.css +118 -1
  673. package/dist/cssm/components/Tabs/Tabs.module.css +62 -1
  674. package/dist/cssm/components/TabsItem/TabsItem.module.css +229 -1
  675. package/dist/cssm/components/Tappable/Tappable.d.ts +2 -3
  676. package/dist/cssm/components/Tappable/Tappable.js +1 -0
  677. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  678. package/dist/cssm/components/Tappable/Tappable.module.css +142 -1
  679. package/dist/cssm/components/TextTooltip/TextTooltip.module.css +58 -1
  680. package/dist/cssm/components/Textarea/Textarea.module.css +87 -1
  681. package/dist/cssm/components/Tooltip/Tooltip.module.css +57 -1
  682. package/dist/cssm/components/Typography/Caption/Caption.d.ts +2 -2
  683. package/dist/cssm/components/Typography/Caption/Caption.js +9 -10
  684. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  685. package/dist/cssm/components/Typography/Caption/Caption.module.css +45 -1
  686. package/dist/cssm/components/Typography/Footnote/Footnote.d.ts +2 -2
  687. package/dist/cssm/components/Typography/Footnote/Footnote.js +7 -10
  688. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  689. package/dist/cssm/components/Typography/Footnote/Footnote.module.css +14 -1
  690. package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -4
  691. package/dist/cssm/components/Typography/Headline/Headline.js +9 -10
  692. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  693. package/dist/cssm/components/Typography/Headline/Headline.module.css +48 -1
  694. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +3 -5
  695. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +8 -10
  696. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  697. package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +6 -1
  698. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +2 -2
  699. package/dist/cssm/components/Typography/Subhead/Subhead.js +8 -9
  700. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  701. package/dist/cssm/components/Typography/Subhead/Subhead.module.css +18 -1
  702. package/dist/cssm/components/Typography/Text/Text.d.ts +3 -5
  703. package/dist/cssm/components/Typography/Text/Text.js +8 -10
  704. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  705. package/dist/cssm/components/Typography/Text/Text.module.css +29 -1
  706. package/dist/cssm/components/Typography/Title/Title.d.ts +2 -2
  707. package/dist/cssm/components/Typography/Title/Title.js +9 -10
  708. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  709. package/dist/cssm/components/Typography/Title/Title.module.css +20 -1
  710. package/dist/cssm/components/Typography/Typography.d.ts +16 -0
  711. package/dist/cssm/components/Typography/Typography.js +14 -0
  712. package/dist/cssm/components/Typography/Typography.js.map +1 -0
  713. package/dist/cssm/components/Typography/Typography.module.css +18 -0
  714. package/dist/cssm/components/UsersStack/UsersStack.d.ts +2 -2
  715. package/dist/cssm/components/UsersStack/UsersStack.js +2 -1
  716. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  717. package/dist/cssm/components/UsersStack/UsersStack.module.css +77 -1
  718. package/dist/cssm/components/View/View.js +6 -7
  719. package/dist/cssm/components/View/View.js.map +1 -1
  720. package/dist/cssm/components/View/View.module.css +228 -1
  721. package/dist/cssm/components/View/ViewInfinite.js +6 -7
  722. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  723. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
  724. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +19 -0
  725. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  726. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.module.css +10 -0
  727. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
  728. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +9 -4
  729. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  730. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.module.css +10 -1
  731. package/dist/cssm/components/WriteBar/WriteBar.module.css +119 -1
  732. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +2 -2
  733. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  734. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +66 -1
  735. package/dist/cssm/helpers/getPlatformClassName.js +1 -1
  736. package/dist/cssm/helpers/getPlatformClassName.js.map +1 -1
  737. package/dist/cssm/hooks/useFocusWithin.d.ts +2 -0
  738. package/dist/cssm/hooks/useFocusWithin.js +26 -0
  739. package/dist/cssm/hooks/useFocusWithin.js.map +1 -0
  740. package/dist/cssm/hooks/useId.js +1 -1
  741. package/dist/cssm/hooks/useId.js.map +1 -1
  742. package/dist/cssm/hooks/useWaitTransitionFinish.d.ts +1 -1
  743. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  744. package/dist/cssm/index.d.ts +4 -2
  745. package/dist/cssm/index.js +2 -1
  746. package/dist/cssm/index.js.map +1 -1
  747. package/dist/cssm/lib/utils.js +2 -2
  748. package/dist/cssm/lib/utils.js.map +1 -1
  749. package/dist/cssm/styles/adaptivity.module.css +87 -1
  750. package/dist/cssm/styles/common.css +36 -1
  751. package/dist/cssm/styles/constants.css +86 -1
  752. package/dist/cssm/styles/themes.css +1039 -1
  753. package/dist/helpers/getPlatformClassName.js +1 -1
  754. package/dist/helpers/getPlatformClassName.js.map +1 -1
  755. package/dist/hooks/useFocusWithin.d.ts +2 -0
  756. package/dist/hooks/useFocusWithin.js +27 -0
  757. package/dist/hooks/useFocusWithin.js.map +1 -0
  758. package/dist/hooks/useId.js +1 -1
  759. package/dist/hooks/useId.js.map +1 -1
  760. package/dist/hooks/useWaitTransitionFinish.d.ts +1 -1
  761. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  762. package/dist/index.d.ts +4 -2
  763. package/dist/index.js +2 -0
  764. package/dist/index.js.map +1 -1
  765. package/dist/lib/utils.js +2 -2
  766. package/dist/lib/utils.js.map +1 -1
  767. package/dist/vkui.css +139 -139
  768. package/dist/vkui.css.map +1 -1
  769. package/dist/vkui.js.tmp +3802 -3692
  770. package/package.json +24 -17
  771. package/dist/cjs/components/Typography/types.d.ts +0 -11
  772. package/dist/cjs/components/Typography/types.js.map +0 -1
  773. package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
  774. package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
  775. package/dist/components/Typography/types.d.ts +0 -11
  776. package/dist/components/Typography/types.js +0 -3
  777. package/dist/components/Typography/types.js.map +0 -1
  778. package/dist/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
  779. package/dist/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
  780. package/dist/cssm/components/Typography/types.d.ts +0 -11
  781. package/dist/cssm/components/Typography/types.js +0 -3
  782. package/dist/cssm/components/Typography/types.js.map +0 -1
  783. package/dist/cssm/components/View/ViewIOS.module.css +0 -1
  784. package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
  785. package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
  786. package/dist/cssm/styles/animations.css +0 -1
@@ -1 +1,65 @@
1
- .vkuiModalRoot,.vkuiModalRoot__mask{height:100%;width:100%}.vkuiModalRoot__mask{animation:vkui-animation-fadeIn .32s ease;background:rgba(0,0,0,.4);left:0;opacity:1;position:absolute;top:0;transition:opacity 167ms ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vkuiModalRoot--touched .vkuiModalRoot__mask{transition:none}.vkuiModalRoot--switching .vkuiModalRoot__mask{pointer-events:none}.vkuiModalRoot__viewport{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}:not(.vkuiModalRoot--desktop).vkuiModalRoot .vkuiModalRoot__viewport{top:0;top:var(--vkui_internal--safe_area_inset_top)}:not(.vkuiModalRoot--desktop).vkuiModalRoot--vkapps .vkuiModalRoot__viewport{top:calc(0px + 56px);top:calc(var(--vkui_internal--safe_area_inset_top) + var(--vkui--size_panel_header_height--regular))}.vkuiModalRoot__modal{box-sizing:border-box;height:100%;position:absolute;width:100%}@keyframes vkui-animation-fadeIn{0%{opacity:0}to{opacity:1}}
1
+ .ModalRoot {
2
+ width: 100%;
3
+ height: 100%;
4
+ }
5
+
6
+ .ModalRoot__mask {
7
+ opacity: 1;
8
+ width: 100%;
9
+ height: 100%;
10
+ position: absolute;
11
+ left: 0;
12
+ top: 0;
13
+ background: rgba(0, 0, 0, 0.4);
14
+ -webkit-user-select: none;
15
+ -moz-user-select: none;
16
+ -ms-user-select: none;
17
+ user-select: none;
18
+ transition: opacity 167ms ease-out;
19
+ animation: vkui-animation-fadeIn 0.32s ease;
20
+ }
21
+
22
+ .ModalRoot--touched .ModalRoot__mask {
23
+ transition: none;
24
+ }
25
+
26
+ .ModalRoot--switching .ModalRoot__mask {
27
+ /** Во время автоматической анимации смены модалок с фоном взаимодействовать нельзя */
28
+ pointer-events: none;
29
+ }
30
+
31
+ .ModalRoot__viewport {
32
+ position: absolute;
33
+ top: 0;
34
+ right: 0;
35
+ bottom: 0;
36
+ left: 0;
37
+ pointer-events: none;
38
+ }
39
+
40
+ :not(.ModalRoot--desktop).ModalRoot .ModalRoot__viewport {
41
+ top: var(--vkui_internal--safe_area_inset_top);
42
+ }
43
+
44
+ :not(.ModalRoot--desktop).ModalRoot--vkapps .ModalRoot__viewport {
45
+ top: calc(
46
+ var(--vkui_internal--safe_area_inset_top) + var(--vkui--size_panel_header_height--regular)
47
+ );
48
+ }
49
+
50
+ .ModalRoot__modal {
51
+ position: absolute;
52
+ width: 100%;
53
+ height: 100%;
54
+ box-sizing: border-box;
55
+ }
56
+
57
+ @keyframes vkui-animation-fadeIn {
58
+ from {
59
+ opacity: 0;
60
+ }
61
+
62
+ to {
63
+ opacity: 1;
64
+ }
65
+ }
@@ -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":["React","useAdaptivityWithJSMediaQueries","useScrollLock","ModalRootTouch","ModalRootDesktop","ModalRoot","props","isDesktop","activeModal","RootComponent"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,+BAA+B,QAAQ,8CAA8C;AAC9F,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,gBAAgB,QAAQ,qBAAqB;AA2BtD;;CAEC,GACD,OAAO,MAAMC,YAAY,CAACC,QAA0B;IAClD,MAAM,EAAEC,UAAS,EAAE,GAAGN;IAEtBC,cAAc,CAAC,CAACI,MAAME,WAAW;IAEjC,MAAMC,gBAAgBF,YAAYH,mBAAmBD,cAAc;IAEnE,qBAAO,oBAACM,eAAkBH;AAC5B,EAAE"}
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":["React","useAdaptivityWithJSMediaQueries","useScrollLock","ModalRootTouch","ModalRootDesktop","ModalRoot","props","isDesktop","activeModal","RootComponent"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,+BAA+B,QAAQ,8CAA8C;AAC9F,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,gBAAgB,QAAQ,qBAAqB;AAGtD;;CAEC,GACD,OAAO,MAAMC,YAAY,CAACC,QAA0B;IAClD,MAAM,EAAEC,UAAS,EAAE,GAAGN;IAEtBC,cAAc,CAAC,CAACI,MAAME,WAAW;IAEjC,MAAMC,gBAAgBF,YAAYH,mBAAmBD,cAAc;IAEnE,qBAAO,oBAACM,eAAkBH;AAC5B,EAAE"}
@@ -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;
@@ -1,77 +1,74 @@
1
1
  import * as React from 'react';
2
- import { classNames } from '@vkontakte/vkjs';
2
+ import { classNames, noop } from '@vkontakte/vkjs';
3
3
  import { clamp } from '../../helpers/math';
4
- import { withContext } from '../../hoc/withContext';
5
- import { withPlatform } from '../../hoc/withPlatform';
6
- import { withDOM } from '../../lib/dom';
4
+ import { useObjectMemo } from '../../hooks/useObjectMemo';
5
+ import { usePrevious } from '../../hooks/usePrevious';
6
+ import { useWaitTransitionFinish } from '../../hooks/useWaitTransitionFinish';
7
+ import { useDOM } from '../../lib/dom';
7
8
  import { getNavId } from '../../lib/getNavId';
8
9
  import { Platform } from '../../lib/platform';
9
- import { transitionEvent } from '../../lib/supportEvents';
10
10
  import { warnOnce } from '../../lib/warnOnce';
11
- import { ConfigProviderContext, WebviewType } from '../ConfigProvider/ConfigProviderContext';
11
+ import { useConfigProvider, WebviewType } from '../ConfigProvider/ConfigProviderContext';
12
12
  import { FocusTrap } from '../FocusTrap/FocusTrap';
13
13
  import { ModalRootContext } from './ModalRootContext';
14
- import { withModalManager } from './useModalManager';
14
+ import { useModalManager } from './useModalManager';
15
15
  import styles from './ModalRoot.module.css';
16
16
  const warn = warnOnce('ModalRoot');
17
- class ModalRootDesktopComponent extends React.Component {
18
- constructor(props){
19
- super(props);
20
- this.maskElementRef = /*#__PURE__*/ React.createRef();
21
- this.modalRootContext = {
22
- updateModalHeight: ()=>undefined,
23
- registerModal: ({ id , ...data })=>Object.assign(this.getModalState(id) ?? {}, data),
24
- onClose: ()=>this.props.onExit(),
25
- isInsideModal: true
26
- };
27
- }
28
- maskElementRef;
29
- maskAnimationFrame = undefined;
30
- modalRootContext;
31
- restoreFocusTo = undefined;
32
- get timeout() {
33
- return this.props.platform === Platform.IOS ? 400 : 320;
34
- }
35
- get modals() {
36
- return React.Children.toArray(this.props.children);
37
- }
38
- getModalState(id) {
39
- if (id === null) {
40
- return undefined;
41
- }
42
- return this.props.getModalState(id);
43
- }
44
- componentDidUpdate(prevProps) {
45
- // transition phase 2: animate exiting modal
46
- if (this.props.exitingModal && this.props.exitingModal !== prevProps.exitingModal) {
47
- this.closeModal(this.props.exitingModal);
48
- }
49
- // transition phase 3: animate entering modal
50
- if (this.props.enteringModal && this.props.enteringModal !== prevProps.enteringModal) {
51
- this.openModal(prevProps);
17
+ export const ModalRootDesktop = ({ activeModal: activeModalProp , children , onOpen , onOpened , onClose , onClosed })=>{
18
+ const maskElementRef = React.useRef(null);
19
+ const maskAnimationFrame = React.useRef(undefined);
20
+ const restoreFocusTo = React.useRef(undefined);
21
+ const { document } = useDOM();
22
+ const { webviewType , platform } = useConfigProvider();
23
+ const { activeModal , exitingModal , onExit , getModalState , enteringModal , onEnter , onEntered , onExited , history , delayEnter } = useModalManager(activeModalProp, children, onOpen, onOpened, onClose, onClosed, noop);
24
+ const { waitTransitionFinish } = useWaitTransitionFinish();
25
+ const prevProps = usePrevious({
26
+ exitingModal,
27
+ enteringModal,
28
+ activeModal
29
+ });
30
+ const modalRootContext = useObjectMemo({
31
+ updateModalHeight: ()=>undefined,
32
+ registerModal: ({ id , ...data })=>Object.assign(getModalState(id) ?? {}, data),
33
+ onClose: onExit,
34
+ isInsideModal: true
35
+ });
36
+ const timeout = platform === Platform.IOS ? 400 : 320;
37
+ const modals = React.Children.toArray(children);
38
+ /* Анимирует сдвиг модального окна */ const animateModalOpacity = (modalState, display)=>{
39
+ if (modalState?.innerElement) {
40
+ modalState.innerElement.style.transition = '';
41
+ modalState.innerElement.style.transitionDelay = display && delayEnter ? `${timeout}ms` : '';
42
+ modalState.innerElement.style.opacity = display ? '1' : '0';
52
43
  }
53
- // focus restoration
54
- if (this.props.activeModal && !prevProps.activeModal) {
55
- this.restoreFocusTo = this.props.document?.activeElement ?? undefined;
44
+ };
45
+ /* Устанавливает прозрачность для полупрозрачной подложки */ const setMaskOpacity = (modalState, forceOpacity = null)=>{
46
+ if (forceOpacity === null && history?.[0] !== modalState.id) {
47
+ return;
56
48
  }
57
- if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {
58
- this.restoreFocusTo.focus();
59
- this.restoreFocusTo = undefined;
49
+ if (maskAnimationFrame.current) {
50
+ cancelAnimationFrame(maskAnimationFrame.current);
60
51
  }
61
- }
62
- openModal(prevProps) {
63
- const { enteringModal } = this.props;
64
- if (!enteringModal) {
52
+ maskAnimationFrame.current = requestAnimationFrame(()=>{
53
+ if (maskElementRef.current) {
54
+ const { translateY =0 , translateYCurrent =0 } = modalState;
55
+ const opacity = forceOpacity === null ? 1 - (translateYCurrent - translateY) / (100 - translateY) || 0 : forceOpacity;
56
+ maskElementRef.current.style.opacity = clamp(opacity, 0, 100).toString();
57
+ }
58
+ });
59
+ };
60
+ const openModal = ()=>{
61
+ if (!enteringModal || !prevProps) {
65
62
  return;
66
63
  }
67
- const enteringState = this.getModalState(enteringModal);
68
- this.props.onEnter();
64
+ const enteringState = getModalState(enteringModal);
65
+ onEnter();
69
66
  // Анимация открытия модального окна
70
67
  if (!prevProps.exitingModal) {
71
68
  requestAnimationFrame(()=>{
72
- if (this.props.enteringModal === enteringModal) {
73
- this.waitTransitionFinish(enteringState, ()=>this.props.onEntered(enteringModal));
74
- this.animateModalOpacity(enteringState, true);
69
+ if (enteringModal === enteringModal) {
70
+ waitTransitionFinish(enteringState?.innerElement, ()=>onEntered(enteringModal), timeout);
71
+ animateModalOpacity(enteringState, true);
75
72
  }
76
73
  });
77
74
  return;
@@ -81,89 +78,73 @@ class ModalRootDesktopComponent extends React.Component {
81
78
  enteringState.innerElement.style.transition = 'none';
82
79
  enteringState.innerElement.style.opacity = '1';
83
80
  }
84
- this.props.onEntered(enteringModal);
85
- }
86
- closeModal(id) {
87
- const prevModalState = this.getModalState(id);
81
+ onEntered(enteringModal);
82
+ };
83
+ const closeModal = (id)=>{
84
+ const prevModalState = getModalState(id);
88
85
  if (!prevModalState) {
89
86
  return;
90
87
  }
91
88
  // Анимация закрытия модального окна
92
- if (!this.props.activeModal) {
89
+ if (!activeModal) {
93
90
  requestAnimationFrame(()=>{
94
- this.waitTransitionFinish(prevModalState, ()=>this.props.onExited(id));
95
- this.animateModalOpacity(prevModalState, false);
96
- this.setMaskOpacity(prevModalState, 0);
91
+ waitTransitionFinish(prevModalState?.innerElement, ()=>onExited(id), timeout);
92
+ animateModalOpacity(prevModalState, false);
93
+ setMaskOpacity(prevModalState, 0);
97
94
  });
98
95
  return;
99
96
  }
100
97
  // Переход между модальными окнами без анимации
101
- this.props.onExited(id);
102
- }
103
- waitTransitionFinish(modalState, eventHandler) {
104
- if (transitionEvent.supported) {
105
- const onceHandler = ()=>{
106
- modalState?.innerElement?.removeEventListener(transitionEvent.name, onceHandler);
107
- eventHandler();
108
- };
109
- modalState?.innerElement?.addEventListener(transitionEvent.name, onceHandler);
110
- } else {
111
- setTimeout(eventHandler, this.timeout);
98
+ onExited(id);
99
+ };
100
+ React.useEffect(()=>{
101
+ if (!prevProps) {
102
+ return;
112
103
  }
113
- }
114
- /* Анимирует сдвиг модалки */ animateModalOpacity(modalState, display) {
115
- if (modalState?.innerElement) {
116
- modalState.innerElement.style.transition = '';
117
- modalState.innerElement.style.transitionDelay = display && this.props.delayEnter ? `${this.timeout}ms` : '';
118
- modalState.innerElement.style.opacity = display ? '1' : '0';
104
+ // transition phase 2: animate exiting modal
105
+ if (exitingModal && exitingModal !== prevProps.exitingModal) {
106
+ closeModal(exitingModal);
119
107
  }
120
- }
121
- /* Устанавливает прозрачность для полупрозрачной подложки */ setMaskOpacity(modalState, forceOpacity = null) {
122
- if (forceOpacity === null && this.props.history?.[0] !== modalState.id) {
123
- return;
108
+ // transition phase 3: animate entering modal
109
+ if (enteringModal && enteringModal !== prevProps.enteringModal) {
110
+ openModal();
124
111
  }
125
- if (this.maskAnimationFrame) {
126
- cancelAnimationFrame(this.maskAnimationFrame);
112
+ // focus restoration
113
+ if (activeModal && !prevProps.activeModal) {
114
+ restoreFocusTo.current = document?.activeElement ?? undefined;
127
115
  }
128
- this.maskAnimationFrame = requestAnimationFrame(()=>{
129
- if (this.maskElementRef.current) {
130
- const { translateY =0 , translateYCurrent =0 } = modalState;
131
- const opacity = forceOpacity === null ? 1 - (translateYCurrent - translateY) / (100 - translateY) || 0 : forceOpacity;
132
- this.maskElementRef.current.style.opacity = clamp(opacity, 0, 100).toString();
133
- }
134
- });
116
+ if (!activeModal && !exitingModal && restoreFocusTo.current) {
117
+ restoreFocusTo.current.focus();
118
+ restoreFocusTo.current = undefined;
119
+ }
120
+ });
121
+ if (!activeModal && !exitingModal) {
122
+ return null;
135
123
  }
136
- render() {
137
- const { exitingModal , activeModal } = this.props;
138
- if (!activeModal && !exitingModal) {
124
+ return /*#__PURE__*/ React.createElement(ModalRootContext.Provider, {
125
+ value: modalRootContext
126
+ }, /*#__PURE__*/ React.createElement("div", {
127
+ className: classNames(styles['ModalRoot'], webviewType === WebviewType.VKAPPS && styles['ModalRoot--vkapps'], styles['ModalRoot--desktop'])
128
+ }, /*#__PURE__*/ React.createElement("div", {
129
+ className: styles['ModalRoot__mask'],
130
+ ref: maskElementRef,
131
+ onClick: onExit
132
+ }), /*#__PURE__*/ React.createElement("div", {
133
+ className: styles['ModalRoot__viewport']
134
+ }, modals.map((Modal)=>{
135
+ const modalId = getNavId(Modal.props, warn);
136
+ if (modalId !== activeModal && modalId !== exitingModal) {
139
137
  return null;
140
138
  }
141
- return /*#__PURE__*/ React.createElement(ModalRootContext.Provider, {
142
- value: this.modalRootContext
143
- }, /*#__PURE__*/ React.createElement("div", {
144
- className: classNames(styles['ModalRoot'], this.props.configProvider?.webviewType === WebviewType.VKAPPS && styles['ModalRoot--vkapps'], styles['ModalRoot--desktop'])
145
- }, /*#__PURE__*/ React.createElement("div", {
146
- className: styles['ModalRoot__mask'],
147
- ref: this.maskElementRef,
148
- onClick: this.props.onExit
149
- }), /*#__PURE__*/ React.createElement("div", {
150
- className: styles['ModalRoot__viewport']
151
- }, this.modals.map((Modal)=>{
152
- const modalId = getNavId(Modal.props, warn);
153
- if (modalId !== activeModal && modalId !== exitingModal) {
154
- return null;
155
- }
156
- const key = `modal-${modalId}`;
157
- return /*#__PURE__*/ React.createElement(FocusTrap, {
158
- restoreFocus: false,
159
- onClose: this.props.onExit,
160
- timeout: this.timeout,
161
- key: key,
162
- className: styles['ModalRoot__modal']
163
- }, Modal);
164
- }))));
165
- }
166
- }
167
- export const ModalRootDesktop = withContext(withPlatform(withDOM(withModalManager()(ModalRootDesktopComponent))), ConfigProviderContext, 'configProvider');
139
+ const key = `modal-${modalId}`;
140
+ return /*#__PURE__*/ React.createElement(FocusTrap, {
141
+ restoreFocus: false,
142
+ onClose: onExit,
143
+ timeout: timeout,
144
+ key: key,
145
+ className: styles['ModalRoot__modal']
146
+ }, Modal);
147
+ }))));
148
+ };
168
149
 
169
150
  //# sourceMappingURL=ModalRootDesktop.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootDesktop.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasPlatform } from '../../types';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n WebviewType,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport { ModalsStateEntry } from './types';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nexport interface ModalRootProps extends HasPlatform {\n activeModal?: string | null;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n children?: React.ReactNode;\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?(modalId: string): void;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?(modalId: string): void;\n}\n\nclass ModalRootDesktopComponent extends React.Component<\n ModalRootProps & DOMProps & ModalTransitionProps\n> {\n constructor(props: ModalRootProps & ModalTransitionProps) {\n super(props);\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: () => undefined,\n registerModal: ({ id, ...data }) => Object.assign(this.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n }\n\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private restoreFocusTo: HTMLElement | undefined = undefined;\n\n private get timeout() {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n private get modals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n getModalState(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.props.getModalState(id);\n }\n\n componentDidUpdate(prevProps: ModalRootProps & ModalTransitionProps) {\n // transition phase 2: animate exiting modal\n if (this.props.exitingModal && this.props.exitingModal !== prevProps.exitingModal) {\n this.closeModal(this.props.exitingModal);\n }\n\n // transition phase 3: animate entering modal\n if (this.props.enteringModal && this.props.enteringModal !== prevProps.enteringModal) {\n this.openModal(prevProps);\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = (this.props.document?.activeElement ?? undefined) as\n | HTMLElement\n | undefined;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = undefined;\n }\n }\n\n openModal(prevProps: ModalRootProps & ModalTransitionProps) {\n const { enteringModal } = this.props;\n if (!enteringModal) {\n return;\n }\n\n const enteringState = this.getModalState(enteringModal);\n this.props.onEnter();\n\n // Анимация открытия модального окна\n if (!prevProps.exitingModal) {\n requestAnimationFrame(() => {\n if (this.props.enteringModal === enteringModal) {\n this.waitTransitionFinish(enteringState, () => this.props.onEntered(enteringModal));\n this.animateModalOpacity(enteringState, true);\n }\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transition = 'none';\n enteringState.innerElement.style.opacity = '1';\n }\n\n this.props.onEntered(enteringModal);\n }\n\n closeModal(id: string) {\n const prevModalState = this.getModalState(id);\n if (!prevModalState) {\n return;\n }\n\n // Анимация закрытия модального окна\n if (!this.props.activeModal) {\n requestAnimationFrame(() => {\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n this.animateModalOpacity(prevModalState, false);\n this.setMaskOpacity(prevModalState, 0);\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n this.props.onExited(id);\n }\n\n waitTransitionFinish(modalState: ModalsStateEntry | undefined, eventHandler: () => void) {\n if (transitionEvent.supported) {\n const onceHandler = () => {\n modalState?.innerElement?.removeEventListener(transitionEvent.name as string, onceHandler);\n eventHandler();\n };\n\n modalState?.innerElement?.addEventListener(transitionEvent.name as string, onceHandler);\n } else {\n setTimeout(eventHandler, this.timeout);\n }\n }\n\n /* Анимирует сдвиг модалки */\n animateModalOpacity(modalState: ModalsStateEntry | undefined, display: boolean) {\n if (modalState?.innerElement) {\n modalState.innerElement.style.transition = '';\n modalState.innerElement.style.transitionDelay =\n display && this.props.delayEnter ? `${this.timeout}ms` : '';\n modalState.innerElement.style.opacity = display ? '1' : '0';\n }\n }\n\n /* Устанавливает прозрачность для полупрозрачной подложки */\n setMaskOpacity(modalState: ModalsStateEntry, forceOpacity: number | null = null) {\n if (forceOpacity === null && this.props.history?.[0] !== modalState.id) {\n return;\n }\n\n if (this.maskAnimationFrame) {\n cancelAnimationFrame(this.maskAnimationFrame);\n }\n this.maskAnimationFrame = requestAnimationFrame(() => {\n if (this.maskElementRef.current) {\n const { translateY = 0, translateYCurrent = 0 } = modalState;\n\n const opacity =\n forceOpacity === null\n ? 1 - (translateYCurrent - translateY) / (100 - translateY) || 0\n : forceOpacity;\n this.maskElementRef.current.style.opacity = clamp(opacity, 0, 100).toString();\n }\n });\n }\n\n render() {\n const { exitingModal, activeModal } = this.props;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <ModalRootContext.Provider value={this.modalRootContext}>\n <div\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n styles['ModalRoot--desktop'],\n )}\n >\n <div\n className={styles['ModalRoot__mask']}\n ref={this.maskElementRef}\n onClick={this.props.onExit}\n />\n <div className={styles['ModalRoot__viewport']}>\n {this.modals.map((Modal: React.ReactElement) => {\n const modalId = getNavId(Modal.props, warn);\n if (modalId !== activeModal && modalId !== exitingModal) {\n return null;\n }\n\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n restoreFocus={false}\n onClose={this.props.onExit}\n timeout={this.timeout}\n key={key}\n className={styles['ModalRoot__modal']}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </div>\n </ModalRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootDesktop = withContext(\n withPlatform(withDOM<ModalRootProps>(withModalManager()(ModalRootDesktopComponent))),\n ConfigProviderContext,\n 'configProvider',\n);\n"],"names":["React","classNames","clamp","withContext","withPlatform","withDOM","getNavId","Platform","transitionEvent","warnOnce","ConfigProviderContext","WebviewType","FocusTrap","ModalRootContext","withModalManager","styles","warn","ModalRootDesktopComponent","Component","constructor","props","maskElementRef","createRef","modalRootContext","updateModalHeight","undefined","registerModal","id","data","Object","assign","getModalState","onClose","onExit","isInsideModal","maskAnimationFrame","restoreFocusTo","timeout","platform","IOS","modals","Children","toArray","children","componentDidUpdate","prevProps","exitingModal","closeModal","enteringModal","openModal","activeModal","document","activeElement","focus","enteringState","onEnter","requestAnimationFrame","waitTransitionFinish","onEntered","animateModalOpacity","innerElement","style","transition","opacity","prevModalState","onExited","setMaskOpacity","modalState","eventHandler","supported","onceHandler","removeEventListener","name","addEventListener","setTimeout","display","transitionDelay","delayEnter","forceOpacity","history","cancelAnimationFrame","current","translateY","translateYCurrent","toString","render","Provider","value","div","className","configProvider","webviewType","VKAPPS","ref","onClick","map","Modal","modalId","key","restoreFocus","ModalRootDesktop"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,WAAW,QAAQ,wBAAwB;AACpD,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAAmBC,OAAO,QAAQ,gBAAgB;AAClD,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SACEC,qBAAqB,EAErBC,WAAW,QACN,0CAA0C;AACjD,SAASC,SAAS,QAAQ,yBAAyB;AACnD,SAASC,gBAAgB,QAAmC,qBAAqB;AAEjF,SAA+BC,gBAAgB,QAAQ,oBAAoB;AAC3E,OAAOC,YAAY,yBAAyB;AAE5C,MAAMC,OAAOP,SAAS;AA+BtB,MAAMQ,kCAAkCjB,MAAMkB,SAAS;IAGrDC,YAAYC,KAA4C,CAAE;QACxD,KAAK,CAACA;QAEN,IAAI,CAACC,cAAc,iBAAGrB,MAAMsB,SAAS;QAErC,IAAI,CAACC,gBAAgB,GAAG;YACtBC,mBAAmB,IAAMC;YACzBC,eAAe,CAAC,EAAEC,GAAE,EAAE,GAAGC,MAAM,GAAKC,OAAOC,MAAM,CAAC,IAAI,CAACC,aAAa,CAACJ,OAAO,CAAC,GAAGC;YAChFI,SAAS,IAAM,IAAI,CAACZ,KAAK,CAACa,MAAM;YAChCC,eAAe,IAAI;QACrB;IACF;IAEiBb,eAAgD;IACzDc,qBAAyCV,UAAU;IAC1CF,iBAA4C;IACrDa,iBAA0CX,UAAU;IAE5D,IAAYY,UAAU;QACpB,OAAO,IAAI,CAACjB,KAAK,CAACkB,QAAQ,KAAK/B,SAASgC,GAAG,GAAG,MAAM,GAAG;IACzD;IAEA,IAAYC,SAAS;QACnB,OAAOxC,MAAMyC,QAAQ,CAACC,OAAO,CAAC,IAAI,CAACtB,KAAK,CAACuB,QAAQ;IACnD;IAEAZ,cAAcJ,EAAiB,EAAE;QAC/B,IAAIA,OAAO,IAAI,EAAE;YACf,OAAOF;QACT,CAAC;QACD,OAAO,IAAI,CAACL,KAAK,CAACW,aAAa,CAACJ;IAClC;IAEAiB,mBAAmBC,SAAgD,EAAE;QACnE,4CAA4C;QAC5C,IAAI,IAAI,CAACzB,KAAK,CAAC0B,YAAY,IAAI,IAAI,CAAC1B,KAAK,CAAC0B,YAAY,KAAKD,UAAUC,YAAY,EAAE;YACjF,IAAI,CAACC,UAAU,CAAC,IAAI,CAAC3B,KAAK,CAAC0B,YAAY;QACzC,CAAC;QAED,6CAA6C;QAC7C,IAAI,IAAI,CAAC1B,KAAK,CAAC4B,aAAa,IAAI,IAAI,CAAC5B,KAAK,CAAC4B,aAAa,KAAKH,UAAUG,aAAa,EAAE;YACpF,IAAI,CAACC,SAAS,CAACJ;QACjB,CAAC;QAED,oBAAoB;QACpB,IAAI,IAAI,CAACzB,KAAK,CAAC8B,WAAW,IAAI,CAACL,UAAUK,WAAW,EAAE;YACpD,IAAI,CAACd,cAAc,GAAI,IAAI,CAAChB,KAAK,CAAC+B,QAAQ,EAAEC,iBAAiB3B;QAG/D,CAAC;QACD,IAAI,CAAC,IAAI,CAACL,KAAK,CAAC8B,WAAW,IAAI,CAAC,IAAI,CAAC9B,KAAK,CAAC0B,YAAY,IAAI,IAAI,CAACV,cAAc,EAAE;YAC9E,IAAI,CAACA,cAAc,CAACiB,KAAK;YACzB,IAAI,CAACjB,cAAc,GAAGX;QACxB,CAAC;IACH;IAEAwB,UAAUJ,SAAgD,EAAE;QAC1D,MAAM,EAAEG,cAAa,EAAE,GAAG,IAAI,CAAC5B,KAAK;QACpC,IAAI,CAAC4B,eAAe;YAClB;QACF,CAAC;QAED,MAAMM,gBAAgB,IAAI,CAACvB,aAAa,CAACiB;QACzC,IAAI,CAAC5B,KAAK,CAACmC,OAAO;QAElB,oCAAoC;QACpC,IAAI,CAACV,UAAUC,YAAY,EAAE;YAC3BU,sBAAsB,IAAM;gBAC1B,IAAI,IAAI,CAACpC,KAAK,CAAC4B,aAAa,KAAKA,eAAe;oBAC9C,IAAI,CAACS,oBAAoB,CAACH,eAAe,IAAM,IAAI,CAAClC,KAAK,CAACsC,SAAS,CAACV;oBACpE,IAAI,CAACW,mBAAmB,CAACL,eAAe,IAAI;gBAC9C,CAAC;YACH;YAEA;QACF,CAAC;QAED,+CAA+C;QAC/C,IAAIA,eAAeM,cAAc;YAC/BN,cAAcM,YAAY,CAACC,KAAK,CAACC,UAAU,GAAG;YAC9CR,cAAcM,YAAY,CAACC,KAAK,CAACE,OAAO,GAAG;QAC7C,CAAC;QAED,IAAI,CAAC3C,KAAK,CAACsC,SAAS,CAACV;IACvB;IAEAD,WAAWpB,EAAU,EAAE;QACrB,MAAMqC,iBAAiB,IAAI,CAACjC,aAAa,CAACJ;QAC1C,IAAI,CAACqC,gBAAgB;YACnB;QACF,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAAC5C,KAAK,CAAC8B,WAAW,EAAE;YAC3BM,sBAAsB,IAAM;gBAC1B,IAAI,CAACC,oBAAoB,CAACO,gBAAgB,IAAM,IAAI,CAAC5C,KAAK,CAAC6C,QAAQ,CAACtC;gBACpE,IAAI,CAACgC,mBAAmB,CAACK,gBAAgB,KAAK;gBAC9C,IAAI,CAACE,cAAc,CAACF,gBAAgB;YACtC;YAEA;QACF,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC5C,KAAK,CAAC6C,QAAQ,CAACtC;IACtB;IAEA8B,qBAAqBU,UAAwC,EAAEC,YAAwB,EAAE;QACvF,IAAI5D,gBAAgB6D,SAAS,EAAE;YAC7B,MAAMC,cAAc,IAAM;gBACxBH,YAAYP,cAAcW,oBAAoB/D,gBAAgBgE,IAAI,EAAYF;gBAC9EF;YACF;YAEAD,YAAYP,cAAca,iBAAiBjE,gBAAgBgE,IAAI,EAAYF;QAC7E,OAAO;YACLI,WAAWN,cAAc,IAAI,CAAC/B,OAAO;QACvC,CAAC;IACH;IAEA,2BAA2B,GAC3BsB,oBAAoBQ,UAAwC,EAAEQ,OAAgB,EAAE;QAC9E,IAAIR,YAAYP,cAAc;YAC5BO,WAAWP,YAAY,CAACC,KAAK,CAACC,UAAU,GAAG;YAC3CK,WAAWP,YAAY,CAACC,KAAK,CAACe,eAAe,GAC3CD,WAAW,IAAI,CAACvD,KAAK,CAACyD,UAAU,GAAG,CAAC,EAAE,IAAI,CAACxC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;YAC7D8B,WAAWP,YAAY,CAACC,KAAK,CAACE,OAAO,GAAGY,UAAU,MAAM,GAAG;QAC7D,CAAC;IACH;IAEA,0DAA0D,GAC1DT,eAAeC,UAA4B,EAAEW,eAA8B,IAAI,EAAE;QAC/E,IAAIA,iBAAiB,IAAI,IAAI,IAAI,CAAC1D,KAAK,CAAC2D,OAAO,EAAE,CAAC,EAAE,KAAKZ,WAAWxC,EAAE,EAAE;YACtE;QACF,CAAC;QAED,IAAI,IAAI,CAACQ,kBAAkB,EAAE;YAC3B6C,qBAAqB,IAAI,CAAC7C,kBAAkB;QAC9C,CAAC;QACD,IAAI,CAACA,kBAAkB,GAAGqB,sBAAsB,IAAM;YACpD,IAAI,IAAI,CAACnC,cAAc,CAAC4D,OAAO,EAAE;gBAC/B,MAAM,EAAEC,YAAa,EAAC,EAAEC,mBAAoB,EAAC,EAAE,GAAGhB;gBAElD,MAAMJ,UACJe,iBAAiB,IAAI,GACjB,IAAI,AAACK,CAAAA,oBAAoBD,UAAS,IAAM,CAAA,MAAMA,UAAS,KAAM,IAC7DJ,YAAY;gBAClB,IAAI,CAACzD,cAAc,CAAC4D,OAAO,CAACpB,KAAK,CAACE,OAAO,GAAG7D,MAAM6D,SAAS,GAAG,KAAKqB,QAAQ;YAC7E,CAAC;QACH;IACF;IAEAC,SAAS;QACP,MAAM,EAAEvC,aAAY,EAAEI,YAAW,EAAE,GAAG,IAAI,CAAC9B,KAAK;QAEhD,IAAI,CAAC8B,eAAe,CAACJ,cAAc;YACjC,OAAO,IAAI;QACb,CAAC;QAED,qBACE,oBAACjC,iBAAiByE,QAAQ;YAACC,OAAO,IAAI,CAAChE,gBAAgB;yBACrD,oBAACiE;YACCC,WAAWxF,WACTc,MAAM,CAAC,YAAY,EACnB,IAAI,CAACK,KAAK,CAACsE,cAAc,EAAEC,gBAAgBhF,YAAYiF,MAAM,IAC3D7E,MAAM,CAAC,oBAAoB,EAC7BA,MAAM,CAAC,qBAAqB;yBAG9B,oBAACyE;YACCC,WAAW1E,MAAM,CAAC,kBAAkB;YACpC8E,KAAK,IAAI,CAACxE,cAAc;YACxByE,SAAS,IAAI,CAAC1E,KAAK,CAACa,MAAM;0BAE5B,oBAACuD;YAAIC,WAAW1E,MAAM,CAAC,sBAAsB;WAC1C,IAAI,CAACyB,MAAM,CAACuD,GAAG,CAAC,CAACC,QAA8B;YAC9C,MAAMC,UAAU3F,SAAS0F,MAAM5E,KAAK,EAAEJ;YACtC,IAAIiF,YAAY/C,eAAe+C,YAAYnD,cAAc;gBACvD,OAAO,IAAI;YACb,CAAC;YAED,MAAMoD,MAAM,CAAC,MAAM,EAAED,QAAQ,CAAC;YAE9B,qBACE,oBAACrF;gBACCuF,cAAc,KAAK;gBACnBnE,SAAS,IAAI,CAACZ,KAAK,CAACa,MAAM;gBAC1BI,SAAS,IAAI,CAACA,OAAO;gBACrB6D,KAAKA;gBACLT,WAAW1E,MAAM,CAAC,mBAAmB;eAEpCiF;QAGP;IAKV;AACF;AAEA,OAAO,MAAMI,mBAAmBjG,YAC9BC,aAAaC,QAAwBS,mBAAmBG,8BACxDP,uBACA,kBACA"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootDesktop.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { useWaitTransitionFinish } from '../../hooks/useWaitTransitionFinish';\nimport { useDOM } from '../../lib/dom';\nimport { getNavId } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useConfigProvider, WebviewType } from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport { ModalRootWithDOMProps, ModalsStateEntry } from './types';\nimport { useModalManager } from './useModalManager';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nexport const ModalRootDesktop = ({\n activeModal: activeModalProp,\n children,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n}: ModalRootWithDOMProps) => {\n const maskElementRef = React.useRef<HTMLDivElement>(null);\n const maskAnimationFrame = React.useRef<number | undefined>(undefined);\n const restoreFocusTo = React.useRef<HTMLElement | undefined>(undefined);\n\n const { document } = useDOM();\n const { webviewType, platform } = useConfigProvider();\n const {\n activeModal,\n exitingModal,\n onExit,\n getModalState,\n enteringModal,\n onEnter,\n onEntered,\n onExited,\n history,\n delayEnter,\n } = useModalManager(activeModalProp, children, onOpen, onOpened, onClose, onClosed, noop);\n\n const { waitTransitionFinish } = useWaitTransitionFinish();\n const prevProps = usePrevious({\n exitingModal,\n enteringModal,\n activeModal,\n });\n const modalRootContext: ModalRootContextInterface = useObjectMemo({\n updateModalHeight: () => undefined,\n registerModal: ({ id, ...data }) => Object.assign(getModalState(id) ?? {}, data),\n onClose: onExit,\n isInsideModal: true,\n });\n\n const timeout = platform === Platform.IOS ? 400 : 320;\n const modals = React.Children.toArray(children) as React.ReactElement[];\n\n /* Анимирует сдвиг модального окна */\n const animateModalOpacity = (modalState: ModalsStateEntry | undefined, display: boolean) => {\n if (modalState?.innerElement) {\n modalState.innerElement.style.transition = '';\n modalState.innerElement.style.transitionDelay = display && delayEnter ? `${timeout}ms` : '';\n modalState.innerElement.style.opacity = display ? '1' : '0';\n }\n };\n\n /* Устанавливает прозрачность для полупрозрачной подложки */\n const setMaskOpacity = (modalState: ModalsStateEntry, forceOpacity: number | null = null) => {\n if (forceOpacity === null && history?.[0] !== modalState.id) {\n return;\n }\n\n if (maskAnimationFrame.current) {\n cancelAnimationFrame(maskAnimationFrame.current);\n }\n maskAnimationFrame.current = requestAnimationFrame(() => {\n if (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 maskElementRef.current.style.opacity = clamp(opacity, 0, 100).toString();\n }\n });\n };\n\n const openModal = () => {\n if (!enteringModal || !prevProps) {\n return;\n }\n\n const enteringState = getModalState(enteringModal);\n onEnter();\n\n // Анимация открытия модального окна\n if (!prevProps.exitingModal) {\n requestAnimationFrame(() => {\n if (enteringModal === enteringModal) {\n waitTransitionFinish(\n enteringState?.innerElement,\n () => onEntered(enteringModal),\n timeout,\n );\n animateModalOpacity(enteringState, true);\n }\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transition = 'none';\n enteringState.innerElement.style.opacity = '1';\n }\n\n onEntered(enteringModal);\n };\n\n const closeModal = (id: string) => {\n const prevModalState = getModalState(id);\n if (!prevModalState) {\n return;\n }\n\n // Анимация закрытия модального окна\n if (!activeModal) {\n requestAnimationFrame(() => {\n waitTransitionFinish(prevModalState?.innerElement, () => onExited(id), timeout);\n animateModalOpacity(prevModalState, false);\n setMaskOpacity(prevModalState, 0);\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n onExited(id);\n };\n\n React.useEffect(() => {\n if (!prevProps) {\n return;\n }\n\n // transition phase 2: animate exiting modal\n if (exitingModal && exitingModal !== prevProps.exitingModal) {\n closeModal(exitingModal);\n }\n\n // transition phase 3: animate entering modal\n if (enteringModal && enteringModal !== prevProps.enteringModal) {\n openModal();\n }\n\n // focus restoration\n if (activeModal && !prevProps.activeModal) {\n restoreFocusTo.current = (document?.activeElement ?? undefined) as HTMLElement | undefined;\n }\n if (!activeModal && !exitingModal && restoreFocusTo.current) {\n restoreFocusTo.current.focus();\n restoreFocusTo.current = undefined;\n }\n });\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <ModalRootContext.Provider value={modalRootContext}>\n <div\n className={classNames(\n styles['ModalRoot'],\n webviewType === WebviewType.VKAPPS && styles['ModalRoot--vkapps'],\n styles['ModalRoot--desktop'],\n )}\n >\n <div className={styles['ModalRoot__mask']} ref={maskElementRef} onClick={onExit} />\n <div className={styles['ModalRoot__viewport']}>\n {modals.map((Modal: React.ReactElement) => {\n const modalId = getNavId(Modal.props, warn);\n if (modalId !== activeModal && modalId !== exitingModal) {\n return null;\n }\n\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n restoreFocus={false}\n onClose={onExit}\n timeout={timeout}\n key={key}\n className={styles['ModalRoot__modal']}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </div>\n </ModalRootContext.Provider>\n );\n};\n"],"names":["React","classNames","noop","clamp","useObjectMemo","usePrevious","useWaitTransitionFinish","useDOM","getNavId","Platform","warnOnce","useConfigProvider","WebviewType","FocusTrap","ModalRootContext","useModalManager","styles","warn","ModalRootDesktop","activeModal","activeModalProp","children","onOpen","onOpened","onClose","onClosed","maskElementRef","useRef","maskAnimationFrame","undefined","restoreFocusTo","document","webviewType","platform","exitingModal","onExit","getModalState","enteringModal","onEnter","onEntered","onExited","history","delayEnter","waitTransitionFinish","prevProps","modalRootContext","updateModalHeight","registerModal","id","data","Object","assign","isInsideModal","timeout","IOS","modals","Children","toArray","animateModalOpacity","modalState","display","innerElement","style","transition","transitionDelay","opacity","setMaskOpacity","forceOpacity","current","cancelAnimationFrame","requestAnimationFrame","translateY","translateYCurrent","toString","openModal","enteringState","closeModal","prevModalState","useEffect","activeElement","focus","Provider","value","div","className","VKAPPS","ref","onClick","map","Modal","modalId","props","key","restoreFocus"],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import { DOMContextInterface } from '../../lib/dom';
2
+ import { HasChildren, HasPlatform } from '../../types';
3
+ import { ConfigProviderContextInterface } from '../ConfigProvider/ConfigProviderContext';
1
4
  export declare enum ModalType {
2
5
  PAGE = "page",
3
6
  CARD = "card"
@@ -58,3 +61,28 @@ export interface ModalsStateEntry extends ModalElements {
58
61
  collapsedRange?: TranslateRange;
59
62
  hiddenRange?: TranslateRange;
60
63
  }
64
+ export interface ModalRootProps extends HasChildren {
65
+ activeModal?: string | null;
66
+ /**
67
+ * Будет вызвано при начале открытия активной модалки с её id
68
+ */
69
+ onOpen?(modalId: string): void;
70
+ /**
71
+ * Будет вызвано при окончательном открытии активной модалки с её id
72
+ */
73
+ onOpened?(modalId: string): void;
74
+ /**
75
+ * Будет вызвано при начале закрытия активной модалки с её id
76
+ */
77
+ onClose?(modalId: string): void;
78
+ /**
79
+ * Будет вызвано при окончательном закрытии активной модалки с её id
80
+ */
81
+ onClosed?(modalId: string): void;
82
+ }
83
+ export interface ModalRootWithDOMProps extends HasPlatform, ModalRootProps, DOMContextInterface {
84
+ /**
85
+ * @ignore
86
+ */
87
+ configProvider?: ConfigProviderContextInterface;
88
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/types.ts"],"sourcesContent":["export enum ModalType {\n PAGE = 'page',\n CARD = 'card',\n}\n\nexport type TranslateRange = [number, number];\n\nexport type ModalsState = { [index: string]: ModalsStateEntry };\n\nexport interface ModalElements {\n modalElement?: HTMLElement | null;\n innerElement?: HTMLElement | null;\n headerElement?: HTMLElement | null;\n contentElement?: HTMLElement | null;\n}\n\nexport interface ModalsStateEntry extends ModalElements {\n id: string | null;\n /**\n * Событие начала открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Событие открытия модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Событие начала закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Событие закрытия модалки.\n */\n onClosed?: VoidFunction;\n type?: ModalType;\n\n settlingHeight?: number;\n dynamicContentHeight?: boolean;\n expandable?: boolean;\n\n /**\n * Процент текущего сдвига модалки\n */\n translateY?: number;\n /**\n * Процент сдвига модалки в изначальном состоянии\n */\n translateYFrom?: number;\n /**\n * Процент сдвига модалки во время взаимодействия с ней (потянуть, чтобы открыть или закрыть)\n */\n translateYCurrent?: number;\n\n touchStartContentScrollTop?: number;\n touchMovePositive?: boolean | null;\n touchShiftYPercent?: number;\n\n expanded?: boolean;\n collapsed?: boolean;\n hidden?: boolean;\n\n contentScrolled?: boolean;\n contentScrollStopTimeout?: ReturnType<typeof setTimeout>;\n\n expandedRange?: TranslateRange;\n collapsedRange?: TranslateRange;\n hiddenRange?: TranslateRange;\n}\n"],"names":["ModalType","PAGE","CARD"],"mappings":"WAAO;UAAKA,SAAS;IAATA,UACVC,UAAO;IADGD,UAEVE,UAAO;GAFGF,cAAAA"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/types.ts"],"sourcesContent":["import { DOMContextInterface } from '../../lib/dom';\nimport { HasChildren, HasPlatform } from '../../types';\nimport { ConfigProviderContextInterface } from '../ConfigProvider/ConfigProviderContext';\n\nexport enum ModalType {\n PAGE = 'page',\n CARD = 'card',\n}\n\nexport type TranslateRange = [number, number];\n\nexport type ModalsState = { [index: string]: ModalsStateEntry };\n\nexport interface ModalElements {\n modalElement?: HTMLElement | null;\n innerElement?: HTMLElement | null;\n headerElement?: HTMLElement | null;\n contentElement?: HTMLElement | null;\n}\n\nexport interface ModalsStateEntry extends ModalElements {\n id: string | null;\n /**\n * Событие начала открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Событие открытия модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Событие начала закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Событие закрытия модалки.\n */\n onClosed?: VoidFunction;\n type?: ModalType;\n\n settlingHeight?: number;\n dynamicContentHeight?: boolean;\n expandable?: boolean;\n\n /**\n * Процент текущего сдвига модалки\n */\n translateY?: number;\n /**\n * Процент сдвига модалки в изначальном состоянии\n */\n translateYFrom?: number;\n /**\n * Процент сдвига модалки во время взаимодействия с ней (потянуть, чтобы открыть или закрыть)\n */\n translateYCurrent?: number;\n\n touchStartContentScrollTop?: number;\n touchMovePositive?: boolean | null;\n touchShiftYPercent?: number;\n\n expanded?: boolean;\n collapsed?: boolean;\n hidden?: boolean;\n\n contentScrolled?: boolean;\n contentScrollStopTimeout?: ReturnType<typeof setTimeout>;\n\n expandedRange?: TranslateRange;\n collapsedRange?: TranslateRange;\n hiddenRange?: TranslateRange;\n}\n\nexport interface ModalRootProps extends HasChildren {\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\nexport interface ModalRootWithDOMProps extends HasPlatform, ModalRootProps, DOMContextInterface {\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n}\n"],"names":["ModalType","PAGE","CARD"],"mappings":"WAIO;UAAKA,SAAS;IAATA,UACVC,UAAO;IADGD,UAEVE,UAAO;GAFGF,cAAAA"}
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { HasChildren } from '../../types';
2
3
  import { ModalsStateEntry } from './types';
3
4
  interface ModalTransitionState {
4
5
  activeModal?: string | null;
@@ -12,7 +13,7 @@ export interface ModalTransitionProps extends ModalTransitionState {
12
13
  onEntered: (id: string | null) => void;
13
14
  onExit: VoidFunction;
14
15
  onExited: (id: string | null) => void;
15
- getModalState: (id: string) => ModalsStateEntry;
16
+ getModalState: (id: string | undefined | null) => ModalsStateEntry | undefined;
16
17
  delayEnter: boolean;
17
18
  }
18
19
  export declare function modalTransitionReducer(state: ModalTransitionState, action: {
@@ -32,8 +33,8 @@ export declare function modalTransitionReducer(state: ModalTransitionState, acti
32
33
  * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен
33
34
  */
34
35
  export declare function useModalManager(activeModal: string | null | undefined, children: React.ReactNode | React.ReactNode[], onOpen?: (id: string) => void, onOpened?: (id: string) => void, onClose?: (id: string) => void, onClosed?: (id: string) => void, initModal?: (state: ModalsStateEntry) => void): ModalTransitionProps;
35
- export declare function withModalManager(initModal?: (a: ModalsStateEntry) => void): <Props extends ModalTransitionProps>(Wrapped: React.ComponentType<Props>) => React.ComponentType<Omit<Props, keyof ModalTransitionProps> & {
36
- activeModal?: string | null | undefined;
37
- children?: React.ReactNode;
38
- }>;
36
+ type WithModalManager<Props extends ModalTransitionProps> = HasChildren & Omit<Props, keyof ModalTransitionProps> & {
37
+ activeModal?: string | null;
38
+ };
39
+ export declare function withModalManager(initModal?: (a: ModalsStateEntry) => void): <Props extends ModalTransitionProps>(Wrapped: React.ComponentType<Props>) => React.ComponentType<WithModalManager<Props>>;
39
40
  export {};
@@ -157,7 +157,7 @@ export function modalTransitionReducer(state, action) {
157
157
  onClosed
158
158
  ]);
159
159
  const delayEnter = Boolean(transitionState.exitingModal && (isCard(activeModal) || isCard(transitionState.exitingModal)));
160
- const getModalState = React.useCallback((id)=>modalsState[id], [
160
+ const getModalState = React.useCallback((id)=>id ? modalsState[id] : undefined, [
161
161
  modalsState
162
162
  ]);
163
163
  function onEnter() {
@@ -165,7 +165,7 @@ export function modalTransitionReducer(state, action) {
165
165
  if (modalState) {
166
166
  if (isFunction(modalState.onOpen)) {
167
167
  modalState.onOpen();
168
- } else if (isFunction(onOpen)) {
168
+ } else if (isFunction(onOpen) && modalState.id) {
169
169
  onOpen(modalState.id);
170
170
  }
171
171
  }
@@ -175,7 +175,7 @@ export function modalTransitionReducer(state, action) {
175
175
  if (modalState) {
176
176
  if (isFunction(modalState.onClose)) {
177
177
  modalState.onClose();
178
- } else if (isFunction(onClose)) {
178
+ } else if (isFunction(onClose) && modalState.id) {
179
179
  onClose(modalState.id);
180
180
  }
181
181
  }