@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
@@ -7,8 +7,8 @@ export type AccordionProps = React.DetailsHTMLAttributes<HTMLDetailsElement> & H
7
7
  *
8
8
  * Обертка над details.
9
9
  *
10
- * @version 5.3.0
11
- * @see https://vkcom.github.io/VKUI/#/Accordion
10
+ * @since 5.3.0
11
+ * @see https://vkcom.github.io/VKUI/#/Accordion
12
12
  */
13
13
  export declare const Accordion: {
14
14
  ({ getRootRef, className, ...restProps }: AccordionProps): JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { AccordionSummary } from './AccordionSummary';\nimport styles from './Accordion.module.css';\n\nexport type AccordionProps = React.DetailsHTMLAttributes<HTMLDetailsElement> &\n HasRootRef<HTMLDetailsElement>;\n\n/**\n * Компонент, позволяет отображать несколько разделов контента в ограниченном\n * пространстве и сворачивать или разворачивать их пользователем.\n *\n * Обертка над details.\n *\n * @version 5.3.0\n * @see https://vkcom.github.io/VKUI/#/Accordion\n */\nexport const Accordion = ({ getRootRef, className, ...restProps }: AccordionProps) => (\n <details className={classNames(styles['Accordion'], className)} ref={getRootRef} {...restProps} />\n);\n\nAccordion.Summary = AccordionSummary;\n"],"names":["Accordion","getRootRef","className","restProps","details","classNames","ref","Summary","AccordionSummary"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;2DAlBU;oBACI;gCAEM;AAe1B,IAAMA,YAAY,+BACvB;QAD0BC,oBAAAA,YAAYC,mBAAAA,WAAcC;QAA1BF;QAAYC;;WACtC,qBAACE;QAAQF,WAAWG,IAAAA,gBAAU,mBAAsBH;QAAYI,KAAKL;OAAgBE;AAAY;AAGnGH,UAAUO,OAAO,GAAGC,kCAAgB"}
1
+ {"version":3,"sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { AccordionSummary } from './AccordionSummary';\nimport styles from './Accordion.module.css';\n\nexport type AccordionProps = React.DetailsHTMLAttributes<HTMLDetailsElement> &\n HasRootRef<HTMLDetailsElement>;\n\n/**\n * Компонент, позволяет отображать несколько разделов контента в ограниченном\n * пространстве и сворачивать или разворачивать их пользователем.\n *\n * Обертка над details.\n *\n * @since 5.3.0\n * @see https://vkcom.github.io/VKUI/#/Accordion\n */\nexport const Accordion = ({ getRootRef, className, ...restProps }: AccordionProps) => (\n <details className={classNames(styles['Accordion'], className)} ref={getRootRef} {...restProps} />\n);\n\nAccordion.Summary = AccordionSummary;\n"],"names":["Accordion","getRootRef","className","restProps","details","classNames","ref","Summary","AccordionSummary"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;2DAlBU;oBACI;gCAEM;AAe1B,IAAMA,YAAY,+BACvB;QAD0BC,oBAAAA,YAAYC,mBAAAA,WAAcC;QAA1BF;QAAYC;;WACtC,qBAACE;QAAQF,WAAWG,IAAAA,gBAAU,mBAAsBH;QAAYI,KAAKL;OAAgBE;AAAY;AAGnGH,UAAUO,OAAO,GAAGC,kCAAgB"}
@@ -17,7 +17,7 @@ export interface AccordionSummaryProps extends Omit<SimpleCellProps, 'expandable
17
17
  /**
18
18
  * Обертка над summary.
19
19
  *
20
- * @version 5.3.0
20
+ * @since 5.3.0
21
21
  * @see https://vkcom.github.io/VKUI/#/Accordion
22
22
  */
23
23
  export declare const AccordionSummary: ({ className, after, before, ExpandIcon, CollapseIcon, iconPosition, children, ...restProps }: AccordionSummaryProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Accordion/AccordionSummary.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon24ChevronDown, Icon24ChevronUp } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { SimpleCell, SimpleCellProps } from '../SimpleCell/SimpleCell';\nimport styles from './Accordion.module.css';\n\nexport interface AccordionSummaryProps extends Omit<SimpleCellProps, 'expandable'> {\n /**\n * Иконка для раскрытия контента.\n */\n ExpandIcon?: React.ElementType;\n /**\n * Иконка для сворачивания контента.\n */\n CollapseIcon?: React.ElementType;\n /**\n * Позиция иконки.\n */\n iconPosition?: 'before' | 'after';\n}\n\n/**\n * Обертка над summary.\n *\n * @version 5.3.0\n * @see https://vkcom.github.io/VKUI/#/Accordion\n */\nexport const AccordionSummary = ({\n className,\n after,\n before,\n ExpandIcon = Icon24ChevronDown,\n CollapseIcon = Icon24ChevronUp,\n iconPosition = 'after',\n children,\n ...restProps\n}: AccordionSummaryProps) => {\n const accordionIcon = (\n // Обертка нужна для правильной работы с отступами в SimpleCell\n // Без обертки на AccordionSummary__icon--collapse не будет действовать правило `last-child`\n <span className=\"vkuiIcon\">\n <ExpandIcon\n className={classNames(\n styles['AccordionSummary__icon'],\n styles['AccordionSummary__icon--expand'],\n )}\n />\n <CollapseIcon\n className={classNames(\n styles['AccordionSummary__icon'],\n styles['AccordionSummary__icon--collapse'],\n )}\n />\n </span>\n );\n\n return (\n <SimpleCell\n className={classNames(styles['AccordionSummary'], className)}\n Component=\"summary\"\n before={\n <>\n {iconPosition === 'before' && accordionIcon}\n {before}\n </>\n }\n after={\n <>\n {after}\n {iconPosition === 'after' && accordionIcon}\n </>\n }\n {...restProps}\n >\n {children}\n </SimpleCell>\n );\n};\n"],"names":["AccordionSummary","className","after","before","ExpandIcon","Icon24ChevronDown","CollapseIcon","Icon24ChevronUp","iconPosition","children","restProps","accordionIcon","span","classNames","SimpleCell","Component"],"mappings":";;;;+BA2BaA;;;eAAAA;;;;;;0DA3BK;qBACiC;oBACxB;0BACiB;AAwBrC,IAAMA,mBAAmB,iBASH;QAR3BC,mBAAAA,WACAC,eAAAA,OACAC,gBAAAA,mCACAC,YAAAA,4CAAaC,wBAAiB,mDAC9BC,cAAAA,gDAAeC,sBAAe,qDAC9BC,cAAAA,gDAAe,+BACfC,kBAAAA,UACGC;QAPHT;QACAC;QACAC;QACAC;QACAE;QACAE;QACAC;;IAGA,IAAME,gBACJ,+DAA+D;IAC/D,4FAA4F;kBAC5F,6BAACC;QAAKX,WAAU;qBACd,6BAACG;QACCH,WAAWY,IAAAA,gBAAU;sBAKvB,6BAACP;QACCL,WAAWY,IAAAA,gBAAU;;IAQ3B,qBACE,6BAACC,sBAAU;QACTb,WAAWY,IAAAA,gBAAU,0BAA6BZ;QAClDc,WAAU;QACVZ,sBACE,4DACGK,iBAAiB,YAAYG,eAC7BR;QAGLD,qBACE,4DACGA,OACAM,iBAAiB,WAAWG;OAG7BD,YAEHD;AAGP"}
1
+ {"version":3,"sources":["../../../../src/components/Accordion/AccordionSummary.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon24ChevronDown, Icon24ChevronUp } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { SimpleCell, SimpleCellProps } from '../SimpleCell/SimpleCell';\nimport styles from './Accordion.module.css';\n\nexport interface AccordionSummaryProps extends Omit<SimpleCellProps, 'expandable'> {\n /**\n * Иконка для раскрытия контента.\n */\n ExpandIcon?: React.ElementType;\n /**\n * Иконка для сворачивания контента.\n */\n CollapseIcon?: React.ElementType;\n /**\n * Позиция иконки.\n */\n iconPosition?: 'before' | 'after';\n}\n\n/**\n * Обертка над summary.\n *\n * @since 5.3.0\n * @see https://vkcom.github.io/VKUI/#/Accordion\n */\nexport const AccordionSummary = ({\n className,\n after,\n before,\n ExpandIcon = Icon24ChevronDown,\n CollapseIcon = Icon24ChevronUp,\n iconPosition = 'after',\n children,\n ...restProps\n}: AccordionSummaryProps) => {\n const accordionIcon = (\n // Обертка нужна для правильной работы с отступами в SimpleCell\n // Без обертки на AccordionSummary__icon--collapse не будет действовать правило `last-child`\n <span className=\"vkuiIcon\">\n <ExpandIcon\n className={classNames(\n styles['AccordionSummary__icon'],\n styles['AccordionSummary__icon--expand'],\n )}\n />\n <CollapseIcon\n className={classNames(\n styles['AccordionSummary__icon'],\n styles['AccordionSummary__icon--collapse'],\n )}\n />\n </span>\n );\n\n return (\n <SimpleCell\n className={classNames(styles['AccordionSummary'], className)}\n Component=\"summary\"\n before={\n <>\n {iconPosition === 'before' && accordionIcon}\n {before}\n </>\n }\n after={\n <>\n {after}\n {iconPosition === 'after' && accordionIcon}\n </>\n }\n {...restProps}\n >\n {children}\n </SimpleCell>\n );\n};\n"],"names":["AccordionSummary","className","after","before","ExpandIcon","Icon24ChevronDown","CollapseIcon","Icon24ChevronUp","iconPosition","children","restProps","accordionIcon","span","classNames","SimpleCell","Component"],"mappings":";;;;+BA2BaA;;;eAAAA;;;;;;0DA3BK;qBACiC;oBACxB;0BACiB;AAwBrC,IAAMA,mBAAmB,iBASH;QAR3BC,mBAAAA,WACAC,eAAAA,OACAC,gBAAAA,mCACAC,YAAAA,4CAAaC,wBAAiB,mDAC9BC,cAAAA,gDAAeC,sBAAe,qDAC9BC,cAAAA,gDAAe,+BACfC,kBAAAA,UACGC;QAPHT;QACAC;QACAC;QACAC;QACAE;QACAE;QACAC;;IAGA,IAAME,gBACJ,+DAA+D;IAC/D,4FAA4F;kBAC5F,6BAACC;QAAKX,WAAU;qBACd,6BAACG;QACCH,WAAWY,IAAAA,gBAAU;sBAKvB,6BAACP;QACCL,WAAWY,IAAAA,gBAAU;;IAQ3B,qBACE,6BAACC,sBAAU;QACTb,WAAWY,IAAAA,gBAAU,0BAA6BZ;QAClDc,WAAU;QACVZ,sBACE,4DACGK,iBAAiB,YAAYG,eAC7BR;QAGLD,qBACE,4DACGA,OACAM,iBAAiB,WAAWG;OAG7BD,YAEHD;AAGP"}
@@ -7,7 +7,7 @@ export interface SharedDropdownProps extends FocusTrapProps {
7
7
  /**
8
8
  * Элемент, рядом с которым вылезает попап на десктопе.
9
9
  * Лучше передавать RefObject c current.
10
- * В v5 будет обязательным.
10
+ * В v6 будет обязательным.
11
11
  */
12
12
  toggleRef?: ToggleRef;
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/types.ts"],"sourcesContent":["import * as React from 'react';\nimport { FocusTrapProps } from '../FocusTrap/FocusTrap';\n\nexport type PopupDirection =\n | 'top'\n | 'bottom'\n | ((elRef: React.RefObject<HTMLDivElement>) => 'top' | 'bottom');\nexport type ToggleRef = Element | null | undefined | React.RefObject<Element>;\n\nexport interface SharedDropdownProps extends FocusTrapProps {\n closing: boolean;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v5 будет обязательным.\n */\n toggleRef?: ToggleRef;\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Отступ, где заданное кол-во единиц равняется пикселям\n * */\n popupOffsetDistance?: number;\n}\n"],"names":[],"mappings":";;;;;2DAAuB"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/types.ts"],"sourcesContent":["import * as React from 'react';\nimport { FocusTrapProps } from '../FocusTrap/FocusTrap';\n\nexport type PopupDirection =\n | 'top'\n | 'bottom'\n | ((elRef: React.RefObject<HTMLDivElement>) => 'top' | 'bottom');\nexport type ToggleRef = Element | null | undefined | React.RefObject<Element>;\n\nexport interface SharedDropdownProps extends FocusTrapProps {\n closing: boolean;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v6 будет обязательным.\n */\n toggleRef?: ToggleRef; // TODO [>=6]: сделать обязательным\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Отступ, где заданное кол-во единиц равняется пикселям\n * */\n popupOffsetDistance?: number;\n}\n"],"names":[],"mappings":";;;;;2DAAuB"}
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ export interface AdaptiveIconRendererProps {
3
+ IconCompact: React.ComponentType<{
4
+ className?: string;
5
+ }>;
6
+ IconRegular: React.ComponentType<{
7
+ className?: string;
8
+ }>;
9
+ }
10
+ /**
11
+ * @since 5.4.0
12
+ * @see https://vkcom.github.io/VKUI/#/AdaptiveIconRenderer
13
+ */
14
+ export declare const AdaptiveIconRenderer: ({ IconCompact, IconRegular }: AdaptiveIconRendererProps) => JSX.Element;
@@ -2,16 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "WriteBarIconRenderer", {
5
+ Object.defineProperty(exports, "AdaptiveIconRenderer", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return WriteBarIconRenderer;
8
+ return AdaptiveIconRenderer;
9
9
  }
10
10
  });
11
11
  var _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
12
12
  var _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
13
13
  var _useAdaptivityConditionalRender = require("../../hooks/useAdaptivityConditionalRender");
14
- var WriteBarIconRenderer = function(param) {
14
+ var AdaptiveIconRenderer = function(param) {
15
15
  var IconCompact = param.IconCompact, IconRegular = param.IconRegular;
16
16
  var sizeY = (0, _useAdaptivityConditionalRender.useAdaptivityConditionalRender)().sizeY;
17
17
  return /*#__PURE__*/ _react.createElement(_react.Fragment, null, sizeY.compact && /*#__PURE__*/ _react.createElement(IconCompact, {
@@ -21,4 +21,4 @@ var WriteBarIconRenderer = function(param) {
21
21
  }));
22
22
  };
23
23
 
24
- //# sourceMappingURL=WriteBarIconRenderer.js.map
24
+ //# sourceMappingURL=AdaptiveIconRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\n\nexport interface AdaptiveIconRendererProps {\n IconCompact: React.ComponentType<{ className?: string }>;\n IconRegular: React.ComponentType<{ className?: string }>;\n}\n\n/**\n * @since 5.4.0\n * @see https://vkcom.github.io/VKUI/#/AdaptiveIconRenderer\n */\nexport const AdaptiveIconRenderer = ({ IconCompact, IconRegular }: AdaptiveIconRendererProps) => {\n const { sizeY } = useAdaptivityConditionalRender();\n\n return (\n <React.Fragment>\n {sizeY.compact && <IconCompact className={sizeY.compact.className} />}\n {sizeY.regular && <IconRegular className={sizeY.regular.className} />}\n </React.Fragment>\n );\n};\n"],"names":["AdaptiveIconRenderer","IconCompact","IconRegular","sizeY","useAdaptivityConditionalRender","React","Fragment","compact","className","regular"],"mappings":";;;;+BAYaA;;;eAAAA;;;;2DAZU;8CACwB;AAWxC,IAAMA,uBAAuB,gBAA6D;QAA1DC,oBAAAA,aAAaC,oBAAAA;IAClD,IAAM,AAAEC,QAAUC,IAAAA,8DAA8B,IAAxCD;IAER,qBACE,qBAACE,OAAMC,QAAQ,QACZH,MAAMI,OAAO,kBAAI,qBAACN;QAAYO,WAAWL,MAAMI,OAAO,CAACC,SAAS;QAChEL,MAAMM,OAAO,kBAAI,qBAACP;QAAYM,WAAWL,MAAMM,OAAO,CAACD,SAAS;;AAGvE"}
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
1
+ /// <reference types="react" />
2
+ import { HasChildren } from '../../types';
2
3
  import { type AdaptivityProps } from './AdaptivityContext';
3
- export interface AdaptivityProviderProps extends AdaptivityProps {
4
- children?: React.ReactNode;
4
+ export interface AdaptivityProviderProps extends AdaptivityProps, HasChildren {
5
5
  }
6
6
  /**
7
7
  * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider
8
8
  */
9
- export declare const AdaptivityProvider: ({ viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, children, }: React.PropsWithChildren<AdaptivityProps>) => JSX.Element;
9
+ export declare const AdaptivityProvider: ({ viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, children, }: AdaptivityProviderProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as _hasPointer } from '@vkontakte/vkjs';\nimport { BridgeAdaptivity, useBridgeAdaptivity } from '../../hooks/useBridgeAdaptivity';\nimport { BREAKPOINTS, SizeType, ViewHeight, ViewWidth } from '../../lib/adaptivity';\nimport { AdaptivityContext, type AdaptivityProps } from './AdaptivityContext';\n\nexport interface AdaptivityProviderProps extends AdaptivityProps {\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider\n */\nexport const AdaptivityProvider = ({\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n children,\n}: React.PropsWithChildren<AdaptivityProps>) => {\n const bridge = useBridgeAdaptivity();\n const adaptivity = React.useMemo(\n () =>\n calculateAdaptivity(\n {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n },\n bridge,\n ),\n [viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, bridge],\n );\n\n return <AdaptivityContext.Provider value={adaptivity}>{children}</AdaptivityContext.Provider>;\n};\n\nfunction calculateAdaptivity(\n { viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover }: AdaptivityProps,\n bridge: BridgeAdaptivity,\n) {\n if (bridge.type === 'adaptive') {\n const { viewportWidth, viewportHeight } = bridge;\n\n if (viewportWidth >= BREAKPOINTS.DESKTOP) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (viewportWidth >= BREAKPOINTS.TABLET) {\n viewWidth = ViewWidth.TABLET;\n } else if (viewportWidth >= BREAKPOINTS.SMALL_TABLET) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (viewportWidth >= BREAKPOINTS.MOBILE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (viewportHeight >= BREAKPOINTS.MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (viewportHeight >= BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else if (bridge.type === 'force_mobile' || bridge.type === 'force_mobile_compact') {\n viewWidth = ViewWidth.MOBILE;\n sizeX = SizeType.COMPACT;\n\n if (bridge.type === 'force_mobile_compact') {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else {\n if (sizeX === undefined && viewWidth !== undefined) {\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n }\n if (sizeY === undefined && viewWidth !== undefined && viewHeight !== undefined) {\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n }\n\n return {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n };\n}\n"],"names":["AdaptivityProvider","viewWidth","viewHeight","sizeX","sizeY","hasPointer","hasHover","children","bridge","useBridgeAdaptivity","adaptivity","React","useMemo","calculateAdaptivity","AdaptivityContext","Provider","value","type","viewportWidth","viewportHeight","BREAKPOINTS","DESKTOP","ViewWidth","TABLET","SMALL_TABLET","MOBILE","SMALL_MOBILE","MEDIUM_HEIGHT","ViewHeight","MEDIUM","MOBILE_LANDSCAPE_HEIGHT","SMALL","EXTRA_SMALL","SizeType","COMPACT","REGULAR","_hasPointer","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as _hasPointer } from '@vkontakte/vkjs';\nimport { BridgeAdaptivity, useBridgeAdaptivity } from '../../hooks/useBridgeAdaptivity';\nimport { BREAKPOINTS, SizeType, ViewHeight, ViewWidth } from '../../lib/adaptivity';\nimport { HasChildren } from '../../types';\nimport { AdaptivityContext, type AdaptivityProps } from './AdaptivityContext';\n\nexport interface AdaptivityProviderProps extends AdaptivityProps, HasChildren {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider\n */\nexport const AdaptivityProvider = ({\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n children,\n}: AdaptivityProviderProps) => {\n const bridge = useBridgeAdaptivity();\n const adaptivity = React.useMemo(\n () =>\n calculateAdaptivity(\n {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n },\n bridge,\n ),\n [viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, bridge],\n );\n\n return <AdaptivityContext.Provider value={adaptivity}>{children}</AdaptivityContext.Provider>;\n};\n\nfunction calculateAdaptivity(\n { viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover }: AdaptivityProps,\n bridge: BridgeAdaptivity,\n) {\n if (bridge.type === 'adaptive') {\n const { viewportWidth, viewportHeight } = bridge;\n\n if (viewportWidth >= BREAKPOINTS.DESKTOP) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (viewportWidth >= BREAKPOINTS.TABLET) {\n viewWidth = ViewWidth.TABLET;\n } else if (viewportWidth >= BREAKPOINTS.SMALL_TABLET) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (viewportWidth >= BREAKPOINTS.MOBILE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (viewportHeight >= BREAKPOINTS.MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (viewportHeight >= BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else if (bridge.type === 'force_mobile' || bridge.type === 'force_mobile_compact') {\n viewWidth = ViewWidth.MOBILE;\n sizeX = SizeType.COMPACT;\n\n if (bridge.type === 'force_mobile_compact') {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else {\n if (sizeX === undefined && viewWidth !== undefined) {\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n }\n if (sizeY === undefined && viewWidth !== undefined && viewHeight !== undefined) {\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n }\n\n return {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n };\n}\n"],"names":["AdaptivityProvider","viewWidth","viewHeight","sizeX","sizeY","hasPointer","hasHover","children","bridge","useBridgeAdaptivity","adaptivity","React","useMemo","calculateAdaptivity","AdaptivityContext","Provider","value","type","viewportWidth","viewportHeight","BREAKPOINTS","DESKTOP","ViewWidth","TABLET","SMALL_TABLET","MOBILE","SMALL_MOBILE","MEDIUM_HEIGHT","ViewHeight","MEDIUM","MOBILE_LANDSCAPE_HEIGHT","SMALL","EXTRA_SMALL","SizeType","COMPACT","REGULAR","_hasPointer","undefined"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useWaitTransitionFinish } from '../../hooks/useWaitTransitionFinish';\nimport { Platform } from '../../lib/platform';\nimport { stopPropagation } from '../../lib/utils';\nimport { AnchorHTMLAttributesOnly } from '../../types';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { Button, ButtonProps } from '../Button/Button';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalDismissButton } from '../ModalDismissButton/ModalDismissButton';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Alert.module.css';\n\nexport interface AlertActionInterface\n extends Pick<ButtonProps, 'Component'>,\n AnchorHTMLAttributesOnly {\n title: string;\n action?: VoidFunction;\n autoClose?: boolean;\n mode: 'cancel' | 'destructive' | 'default';\n}\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLElement> {\n actionsLayout?: 'vertical' | 'horizontal';\n actions?: AlertActionInterface[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose: VoidFunction;\n\n /**\n * `aria-label` для кнопки закрытия. Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n}\n\ntype ItemClickHandler = (item: AlertActionInterface) => void;\n\ninterface AlertTypography {\n id: string;\n children?: React.ReactNode;\n}\n\nconst AlertHeader = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case Platform.IOS:\n return <Title className={styles['Alert__header']} weight=\"1\" level=\"3\" {...props} />;\n default:\n return <Title className={styles['Alert__header']} weight=\"2\" level=\"2\" {...props} />;\n }\n};\n\nconst AlertText = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case Platform.VKCOM:\n return <Footnote className={styles['Alert__text']} {...props} />;\n case Platform.IOS:\n return <Caption className={styles['Alert__text']} {...props} />;\n default:\n return <Text Component=\"span\" className={styles['Alert__text']} weight=\"3\" {...props} />;\n }\n};\n\ninterface AlertActionProps {\n action: AlertActionInterface;\n onItemClick: ItemClickHandler;\n}\n\nconst AlertAction = ({ action, onItemClick, ...restProps }: AlertActionProps) => {\n const platform = usePlatform();\n const handleItemClick = React.useCallback(() => onItemClick(action), [onItemClick, action]);\n\n if (platform === Platform.IOS) {\n const { title, action: actionProp, autoClose, mode, ...restActionProps } = action;\n\n return (\n <Tappable\n Component={restActionProps.href ? 'a' : 'button'}\n className={classNames(\n styles['Alert__action'],\n mode === 'destructive' && styles['Alert__action--mode-destructive'],\n mode === 'cancel' && styles['Alert__action--mode-cancel'],\n )}\n onClick={handleItemClick}\n {...restActionProps}\n {...restProps}\n >\n {title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps['mode'] = 'tertiary';\n\n if (platform === Platform.VKCOM) {\n mode = action.mode === 'cancel' ? 'secondary' : 'primary';\n }\n\n return (\n <Button\n className={classNames(\n styles['Alert__button'],\n action.mode === 'cancel' && styles['Alert__button--mode-cancel'],\n )}\n mode={mode}\n size=\"m\"\n onClick={handleItemClick}\n Component={action.Component}\n href={action.href}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Alert\n */\nexport const Alert = ({\n actions = [],\n actionsLayout = 'horizontal',\n children,\n className,\n style,\n text,\n header,\n onClose,\n dismissLabel = 'Закрыть предупреждение',\n ...restProps\n}: AlertProps) => {\n const platform = usePlatform();\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n const resolvedActionsLayout: AlertProps['actionsLayout'] =\n platform === Platform.VKCOM ? 'horizontal' : actionsLayout;\n\n const timeout = platform === Platform.IOS ? 300 : 200;\n\n const close = React.useCallback(() => {\n setClosing(true);\n waitTransitionFinish(\n elementRef.current,\n (e?: TransitionEvent) => {\n if (!e || e.propertyName === 'opacity') {\n onClose();\n }\n },\n timeout,\n );\n }, [elementRef, waitTransitionFinish, onClose, timeout]);\n\n const onItemClick: ItemClickHandler = React.useCallback(\n (item: AlertActionInterface) => {\n const { action, autoClose } = item;\n\n if (autoClose) {\n setClosing(true);\n waitTransitionFinish(\n elementRef.current,\n (e?: TransitionEvent) => {\n if (!e || e.propertyName === 'opacity') {\n onClose();\n action && action();\n }\n },\n timeout,\n );\n } else {\n action && action();\n }\n },\n [elementRef, waitTransitionFinish, onClose, timeout],\n );\n\n useScrollLock();\n\n return (\n <PopoutWrapper className={className} closing={closing} style={style} onClick={close}>\n <FocusTrap\n {...restProps}\n getRootRef={elementRef}\n onClick={stopPropagation}\n onClose={close}\n timeout={timeout}\n className={classNames(\n styles['Alert'],\n platform === Platform.IOS && styles['Alert--ios'],\n platform === Platform.VKCOM && styles['Alert--vkcom'],\n resolvedActionsLayout === 'vertical' ? styles['Alert--v'] : styles['Alert--h'],\n closing && styles['Alert--closing'],\n isDesktop && styles['Alert--desktop'],\n )}\n role=\"alertdialog\"\n aria-modal\n aria-labelledby=\"vkui--alert--title\"\n aria-describedby=\"vkui--alert--desc\"\n >\n <div className={styles['Alert__content']}>\n {hasReactNode(header) && <AlertHeader id=\"vkui--alert--title\">{header}</AlertHeader>}\n {hasReactNode(text) && <AlertText id=\"vkui--alert--desc\">{text}</AlertText>}\n {children}\n </div>\n <div className={styles['Alert__actions']}>\n {actions.map((action, i) => (\n <AlertAction key={i} action={action} onItemClick={onItemClick} />\n ))}\n </div>\n {isDesktop && <ModalDismissButton onClick={close} aria-label={dismissLabel} />}\n </FocusTrap>\n </PopoutWrapper>\n );\n};\n"],"names":["Alert","AlertHeader","props","platform","usePlatform","Platform","IOS","Title","className","weight","level","AlertText","VKCOM","Footnote","Caption","Text","Component","AlertAction","action","onItemClick","restProps","handleItemClick","React","useCallback","title","actionProp","autoClose","mode","restActionProps","Tappable","href","classNames","onClick","Button","size","target","actions","actionsLayout","children","style","text","header","onClose","dismissLabel","isDesktop","useAdaptivityWithJSMediaQueries","waitTransitionFinish","useWaitTransitionFinish","useState","closing","setClosing","elementRef","useRef","resolvedActionsLayout","timeout","close","current","e","propertyName","item","useScrollLock","PopoutWrapper","FocusTrap","getRootRef","stopPropagation","role","aria-modal","aria-labelledby","aria-describedby","div","hasReactNode","id","map","i","key","ModalDismissButton","aria-label"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useWaitTransitionFinish } from '../../hooks/useWaitTransitionFinish';\nimport { Platform } from '../../lib/platform';\nimport { stopPropagation } from '../../lib/utils';\nimport { AnchorHTMLAttributesOnly, HasChildren } from '../../types';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { Button, ButtonProps } from '../Button/Button';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalDismissButton } from '../ModalDismissButton/ModalDismissButton';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Alert.module.css';\n\nexport interface AlertActionInterface\n extends Pick<ButtonProps, 'Component'>,\n AnchorHTMLAttributesOnly {\n title: string;\n action?: VoidFunction;\n autoClose?: boolean;\n mode: 'cancel' | 'destructive' | 'default';\n}\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLElement> {\n actionsLayout?: 'vertical' | 'horizontal';\n actions?: AlertActionInterface[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose: VoidFunction;\n\n /**\n * `aria-label` для кнопки закрытия. Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n}\n\ntype ItemClickHandler = (item: AlertActionInterface) => void;\n\ninterface AlertTypography extends HasChildren {\n id: string;\n}\n\nconst AlertHeader = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case Platform.IOS:\n return <Title className={styles['Alert__header']} weight=\"1\" level=\"3\" {...props} />;\n default:\n return <Title className={styles['Alert__header']} weight=\"2\" level=\"2\" {...props} />;\n }\n};\n\nconst AlertText = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case Platform.VKCOM:\n return <Footnote className={styles['Alert__text']} {...props} />;\n case Platform.IOS:\n return <Caption className={styles['Alert__text']} {...props} />;\n default:\n return <Text Component=\"span\" className={styles['Alert__text']} weight=\"3\" {...props} />;\n }\n};\n\ninterface AlertActionProps {\n action: AlertActionInterface;\n onItemClick: ItemClickHandler;\n}\n\nconst AlertAction = ({ action, onItemClick, ...restProps }: AlertActionProps) => {\n const platform = usePlatform();\n const handleItemClick = React.useCallback(() => onItemClick(action), [onItemClick, action]);\n\n if (platform === Platform.IOS) {\n const { title, action: actionProp, autoClose, mode, ...restActionProps } = action;\n\n return (\n <Tappable\n Component={restActionProps.href ? 'a' : 'button'}\n className={classNames(\n styles['Alert__action'],\n mode === 'destructive' && styles['Alert__action--mode-destructive'],\n mode === 'cancel' && styles['Alert__action--mode-cancel'],\n )}\n onClick={handleItemClick}\n {...restActionProps}\n {...restProps}\n >\n {title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps['mode'] = 'tertiary';\n\n if (platform === Platform.VKCOM) {\n mode = action.mode === 'cancel' ? 'secondary' : 'primary';\n }\n\n return (\n <Button\n className={classNames(\n styles['Alert__button'],\n action.mode === 'cancel' && styles['Alert__button--mode-cancel'],\n )}\n mode={mode}\n size=\"m\"\n onClick={handleItemClick}\n Component={action.Component}\n href={action.href}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Alert\n */\nexport const Alert = ({\n actions = [],\n actionsLayout = 'horizontal',\n children,\n className,\n style,\n text,\n header,\n onClose,\n dismissLabel = 'Закрыть предупреждение',\n ...restProps\n}: AlertProps) => {\n const platform = usePlatform();\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n const resolvedActionsLayout: AlertProps['actionsLayout'] =\n platform === Platform.VKCOM ? 'horizontal' : actionsLayout;\n\n const timeout = platform === Platform.IOS ? 300 : 200;\n\n const close = React.useCallback(() => {\n setClosing(true);\n waitTransitionFinish(\n elementRef.current,\n (e?: TransitionEvent) => {\n if (!e || e.propertyName === 'opacity') {\n onClose();\n }\n },\n timeout,\n );\n }, [elementRef, waitTransitionFinish, onClose, timeout]);\n\n const onItemClick: ItemClickHandler = React.useCallback(\n (item: AlertActionInterface) => {\n const { action, autoClose } = item;\n\n if (autoClose) {\n setClosing(true);\n waitTransitionFinish(\n elementRef.current,\n (e?: TransitionEvent) => {\n if (!e || e.propertyName === 'opacity') {\n onClose();\n action && action();\n }\n },\n timeout,\n );\n } else {\n action && action();\n }\n },\n [elementRef, waitTransitionFinish, onClose, timeout],\n );\n\n useScrollLock();\n\n return (\n <PopoutWrapper className={className} closing={closing} style={style} onClick={close}>\n <FocusTrap\n {...restProps}\n getRootRef={elementRef}\n onClick={stopPropagation}\n onClose={close}\n timeout={timeout}\n className={classNames(\n styles['Alert'],\n platform === Platform.IOS && styles['Alert--ios'],\n platform === Platform.VKCOM && styles['Alert--vkcom'],\n resolvedActionsLayout === 'vertical' ? styles['Alert--v'] : styles['Alert--h'],\n closing && styles['Alert--closing'],\n isDesktop && styles['Alert--desktop'],\n )}\n role=\"alertdialog\"\n aria-modal\n aria-labelledby=\"vkui--alert--title\"\n aria-describedby=\"vkui--alert--desc\"\n >\n <div className={styles['Alert__content']}>\n {hasReactNode(header) && <AlertHeader id=\"vkui--alert--title\">{header}</AlertHeader>}\n {hasReactNode(text) && <AlertText id=\"vkui--alert--desc\">{text}</AlertText>}\n {children}\n </div>\n <div className={styles['Alert__actions']}>\n {actions.map((action, i) => (\n <AlertAction key={i} action={action} onItemClick={onItemClick} />\n ))}\n </div>\n {isDesktop && <ModalDismissButton onClick={close} aria-label={dismissLabel} />}\n </FocusTrap>\n </PopoutWrapper>\n );\n};\n"],"names":["Alert","AlertHeader","props","platform","usePlatform","Platform","IOS","Title","className","weight","level","AlertText","VKCOM","Footnote","Caption","Text","Component","AlertAction","action","onItemClick","restProps","handleItemClick","React","useCallback","title","actionProp","autoClose","mode","restActionProps","Tappable","href","classNames","onClick","Button","size","target","actions","actionsLayout","children","style","text","header","onClose","dismissLabel","isDesktop","useAdaptivityWithJSMediaQueries","waitTransitionFinish","useWaitTransitionFinish","useState","closing","setClosing","elementRef","useRef","resolvedActionsLayout","timeout","close","current","e","propertyName","item","useScrollLock","PopoutWrapper","FocusTrap","getRootRef","stopPropagation","role","aria-modal","aria-labelledby","aria-describedby","div","hasReactNode","id","map","i","key","ModalDismissButton","aria-label"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import * as React from 'react';
2
- export interface AppRootPortalProps {
1
+ /// <reference types="react" />
2
+ import { HasChildren } from '../../types';
3
+ export interface AppRootPortalProps extends HasChildren {
3
4
  className?: string;
4
5
  forcePortal?: boolean;
5
- children?: React.ReactNode;
6
6
  }
7
7
  export declare const AppRootPortal: ({ children, className, forcePortal: forcePortalProp, }: AppRootPortalProps) => JSX.Element | null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRootPortal.tsx"],"sourcesContent":["import * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useIsClient } from '../../hooks/useIsClient';\nimport { AppearanceProvider } from '../AppearanceProvider/AppearanceProvider';\nimport { AppRootContext } from './AppRootContext';\n\nexport interface AppRootPortalProps {\n className?: string;\n forcePortal?: boolean;\n children?: React.ReactNode;\n}\n\nexport const AppRootPortal = ({\n children,\n className,\n forcePortal: forcePortalProp,\n}: AppRootPortalProps) => {\n const { portalRoot, mode, disablePortal } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n const isClient = useIsClient();\n if (!isClient) {\n return null;\n }\n\n const forcePortal = forcePortalProp ?? mode !== 'full';\n\n return !disablePortal && portalRoot && forcePortal ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalRoot,\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n"],"names":["AppRootPortal","children","className","forcePortal","forcePortalProp","React","useContext","AppRootContext","portalRoot","mode","disablePortal","appearance","useAppearance","isClient","useIsClient","createPortal","AppearanceProvider","div","Fragment"],"mappings":";;;;+BAaaA;;;eAAAA;;;;2DAbU;wBACM;6BACC;2BACF;kCACO;8BACJ;AAQxB,IAAMA,gBAAgB,gBAIH;QAHxBC,iBAAAA,UACAC,kBAAAA,WACAC,AAAaC,wBAAbD;IAEA,IAA4CE,oBAAAA,OAAMC,UAAU,CAACC,8BAAc,GAAnEC,aAAoCH,kBAApCG,YAAYC,OAAwBJ,kBAAxBI,MAAMC,gBAAkBL,kBAAlBK;IAC1B,IAAMC,aAAaC,IAAAA,4BAAa;IAEhC,IAAMC,WAAWC,IAAAA,wBAAW;IAC5B,IAAI,CAACD,UAAU;QACb,OAAO,IAAI;IACb,CAAC;IAED,IAAMV,cAAcC,4BAAAA,6BAAAA,kBAAmBK,SAAS,MAAM;IAEtD,OAAO,CAACC,iBAAiBF,cAAcL,4BACrCY,IAAAA,sBAAY,gBACV,qBAACC,sCAAkB;QAACL,YAAYA;qBAC9B,qBAACM;QAAIf,WAAWA;OAAYD,YAE9BO,4BAGF,qBAACH,OAAMa,QAAQ,QAAEjB,SAClB;AACH"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/AppRootPortal.tsx"],"sourcesContent":["import * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useIsClient } from '../../hooks/useIsClient';\nimport { HasChildren } from '../../types';\nimport { AppearanceProvider } from '../AppearanceProvider/AppearanceProvider';\nimport { AppRootContext } from './AppRootContext';\n\nexport interface AppRootPortalProps extends HasChildren {\n className?: string;\n forcePortal?: boolean;\n}\n\nexport const AppRootPortal = ({\n children,\n className,\n forcePortal: forcePortalProp,\n}: AppRootPortalProps) => {\n const { portalRoot, mode, disablePortal } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n const isClient = useIsClient();\n if (!isClient) {\n return null;\n }\n\n const forcePortal = forcePortalProp ?? mode !== 'full';\n\n return !disablePortal && portalRoot && forcePortal ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalRoot,\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n"],"names":["AppRootPortal","children","className","forcePortal","forcePortalProp","React","useContext","AppRootContext","portalRoot","mode","disablePortal","appearance","useAppearance","isClient","useIsClient","createPortal","AppearanceProvider","div","Fragment"],"mappings":";;;;+BAaaA;;;eAAAA;;;;2DAbU;wBACM;6BACC;2BACF;kCAEO;8BACJ;AAOxB,IAAMA,gBAAgB,gBAIH;QAHxBC,iBAAAA,UACAC,kBAAAA,WACAC,AAAaC,wBAAbD;IAEA,IAA4CE,oBAAAA,OAAMC,UAAU,CAACC,8BAAc,GAAnEC,aAAoCH,kBAApCG,YAAYC,OAAwBJ,kBAAxBI,MAAMC,gBAAkBL,kBAAlBK;IAC1B,IAAMC,aAAaC,IAAAA,4BAAa;IAEhC,IAAMC,WAAWC,IAAAA,wBAAW;IAC5B,IAAI,CAACD,UAAU;QACb,OAAO,IAAI;IACb,CAAC;IAED,IAAMV,cAAcC,4BAAAA,6BAAAA,kBAAmBK,SAAS,MAAM;IAEtD,OAAO,CAACC,iBAAiBF,cAAcL,4BACrCY,IAAAA,sBAAY,gBACV,qBAACC,sCAAkB;QAACL,YAAYA;qBAC9B,qBAACM;QAAIf,WAAWA;OAAYD,YAE9BO,4BAGF,qBAACH,OAAMa,QAAQ,QAAEjB,SAClB;AACH"}
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { HasChildren } from '../../types';
2
3
  export interface ScrollContextInterface {
3
4
  getScroll(this: void): {
4
5
  x: number;
@@ -12,9 +13,8 @@ export interface ScrollContextInterface {
12
13
  }
13
14
  export declare const ScrollContext: React.Context<ScrollContextInterface>;
14
15
  export declare const useScroll: () => ScrollContextInterface;
15
- export interface ScrollControllerProps {
16
+ export interface ScrollControllerProps extends HasChildren {
16
17
  elRef: React.RefObject<HTMLElement>;
17
- children?: React.ReactNode;
18
18
  }
19
19
  export declare const GlobalScrollController: ({ children }: ScrollControllerProps) => JSX.Element;
20
20
  export declare const ElementScrollController: ({ elRef, children }: ScrollControllerProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: '',\n top: '',\n left: '',\n right: '',\n overflowY: '',\n overflowX: '',\n });\n};\n\nconst getPageYOffsetWithoutKeyboardHeight = (window: Window) => {\n // Note: здесь расчёт на то, что `clientHeight` равен `window.innerHeight`.\n // Это достигается тем, что тегу `html` задали`height: 100%` и у него нет отступов сверху и снизу. Если есть отступы,\n // то надо задать `box-sizing: border-box`, чтобы они не учитывались.\n const diffOfClientHeightAndViewportHeight =\n window.document.documentElement.clientHeight - window.innerHeight;\n return window.pageYOffset - diffOfClientHeightAndViewportHeight;\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps {\n elRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n () => ({\n x: window!.pageXOffset,\n y: getPageYOffsetWithoutKeyboardHeight(window!),\n }),\n [window],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0,\n );\n },\n [document, window],\n );\n\n const enableScrollLock = React.useCallback<ScrollContextInterface['enableScrollLock']>(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY = window!.innerWidth > document!.documentElement.clientWidth ? 'scroll' : '';\n const overflowX = window!.innerHeight > document!.documentElement.clientHeight ? 'scroll' : '';\n\n Object.assign(document!.body.style, {\n position: 'fixed',\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: '0',\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [document, window]);\n\n const disableScrollLock = React.useCallback<ScrollContextInterface['disableScrollLock']>(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || '0'), -parseInt(scrollY || '0'));\n setScrollLock(false);\n }, [document, window]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock],\n );\n\n return <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\nexport const ElementScrollController = ({ elRef, children }: ScrollControllerProps) => {\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0,\n );\n },\n [elRef],\n );\n\n const enableScrollLock = React.useCallback<ScrollContextInterface['enableScrollLock']>(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? 'scroll' : '';\n const overflowX = el.scrollHeight > el.clientHeight ? 'scroll' : '';\n\n Object.assign(el.style, {\n position: 'absolute',\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: '0',\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [elRef]);\n\n const disableScrollLock = React.useCallback<ScrollContextInterface['disableScrollLock']>(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || '0'), -parseInt(scrollY || '0'));\n setScrollLock(false);\n }, [elRef]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock],\n );\n\n return <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (effect: React.EffectCallback, deps: React.DependencyList) => {\n const destructorRef = React.useRef<ReturnType<React.EffectCallback>>(noop);\n const { isScrollLock, beforeScrollLockFnSetRef } = useScroll();\n\n // Изменяем effectCallback только при изменении deps\n const effectCallback = React.useCallback(() => {\n destructorRef.current = effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n // Добавляем effectCallback в список функций, которые необходимо вызвать\n // до блокировки\n React.useEffect(() => {\n const beforeSet = beforeScrollLockFnSetRef?.current;\n if (!beforeSet) {\n return noop;\n }\n\n beforeSet.add(effectCallback);\n\n return () => {\n beforeSet.delete(effectCallback);\n };\n }, [beforeScrollLockFnSetRef, effectCallback]);\n\n // Вызываем сбрасывающую функцию, после отключения блокировки\n React.useEffect(() => {\n if (!isScrollLock && destructorRef.current) {\n destructorRef.current();\n }\n }, [isScrollLock]);\n};\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"names":["ScrollContext","useScroll","GlobalScrollController","ElementScrollController","useScrollLockEffect","useScrollLock","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","getPageYOffsetWithoutKeyboardHeight","window","diffOfClientHeightAndViewportHeight","document","documentElement","clientHeight","innerHeight","pageYOffset","React","createContext","getScroll","x","y","scrollTo","noop","isScrollLock","enableScrollLock","disableScrollLock","useContext","children","useDOM","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","clamp","body","scrollWidth","innerWidth","scrollHeight","current","forEach","fn","scrollY","scrollX","clientWidth","parseInt","scrollController","useMemo","Provider","value","elRef","scrollLeft","scrollTop","el","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","enabled","useIsomorphicLayoutEffect"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasChildren } from '../../types';\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: '',\n top: '',\n left: '',\n right: '',\n overflowY: '',\n overflowX: '',\n });\n};\n\nconst getPageYOffsetWithoutKeyboardHeight = (window: Window) => {\n // Note: здесь расчёт на то, что `clientHeight` равен `window.innerHeight`.\n // Это достигается тем, что тегу `html` задали`height: 100%` и у него нет отступов сверху и снизу. Если есть отступы,\n // то надо задать `box-sizing: border-box`, чтобы они не учитывались.\n const diffOfClientHeightAndViewportHeight =\n window.document.documentElement.clientHeight - window.innerHeight;\n return window.pageYOffset - diffOfClientHeightAndViewportHeight;\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps extends HasChildren {\n elRef: React.RefObject<HTMLElement>;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n () => ({\n x: window!.pageXOffset,\n y: getPageYOffsetWithoutKeyboardHeight(window!),\n }),\n [window],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0,\n );\n },\n [document, window],\n );\n\n const enableScrollLock = React.useCallback<ScrollContextInterface['enableScrollLock']>(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY = window!.innerWidth > document!.documentElement.clientWidth ? 'scroll' : '';\n const overflowX = window!.innerHeight > document!.documentElement.clientHeight ? 'scroll' : '';\n\n Object.assign(document!.body.style, {\n position: 'fixed',\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: '0',\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [document, window]);\n\n const disableScrollLock = React.useCallback<ScrollContextInterface['disableScrollLock']>(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || '0'), -parseInt(scrollY || '0'));\n setScrollLock(false);\n }, [document, window]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock],\n );\n\n return <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\nexport const ElementScrollController = ({ elRef, children }: ScrollControllerProps) => {\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0,\n );\n },\n [elRef],\n );\n\n const enableScrollLock = React.useCallback<ScrollContextInterface['enableScrollLock']>(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? 'scroll' : '';\n const overflowX = el.scrollHeight > el.clientHeight ? 'scroll' : '';\n\n Object.assign(el.style, {\n position: 'absolute',\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: '0',\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [elRef]);\n\n const disableScrollLock = React.useCallback<ScrollContextInterface['disableScrollLock']>(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || '0'), -parseInt(scrollY || '0'));\n setScrollLock(false);\n }, [elRef]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock],\n );\n\n return <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (effect: React.EffectCallback, deps: React.DependencyList) => {\n const destructorRef = React.useRef<ReturnType<React.EffectCallback>>(noop);\n const { isScrollLock, beforeScrollLockFnSetRef } = useScroll();\n\n // Изменяем effectCallback только при изменении deps\n const effectCallback = React.useCallback(() => {\n destructorRef.current = effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n // Добавляем effectCallback в список функций, которые необходимо вызвать\n // до блокировки\n React.useEffect(() => {\n const beforeSet = beforeScrollLockFnSetRef?.current;\n if (!beforeSet) {\n return noop;\n }\n\n beforeSet.add(effectCallback);\n\n return () => {\n beforeSet.delete(effectCallback);\n };\n }, [beforeScrollLockFnSetRef, effectCallback]);\n\n // Вызываем сбрасывающую функцию, после отключения блокировки\n React.useEffect(() => {\n if (!isScrollLock && destructorRef.current) {\n destructorRef.current();\n }\n }, [isScrollLock]);\n};\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"names":["ScrollContext","useScroll","GlobalScrollController","ElementScrollController","useScrollLockEffect","useScrollLock","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","getPageYOffsetWithoutKeyboardHeight","window","diffOfClientHeightAndViewportHeight","document","documentElement","clientHeight","innerHeight","pageYOffset","React","createContext","getScroll","x","y","scrollTo","noop","isScrollLock","enableScrollLock","disableScrollLock","useContext","children","useDOM","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","clamp","body","scrollWidth","innerWidth","scrollHeight","current","forEach","fn","scrollY","scrollX","clientWidth","parseInt","scrollController","useMemo","Provider","value","elRef","scrollLeft","scrollTop","el","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","enabled","useIsomorphicLayoutEffect"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { HasAlign } from '../../types';
3
3
  import { TappableProps } from '../Tappable/Tappable';
4
+ import '../Spinner/Spinner.module.css';
4
5
  export interface VKUIButtonProps extends HasAlign {
5
6
  mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';
6
7
  appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';
@@ -47,10 +47,10 @@ var Button = function(_param) {
47
47
  return /*#__PURE__*/ _react.createElement(_tappable.Tappable, _objectSpreadProps(_objectSpread({
48
48
  hoverMode: "vkuiButton--hover",
49
49
  activeMode: "vkuiButton--active",
50
- Component: restProps.href ? "a" : "button"
50
+ Component: restProps.href ? "a" : "button",
51
+ focusVisibleMode: "outside"
51
52
  }, restProps), {
52
53
  onClick: loading ? undefined : onClick,
53
- focusVisibleMode: "outside",
54
54
  stopPropagation: stopPropagation,
55
55
  className: (0, _vkjs.classNames)(className, "vkuiButton", {
56
56
  s: "vkuiButton--size-s",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { HasAlign } from '../../types';\nimport { Spinner } from '../Spinner/Spinner';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport styles from './Button.module.css';\n\nconst sizeYClassNames = {\n none: styles['Button--sizeY-none'],\n [SizeType.REGULAR]: styles['Button--sizeY-regular'],\n};\n\nexport interface VKUIButtonProps extends HasAlign {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';\n appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';\n size?: 's' | 'm' | 'l';\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = ({\n size = 's',\n mode = 'primary',\n appearance = 'accent',\n stretched = false,\n align = 'center',\n children,\n before,\n after,\n getRootRef,\n loading,\n onClick,\n stopPropagation = true,\n className,\n ...restProps\n}: ButtonProps) => {\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n return (\n <Tappable\n hoverMode={styles['Button--hover']}\n activeMode={styles['Button--active']}\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n stopPropagation={stopPropagation}\n className={classNames(\n className,\n styles.Button,\n {\n s: styles['Button--size-s'],\n m: styles['Button--size-m'],\n l: styles['Button--size-l'],\n }[size],\n {\n primary: styles['Button--mode-primary'],\n secondary: styles['Button--mode-secondary'],\n tertiary: styles['Button--mode-tertiary'],\n outline: styles['Button--mode-outline'],\n link: styles['Button--mode-link'],\n }[mode],\n {\n 'accent': styles['Button--appearance-accent'],\n 'positive': styles['Button--appearance-positive'],\n 'negative': styles['Button--appearance-negative'],\n 'neutral': styles['Button--appearance-neutral'],\n 'overlay': styles['Button--appearance-overlay'],\n 'accent-invariable': styles['Button--appearance-accent-invariable'],\n }[appearance],\n {\n left: styles['Button--align-left'],\n center: styles['Button--align-center'],\n right: styles['Button--align-right'],\n }[align],\n sizeY !== SizeType.COMPACT && sizeYClassNames[sizeY],\n platform === Platform.IOS && styles['Button--ios'],\n stretched && styles['Button--stretched'],\n hasIcons && styles['Button--with-icon'],\n hasIconOnly && !stretched && styles['Button--singleIcon'],\n loading && styles['Button--loading'],\n )}\n getRootRef={getRootRef}\n >\n {loading && <Spinner size=\"small\" className={styles.Button__spinner} />}\n <span className={styles.Button__in}>\n {hasReactNode(before) && (\n <span\n className={styles.Button__before}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'before' : undefined}\n >\n {before}\n </span>\n )}\n {hasReactNode(children) && (\n <span\n className={styles.Button__content}\n data-testid={process.env.NODE_ENV === 'test' ? 'children' : undefined}\n >\n {children}\n </span>\n )}\n {hasReactNode(after) && (\n <span\n className={styles.Button__after}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'after' : undefined}\n >\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n"],"names":["Button","sizeYClassNames","none","SizeType","REGULAR","size","mode","appearance","stretched","align","children","before","after","getRootRef","loading","onClick","stopPropagation","className","restProps","hasIcons","Boolean","hasIconOnly","useAdaptivity","sizeY","platform","usePlatform","Tappable","hoverMode","activeMode","Component","href","undefined","focusVisibleMode","classNames","s","m","l","primary","secondary","tertiary","outline","link","left","center","right","COMPACT","Platform","IOS","Spinner","span","hasReactNode","role","data-testid","process","env","NODE_ENV"],"mappings":";;;;+BA+BaA;;;eAAAA;;;;;;;;2DA/BU;oBACkB;6BACX;2BACF;0BACH;wBACA;uBAED;wBACgB;AAGxC,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AAkBZ,IAAMJ,SAAS,iBAeH;6BAdjBK,MAAAA,gCAAO,wCACPC,MAAAA,gCAAO,oDACPC,YAAAA,4CAAa,wDACbC,WAAAA,0CAAY,KAAK,2CACjBC,OAAAA,kCAAQ,yBACRC,kBAAAA,UACAC,gBAAAA,QACAC,eAAAA,OACAC,oBAAAA,YACAC,iBAAAA,SACAC,iBAAAA,yCACAC,iBAAAA,sDAAkB,IAAI,2BACtBC,mBAAAA,WACGC;QAbHb;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,QAAQT,UAAUC;IACnC,IAAMS,cAAc,CAACX,YAAYU,QAAQR,WAAWQ,QAAQT;IAC5D,IAA2BW,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAChB,IAAMC,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,qBAACC,kBAAQ;QACPC,SAAS;QACTC,UAAU;QACVC,WAAWX,UAAUY,IAAI,GAAG,MAAM,QAAQ;OACtCZ;QACJH,SAASD,UAAUiB,YAAYhB,OAAO;QACtCiB,kBAAiB;QACjBhB,iBAAiBA;QACjBC,WAAWgB,IAAAA,gBAAU,EACnBhB,yBAEA;YACEiB,CAAC;YACDC,CAAC;YACDC,CAAC;QACH,CAAC,CAAC/B,KAAK,EACP;YACEgC,OAAO;YACPC,SAAS;YACTC,QAAQ;YACRC,OAAO;YACPC,IAAI;QACN,CAAC,CAACnC,KAAK,EACP;YACE,QAAQ;YACR,UAAU;YACV,UAAU;YACV,SAAS;YACT,SAAS;YACT,mBAAmB;QACrB,CAAC,CAACC,WAAW,EACb;YACEmC,IAAI;YACJC,MAAM;YACNC,KAAK;QACP,CAAC,CAACnC,MAAM,EACRc,UAAUpB,oBAAQ,CAAC0C,OAAO,IAAI5C,eAAe,CAACsB,MAAM,EACpDC,aAAasB,kBAAQ,CAACC,GAAG,uBACzBvC,sCACAW,qCACAE,eAAe,CAACb,uCAChBM;QAEFD,YAAYA;QAEXC,yBAAW,qBAACkC,gBAAO;QAAC3C,MAAK;QAAQY,SAAS;sBAC3C,qBAACgC;QAAKhC,SAAS;OACZiC,IAAAA,kBAAY,EAACvC,yBACZ,qBAACsC;QACChC,SAAS;QACTkC,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAWxB,SAAS;OAElEpB,SAGJuC,IAAAA,kBAAY,EAACxC,2BACZ,qBAACuC;QACChC,SAAS;QACTmC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,aAAaxB,SAAS;OAEpErB,WAGJwC,IAAAA,kBAAY,EAACtC,wBACZ,qBAACqC;QACChC,SAAS;QACTkC,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,UAAUxB,SAAS;OAEjEnB;AAMb"}
1
+ {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { HasAlign } from '../../types';\nimport { Spinner } from '../Spinner/Spinner';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport '../Spinner/Spinner.module.css';\nimport styles from './Button.module.css';\n\nconst sizeYClassNames = {\n none: styles['Button--sizeY-none'],\n [SizeType.REGULAR]: styles['Button--sizeY-regular'],\n};\n\nexport interface VKUIButtonProps extends HasAlign {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';\n appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';\n size?: 's' | 'm' | 'l';\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = ({\n size = 's',\n mode = 'primary',\n appearance = 'accent',\n stretched = false,\n align = 'center',\n children,\n before,\n after,\n getRootRef,\n loading,\n onClick,\n stopPropagation = true,\n className,\n ...restProps\n}: ButtonProps) => {\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n return (\n <Tappable\n hoverMode={styles['Button--hover']}\n activeMode={styles['Button--active']}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n {...restProps}\n onClick={loading ? undefined : onClick}\n stopPropagation={stopPropagation}\n className={classNames(\n className,\n styles.Button,\n {\n s: styles['Button--size-s'],\n m: styles['Button--size-m'],\n l: styles['Button--size-l'],\n }[size],\n {\n primary: styles['Button--mode-primary'],\n secondary: styles['Button--mode-secondary'],\n tertiary: styles['Button--mode-tertiary'],\n outline: styles['Button--mode-outline'],\n link: styles['Button--mode-link'],\n }[mode],\n {\n 'accent': styles['Button--appearance-accent'],\n 'positive': styles['Button--appearance-positive'],\n 'negative': styles['Button--appearance-negative'],\n 'neutral': styles['Button--appearance-neutral'],\n 'overlay': styles['Button--appearance-overlay'],\n 'accent-invariable': styles['Button--appearance-accent-invariable'],\n }[appearance],\n {\n left: styles['Button--align-left'],\n center: styles['Button--align-center'],\n right: styles['Button--align-right'],\n }[align],\n sizeY !== SizeType.COMPACT && sizeYClassNames[sizeY],\n platform === Platform.IOS && styles['Button--ios'],\n stretched && styles['Button--stretched'],\n hasIcons && styles['Button--with-icon'],\n hasIconOnly && !stretched && styles['Button--singleIcon'],\n loading && styles['Button--loading'],\n )}\n getRootRef={getRootRef}\n >\n {loading && <Spinner size=\"small\" className={styles.Button__spinner} />}\n <span className={styles.Button__in}>\n {hasReactNode(before) && (\n <span\n className={styles.Button__before}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'before' : undefined}\n >\n {before}\n </span>\n )}\n {hasReactNode(children) && (\n <span\n className={styles.Button__content}\n data-testid={process.env.NODE_ENV === 'test' ? 'children' : undefined}\n >\n {children}\n </span>\n )}\n {hasReactNode(after) && (\n <span\n className={styles.Button__after}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'after' : undefined}\n >\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n"],"names":["Button","sizeYClassNames","none","SizeType","REGULAR","size","mode","appearance","stretched","align","children","before","after","getRootRef","loading","onClick","stopPropagation","className","restProps","hasIcons","Boolean","hasIconOnly","useAdaptivity","sizeY","platform","usePlatform","Tappable","hoverMode","activeMode","Component","href","focusVisibleMode","undefined","classNames","s","m","l","primary","secondary","tertiary","outline","link","left","center","right","COMPACT","Platform","IOS","Spinner","span","hasReactNode","role","data-testid","process","env","NODE_ENV"],"mappings":";;;;+BAgCaA;;;eAAAA;;;;;;;;2DAhCU;oBACkB;6BACX;2BACF;0BACH;wBACA;uBAED;wBACgB;AAIxC,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AAkBZ,IAAMJ,SAAS,iBAeH;6BAdjBK,MAAAA,gCAAO,wCACPC,MAAAA,gCAAO,oDACPC,YAAAA,4CAAa,wDACbC,WAAAA,0CAAY,KAAK,2CACjBC,OAAAA,kCAAQ,yBACRC,kBAAAA,UACAC,gBAAAA,QACAC,eAAAA,OACAC,oBAAAA,YACAC,iBAAAA,SACAC,iBAAAA,yCACAC,iBAAAA,sDAAkB,IAAI,2BACtBC,mBAAAA,WACGC;QAbHb;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,QAAQT,UAAUC;IACnC,IAAMS,cAAc,CAACX,YAAYU,QAAQR,WAAWQ,QAAQT;IAC5D,IAA2BW,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAChB,IAAMC,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,qBAACC,kBAAQ;QACPC,SAAS;QACTC,UAAU;QACVC,WAAWX,UAAUY,IAAI,GAAG,MAAM,QAAQ;QAC1CC,kBAAiB;OACbb;QACJH,SAASD,UAAUkB,YAAYjB,OAAO;QACtCC,iBAAiBA;QACjBC,WAAWgB,IAAAA,gBAAU,EACnBhB,yBAEA;YACEiB,CAAC;YACDC,CAAC;YACDC,CAAC;QACH,CAAC,CAAC/B,KAAK,EACP;YACEgC,OAAO;YACPC,SAAS;YACTC,QAAQ;YACRC,OAAO;YACPC,IAAI;QACN,CAAC,CAACnC,KAAK,EACP;YACE,QAAQ;YACR,UAAU;YACV,UAAU;YACV,SAAS;YACT,SAAS;YACT,mBAAmB;QACrB,CAAC,CAACC,WAAW,EACb;YACEmC,IAAI;YACJC,MAAM;YACNC,KAAK;QACP,CAAC,CAACnC,MAAM,EACRc,UAAUpB,oBAAQ,CAAC0C,OAAO,IAAI5C,eAAe,CAACsB,MAAM,EACpDC,aAAasB,kBAAQ,CAACC,GAAG,uBACzBvC,sCACAW,qCACAE,eAAe,CAACb,uCAChBM;QAEFD,YAAYA;QAEXC,yBAAW,qBAACkC,gBAAO;QAAC3C,MAAK;QAAQY,SAAS;sBAC3C,qBAACgC;QAAKhC,SAAS;OACZiC,IAAAA,kBAAY,EAACvC,yBACZ,qBAACsC;QACChC,SAAS;QACTkC,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAWvB,SAAS;OAElErB,SAGJuC,IAAAA,kBAAY,EAACxC,2BACZ,qBAACuC;QACChC,SAAS;QACTmC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,aAAavB,SAAS;OAEpEtB,WAGJwC,IAAAA,kBAAY,EAACtC,wBACZ,qBAACqC;QACChC,SAAS;QACTkC,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,UAAUvB,SAAS;OAEjEpB;AAMb"}
@@ -24,9 +24,7 @@ var Card = function(_param) {
24
24
  return /*#__PURE__*/ _react.createElement("div", _objectSpreadProps(_objectSpread({}, restProps), {
25
25
  ref: getRootRef,
26
26
  className: (0, _vkjs.classNames)("vkuiCard", mode === "outline" && "vkuiCard--mode-outline", mode === "shadow" && "vkuiCard--mode-shadow", className)
27
- }), /*#__PURE__*/ _react.createElement("div", {
28
- className: "vkuiCard__in"
29
- }, children));
27
+ }), children);
30
28
  };
31
29
 
32
30
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport styles from './Card.module.css';\n\nexport interface CardProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n mode?: 'tint' | 'shadow' | 'outline';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Card\n */\nexport const Card = ({\n mode = 'tint',\n children,\n getRootRef,\n className,\n ...restProps\n}: CardProps) => {\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Card'],\n mode === 'outline' && styles['Card--mode-outline'],\n mode === 'shadow' && styles['Card--mode-shadow'],\n className,\n )}\n >\n <div className={styles['Card__in']}>{children}</div>\n </div>\n );\n};\n"],"names":["Card","mode","children","getRootRef","className","restProps","div","ref","classNames"],"mappings":";;;;+BAcaA;;;eAAAA;;;;;;;2DAdU;oBACI;AAapB,IAAMA,OAAO,iBAMH;6BALfC,MAAAA,gCAAO,sBACPC,kBAAAA,UACAC,oBAAAA,YACAC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,qBACE,qBAACE,4CACKD;QACJE,KAAKJ;QACLC,WAAWI,IAAAA,gBAAU,cAEnBP,SAAS,uCACTA,SAAS,qCACTG;sBAGF,qBAACE;QAAIF,SAAS;OAAuBF;AAG3C"}
1
+ {"version":3,"sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport styles from './Card.module.css';\n\nexport interface CardProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n mode?: 'tint' | 'shadow' | 'outline';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Card\n */\nexport const Card = ({\n mode = 'tint',\n children,\n getRootRef,\n className,\n ...restProps\n}: CardProps) => {\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Card'],\n mode === 'outline' && styles['Card--mode-outline'],\n mode === 'shadow' && styles['Card--mode-shadow'],\n className,\n )}\n >\n {children}\n </div>\n );\n};\n"],"names":["Card","mode","children","getRootRef","className","restProps","div","ref","classNames"],"mappings":";;;;+BAcaA;;;eAAAA;;;;;;;2DAdU;oBACI;AAapB,IAAMA,OAAO,iBAMH;6BALfC,MAAAA,gCAAO,sBACPC,kBAAAA,UACAC,oBAAAA,YACAC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,qBACE,qBAACE,4CACKD;QACJE,KAAKJ;QACLC,WAAWI,IAAAA,gBAAU,cAEnBP,SAAS,uCACTA,SAAS,qCACTG;QAGDF;AAGP"}
@@ -29,10 +29,10 @@ var CardGrid = function(_param) {
29
29
  ]);
30
30
  var _useAdaptivity1 = (0, _useAdaptivity.useAdaptivity)(), _useAdaptivity_sizeX = _useAdaptivity1.sizeX, sizeX = _useAdaptivity_sizeX === void 0 ? "none" : _useAdaptivity_sizeX;
31
31
  return /*#__PURE__*/ _react.createElement("div", _objectSpreadProps(_objectSpread({}, restProps), {
32
- className: (0, _vkjs.classNames)("vkuiCardGrid", spaced && "vkuiCardGrid--spaced", {
33
- s: "vkuiCardGrid--size-s",
34
- m: "vkuiCardGrid--size-m",
35
- l: "vkuiCardGrid--size-l"
32
+ className: (0, _vkjs.classNames)("vkuiCardGrid", "vkuiInternalCardGrid", spaced && "vkuiCardGrid--spaced", {
33
+ s: "vkuiInternalCardGrid--size-s",
34
+ m: "vkuiInternalCardGrid--size-m",
35
+ l: "vkuiInternalCardGrid--size-l"
36
36
  }[size], sizeX !== _adaptivity.SizeType.REGULAR && sizeXClassNames[sizeX], className)
37
37
  }), children);
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CardGrid/CardGrid.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { SizeType } from '../../lib/adaptivity';\nimport styles from './CardGrid.module.css';\n\nconst sizeXClassNames = {\n none: styles['CardGrid--sizeX-none'],\n [SizeType.COMPACT]: styles['CardGrid--sizeX-compact'],\n};\n\nexport interface CardGridProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: 's' | 'm' | 'l';\n /**\n * Если true, то вокруг компонента присутствуют стандартные отсупы сверху/снизу и слева/справа\n */\n spaced?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardGrid\n */\nexport const CardGrid = ({\n children,\n size = 's',\n spaced = false,\n className,\n ...restProps\n}: CardGridProps) => {\n const { sizeX = 'none' } = useAdaptivity();\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['CardGrid'],\n spaced && styles['CardGrid--spaced'],\n {\n s: styles['CardGrid--size-s'],\n m: styles['CardGrid--size-m'],\n l: styles['CardGrid--size-l'],\n }[size],\n sizeX !== SizeType.REGULAR && sizeXClassNames[sizeX],\n className,\n )}\n >\n {children}\n </div>\n );\n};\n"],"names":["CardGrid","sizeXClassNames","none","SizeType","COMPACT","children","size","spaced","className","restProps","useAdaptivity","sizeX","div","classNames","s","m","l","REGULAR"],"mappings":";;;;+BAsBaA;;;eAAAA;;;;;;;;2DAtBU;oBACI;6BACG;0BACL;AAGzB,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AAcZ,IAAMJ,WAAW,iBAMH;QALnBK,kBAAAA,+BACAC,MAAAA,gCAAO,0CACPC,QAAAA,oCAAS,KAAK,kBACdC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAA2BE,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAEhB,qBACE,qBAACC,4CACKH;QACJD,WAAWK,IAAAA,gBAAU,kBAEnBN,kCACA;YACEO,CAAC;YACDC,CAAC;YACDC,CAAC;QACH,CAAC,CAACV,KAAK,EACPK,UAAUR,oBAAQ,CAACc,OAAO,IAAIhB,eAAe,CAACU,MAAM,EACpDH;QAGDH;AAGP"}
1
+ {"version":3,"sources":["../../../../src/components/CardGrid/CardGrid.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { SizeType } from '../../lib/adaptivity';\nimport styles from './CardGrid.module.css';\n\nconst sizeXClassNames = {\n none: styles['CardGrid--sizeX-none'],\n [SizeType.COMPACT]: styles['CardGrid--sizeX-compact'],\n};\n\nexport interface CardGridProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: 's' | 'm' | 'l';\n /**\n * Если true, то вокруг компонента присутствуют стандартные отсупы сверху/снизу и слева/справа\n */\n spaced?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardGrid\n */\nexport const CardGrid = ({\n children,\n size = 's',\n spaced = false,\n className,\n ...restProps\n}: CardGridProps) => {\n const { sizeX = 'none' } = useAdaptivity();\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['CardGrid'],\n 'vkuiInternalCardGrid',\n spaced && styles['CardGrid--spaced'],\n {\n s: 'vkuiInternalCardGrid--size-s',\n m: 'vkuiInternalCardGrid--size-m',\n l: 'vkuiInternalCardGrid--size-l',\n }[size],\n sizeX !== SizeType.REGULAR && sizeXClassNames[sizeX],\n className,\n )}\n >\n {children}\n </div>\n );\n};\n"],"names":["CardGrid","sizeXClassNames","none","SizeType","COMPACT","children","size","spaced","className","restProps","useAdaptivity","sizeX","div","classNames","s","m","l","REGULAR"],"mappings":";;;;+BAsBaA;;;eAAAA;;;;;;;;2DAtBU;oBACI;6BACG;0BACL;AAGzB,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AAcZ,IAAMJ,WAAW,iBAMH;QALnBK,kBAAAA,+BACAC,MAAAA,gCAAO,0CACPC,QAAAA,oCAAS,KAAK,kBACdC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAA2BE,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAEhB,qBACE,qBAACC,4CACKH;QACJD,WAAWK,IAAAA,gBAAU,kBAEnB,wBACAN,kCACA;YACEO,GAAG;YACHC,GAAG;YACHC,GAAG;QACL,CAAC,CAACV,KAAK,EACPK,UAAUR,oBAAQ,CAACc,OAAO,IAAIhB,eAAe,CAACU,MAAM,EACpDH;QAGDH;AAGP"}
@@ -1,4 +1,6 @@
1
1
  import * as React from 'react';
2
+ import { HasRef } from '../../../types';
2
3
  import { CellProps } from '../Cell';
3
- export type CellCheckboxProps = Pick<CellProps, 'defaultChecked' | 'checked'> & React.InputHTMLAttributes<HTMLInputElement>;
4
- export declare const CellCheckbox: ({ className, style, ...restProps }: CellCheckboxProps) => JSX.Element;
4
+ export interface CellCheckboxProps extends Pick<CellProps, 'defaultChecked' | 'checked'>, React.InputHTMLAttributes<HTMLInputElement>, HasRef<HTMLInputElement> {
5
+ }
6
+ export declare const CellCheckbox: ({ className, style, getRef, ...restProps }: CellCheckboxProps) => JSX.Element;
@@ -10,17 +10,19 @@ Object.defineProperty(exports, "CellCheckbox", {
10
10
  });
11
11
  var _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
12
12
  var _objectSpread = require("@swc/helpers/lib/_object_spread.js").default;
13
+ var _objectSpreadProps = require("@swc/helpers/lib/_object_spread_props.js").default;
13
14
  var _objectWithoutProperties = require("@swc/helpers/lib/_object_without_properties.js").default;
14
15
  var _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
15
16
  var _icons = require("@vkontakte/icons");
16
17
  var _vkjs = require("@vkontakte/vkjs");
17
18
  var _usePlatform = require("../../../hooks/usePlatform");
18
19
  var _platform = require("../../../lib/platform");
19
- var _visuallyHiddenInput = require("../../VisuallyHiddenInput/VisuallyHiddenInput");
20
+ var _visuallyHidden = require("../../VisuallyHidden/VisuallyHidden");
20
21
  var CellCheckbox = function(_param) {
21
- var className = _param.className, style = _param.style, restProps = _objectWithoutProperties(_param, [
22
+ var className = _param.className, style = _param.style, getRef = _param.getRef, restProps = _objectWithoutProperties(_param, [
22
23
  "className",
23
- "style"
24
+ "style",
25
+ "getRef"
24
26
  ]);
25
27
  var platform = (0, _usePlatform.usePlatform)();
26
28
  var IconOff = platform === _platform.Platform.IOS || platform === _platform.Platform.VKCOM ? _icons.Icon24CheckCircleOff : _icons.Icon24CheckBoxOff;
@@ -28,10 +30,12 @@ var CellCheckbox = function(_param) {
28
30
  return /*#__PURE__*/ _react.createElement("span", {
29
31
  className: className,
30
32
  style: style
31
- }, /*#__PURE__*/ _react.createElement(_visuallyHiddenInput.VisuallyHiddenInput, _objectSpread({
33
+ }, /*#__PURE__*/ _react.createElement(_visuallyHidden.VisuallyHidden, _objectSpreadProps(_objectSpread({}, restProps), {
34
+ Component: "input",
35
+ type: "checkbox",
32
36
  className: "vkuiCellCheckbox__input",
33
- type: "checkbox"
34
- }, restProps)), /*#__PURE__*/ _react.createElement("span", {
37
+ getRootRef: getRef
38
+ })), /*#__PURE__*/ _react.createElement("span", {
35
39
  className: (0, _vkjs.classNames)("vkuiCellCheckbox__icon", "vkuiCellCheckbox__icon--off"),
36
40
  "aria-hidden": true
37
41
  }, /*#__PURE__*/ _react.createElement(IconOff, null)), /*#__PURE__*/ _react.createElement("span", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Cell/CellCheckbox/CellCheckbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Icon24CheckBoxOff,\n Icon24CheckBoxOn,\n Icon24CheckCircleOff,\n Icon24CheckCircleOn,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { Platform } from '../../../lib/platform';\nimport { VisuallyHiddenInput } from '../../VisuallyHiddenInput/VisuallyHiddenInput';\nimport { CellProps } from '../Cell';\nimport styles from './CellCheckbox.module.css';\n\nexport type CellCheckboxProps = Pick<CellProps, 'defaultChecked' | 'checked'> &\n React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const CellCheckbox = ({ className, style, ...restProps }: CellCheckboxProps) => {\n const platform = usePlatform();\n\n const IconOff =\n platform === Platform.IOS || platform === Platform.VKCOM\n ? Icon24CheckCircleOff\n : Icon24CheckBoxOff;\n\n const IconOn =\n platform === Platform.IOS || platform === Platform.VKCOM\n ? Icon24CheckCircleOn\n : Icon24CheckBoxOn;\n\n return (\n <span className={className} style={style}>\n <VisuallyHiddenInput\n className={styles['CellCheckbox__input']}\n type=\"checkbox\"\n {...restProps}\n />\n <span\n className={classNames(styles['CellCheckbox__icon'], styles['CellCheckbox__icon--off'])}\n aria-hidden\n >\n <IconOff />\n </span>\n <span\n className={classNames(styles['CellCheckbox__icon'], styles['CellCheckbox__icon--on'])}\n aria-hidden\n >\n <IconOn />\n </span>\n </span>\n );\n};\n"],"names":["CellCheckbox","className","style","restProps","platform","usePlatform","IconOff","Platform","IOS","VKCOM","Icon24CheckCircleOff","Icon24CheckBoxOff","IconOn","Icon24CheckCircleOn","Icon24CheckBoxOn","span","VisuallyHiddenInput","type","classNames","aria-hidden"],"mappings":";;;;+BAiBaA;;;eAAAA;;;;;;2DAjBU;qBAMhB;oBACoB;2BACC;wBACH;mCACW;AAO7B,IAAMA,eAAe,iBAA2D;QAAxDC,mBAAAA,WAAWC,eAAAA,OAAUC;QAArBF;QAAWC;;IACxC,IAAME,WAAWC,IAAAA,wBAAW;IAE5B,IAAMC,UACJF,aAAaG,kBAAQ,CAACC,GAAG,IAAIJ,aAAaG,kBAAQ,CAACE,KAAK,GACpDC,2BAAoB,GACpBC,wBAAiB;IAEvB,IAAMC,SACJR,aAAaG,kBAAQ,CAACC,GAAG,IAAIJ,aAAaG,kBAAQ,CAACE,KAAK,GACpDI,0BAAmB,GACnBC,uBAAgB;IAEtB,qBACE,qBAACC;QAAKd,WAAWA;QAAWC,OAAOA;qBACjC,qBAACc,wCAAmB;QAClBf,SAAS;QACTgB,MAAK;OACDd,2BAEN,qBAACY;QACCd,WAAWiB,IAAAA,gBAAU;QACrBC,eAAAA,IAAW;qBAEX,qBAACb,+BAEH,qBAACS;QACCd,WAAWiB,IAAAA,gBAAU;QACrBC,eAAAA,IAAW;qBAEX,qBAACP;AAIT"}
1
+ {"version":3,"sources":["../../../../../src/components/Cell/CellCheckbox/CellCheckbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Icon24CheckBoxOff,\n Icon24CheckBoxOn,\n Icon24CheckCircleOff,\n Icon24CheckCircleOn,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { Platform } from '../../../lib/platform';\nimport { HasRef } from '../../../types';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport { CellProps } from '../Cell';\nimport styles from './CellCheckbox.module.css';\n\nexport interface CellCheckboxProps\n extends Pick<CellProps, 'defaultChecked' | 'checked'>,\n React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement> {}\n\nexport const CellCheckbox = ({ className, style, getRef, ...restProps }: CellCheckboxProps) => {\n const platform = usePlatform();\n\n const IconOff =\n platform === Platform.IOS || platform === Platform.VKCOM\n ? Icon24CheckCircleOff\n : Icon24CheckBoxOff;\n\n const IconOn =\n platform === Platform.IOS || platform === Platform.VKCOM\n ? Icon24CheckCircleOn\n : Icon24CheckBoxOn;\n\n return (\n <span className={className} style={style}>\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n type=\"checkbox\"\n className={styles['CellCheckbox__input']}\n getRootRef={getRef}\n />\n <span\n className={classNames(styles['CellCheckbox__icon'], styles['CellCheckbox__icon--off'])}\n aria-hidden\n >\n <IconOff />\n </span>\n <span\n className={classNames(styles['CellCheckbox__icon'], styles['CellCheckbox__icon--on'])}\n aria-hidden\n >\n <IconOn />\n </span>\n </span>\n );\n};\n"],"names":["CellCheckbox","className","style","getRef","restProps","platform","usePlatform","IconOff","Platform","IOS","VKCOM","Icon24CheckCircleOff","Icon24CheckBoxOff","IconOn","Icon24CheckCircleOn","Icon24CheckBoxOn","span","VisuallyHidden","Component","type","getRootRef","classNames","aria-hidden"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;;2DApBU;qBAMhB;oBACoB;2BACC;wBACH;8BAEM;AASxB,IAAMA,eAAe,iBAAmE;QAAhEC,mBAAAA,WAAWC,eAAAA,OAAOC,gBAAAA,QAAWC;QAA7BH;QAAWC;QAAOC;;IAC/C,IAAME,WAAWC,IAAAA,wBAAW;IAE5B,IAAMC,UACJF,aAAaG,kBAAQ,CAACC,GAAG,IAAIJ,aAAaG,kBAAQ,CAACE,KAAK,GACpDC,2BAAoB,GACpBC,wBAAiB;IAEvB,IAAMC,SACJR,aAAaG,kBAAQ,CAACC,GAAG,IAAIJ,aAAaG,kBAAQ,CAACE,KAAK,GACpDI,0BAAmB,GACnBC,uBAAgB;IAEtB,qBACE,qBAACC;QAAKf,WAAWA;QAAWC,OAAOA;qBACjC,qBAACe,8BAAc,uCACTb;QACJc,WAAU;QACVC,MAAK;QACLlB,SAAS;QACTmB,YAAYjB;uBAEd,qBAACa;QACCf,WAAWoB,IAAAA,gBAAU;QACrBC,eAAAA,IAAW;qBAEX,qBAACf,+BAEH,qBAACS;QACCf,WAAWoB,IAAAA,gBAAU;QACrBC,eAAAA,IAAW;qBAEX,qBAACT;AAIT"}
@@ -5,8 +5,9 @@ export interface CheckboxProps extends React.InputHTMLAttributes<HTMLInputElemen
5
5
  description?: React.ReactNode;
6
6
  indeterminate?: boolean;
7
7
  defaultIndeterminate?: boolean;
8
+ titleAfter?: React.ReactNode;
8
9
  }
9
10
  /**
10
11
  * @see https://vkcom.github.io/VKUI/#/Checkbox
11
12
  */
12
- export declare const Checkbox: ({ children, className, style, getRootRef, getRef, description, indeterminate, defaultIndeterminate, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, onChange, ...restProps }: CheckboxProps) => JSX.Element;
13
+ export declare const Checkbox: ({ children, className, style, getRootRef, getRef, description, indeterminate, defaultIndeterminate, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, onChange, titleAfter, ...restProps }: CheckboxProps) => JSX.Element;