@vkontakte/vkui 4.26.0 → 4.27.2

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 (657) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +389 -243
  4. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  5. package/.cache/ts/src/components/Alert/Alert.d.ts +1 -2
  6. package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  7. package/.cache/ts/src/components/AppearanceProvider/AppearanceProviderContext.d.ts +1 -6
  8. package/.cache/ts/src/components/Card/Card.d.ts +1 -2
  9. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +4 -7
  10. package/.cache/ts/src/components/Chip/Chip.d.ts +2 -2
  11. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  12. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +5 -12
  13. package/.cache/ts/src/components/Gradient/Gradient.d.ts +1 -2
  14. package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  15. package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  16. package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  17. package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  18. package/.cache/ts/src/components/Switch/Switch.d.ts +3 -2
  19. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +4 -1
  20. package/.cache/ts/src/components/Typography/Title/Title.d.ts +4 -1
  21. package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  22. package/.cache/ts/src/hooks/useAppearance.d.ts +1 -1
  23. package/.cache/ts/src/hooks/usePlatform.d.ts +1 -1
  24. package/.cache/ts/src/index.d.ts +7 -5
  25. package/.cache/ts/src/lib/utils.d.ts +1 -0
  26. package/.cache/ts/src/tokenized/index.d.ts +12 -0
  27. package/CSS_GUIDE.md +145 -0
  28. package/VKUI_TOKENS_MIGRATION_GUIDE.md +2 -1
  29. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +5 -1
  30. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  31. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  32. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +16 -11
  33. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  34. package/dist/cjs/components/Alert/Alert.d.ts +1 -2
  35. package/dist/cjs/components/Alert/Alert.js +12 -12
  36. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  37. package/dist/cjs/components/AppRoot/AppRoot.js +0 -8
  38. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  39. package/dist/cjs/components/AppRoot/AppRootPortal.js +9 -2
  40. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  41. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  42. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +34 -12
  43. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  44. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +1 -6
  45. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js +3 -1
  46. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
  47. package/dist/cjs/components/Banner/Banner.js +2 -4
  48. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  49. package/dist/cjs/components/Button/Button.js +12 -4
  50. package/dist/cjs/components/Button/Button.js.map +1 -1
  51. package/dist/cjs/components/Card/Card.d.ts +1 -2
  52. package/dist/cjs/components/Card/Card.js +4 -8
  53. package/dist/cjs/components/Card/Card.js.map +1 -1
  54. package/dist/cjs/components/CardScroll/CardScroll.d.ts +4 -7
  55. package/dist/cjs/components/CardScroll/CardScroll.js +11 -15
  56. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  57. package/dist/cjs/components/Chip/Chip.d.ts +2 -2
  58. package/dist/cjs/components/Chip/Chip.js +3 -5
  59. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  60. package/dist/cjs/components/ChipsInput/ChipsInput.js +2 -2
  61. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  62. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  63. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +32 -44
  64. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  65. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +5 -12
  66. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +3 -5
  67. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  68. package/dist/cjs/components/ContentCard/ContentCard.js +4 -4
  69. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  70. package/dist/cjs/components/FormItem/FormItem.js +0 -1
  71. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  72. package/dist/cjs/components/Gradient/Gradient.d.ts +1 -2
  73. package/dist/cjs/components/Gradient/Gradient.js +6 -10
  74. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  75. package/dist/cjs/components/Header/Header.js +3 -7
  76. package/dist/cjs/components/Header/Header.js.map +1 -1
  77. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +1 -3
  78. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  79. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -6
  80. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  81. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +1 -6
  82. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  83. package/dist/cjs/components/InfoRow/InfoRow.js +1 -2
  84. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  85. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +1 -1
  86. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  87. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  88. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  89. package/dist/cjs/components/Placeholder/Placeholder.js +1 -1
  90. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  91. package/dist/cjs/components/Removable/Removable.js +8 -4
  92. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  93. package/dist/cjs/components/RichCell/RichCell.js +0 -1
  94. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  95. package/dist/cjs/components/Search/Search.js +47 -23
  96. package/dist/cjs/components/Search/Search.js.map +1 -1
  97. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  98. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +116 -0
  99. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -0
  100. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  101. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +61 -0
  102. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  103. package/dist/cjs/components/SimpleCell/SimpleCell.js +21 -9
  104. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  105. package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  106. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +18 -6
  107. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  108. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  109. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +6 -5
  110. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  111. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +1 -3
  112. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  113. package/dist/cjs/components/Switch/Switch.d.ts +3 -2
  114. package/dist/cjs/components/Switch/Switch.js +3 -6
  115. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  116. package/dist/cjs/components/TextTooltip/TextTooltip.js +1 -2
  117. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  118. package/dist/cjs/components/Tooltip/Tooltip.js +1 -2
  119. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  120. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +4 -1
  121. package/dist/cjs/components/Typography/Subhead/Subhead.js +15 -8
  122. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  123. package/dist/cjs/components/Typography/Title/Title.d.ts +4 -1
  124. package/dist/cjs/components/Typography/Title/Title.js +9 -19
  125. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  126. package/dist/cjs/components/UsersStack/UsersStack.js +0 -1
  127. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  128. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  129. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js +37 -0
  130. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  131. package/dist/cjs/hooks/useAppearance.d.ts +1 -1
  132. package/dist/cjs/hooks/useAppearance.js +2 -2
  133. package/dist/cjs/hooks/useAppearance.js.map +1 -1
  134. package/dist/cjs/hooks/usePlatform.d.ts +1 -1
  135. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  136. package/dist/cjs/index.d.ts +7 -5
  137. package/dist/cjs/index.js +18 -10
  138. package/dist/cjs/index.js.map +1 -1
  139. package/dist/cjs/lib/utils.d.ts +1 -0
  140. package/dist/cjs/lib/utils.js +7 -0
  141. package/dist/cjs/lib/utils.js.map +1 -1
  142. package/dist/cjs/tokenized/index.d.ts +12 -0
  143. package/dist/cjs/tokenized/index.js +48 -0
  144. package/dist/cjs/tokenized/index.js.map +1 -1
  145. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +5 -1
  146. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  147. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  148. package/dist/components/ActionSheetItem/ActionSheetItem.js +14 -11
  149. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  150. package/dist/components/Alert/Alert.d.ts +1 -2
  151. package/dist/components/Alert/Alert.js +11 -12
  152. package/dist/components/Alert/Alert.js.map +1 -1
  153. package/dist/components/AppRoot/AppRoot.js +0 -7
  154. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  155. package/dist/components/AppRoot/AppRootPortal.js +7 -2
  156. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  157. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  158. package/dist/components/AppearanceProvider/AppearanceProvider.js +29 -11
  159. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  160. package/dist/components/AppearanceProvider/AppearanceProviderContext.d.ts +1 -6
  161. package/dist/components/AppearanceProvider/AppearanceProviderContext.js +2 -1
  162. package/dist/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
  163. package/dist/components/Banner/Banner.js +2 -4
  164. package/dist/components/Banner/Banner.js.map +1 -1
  165. package/dist/components/Button/Button.js +12 -5
  166. package/dist/components/Button/Button.js.map +1 -1
  167. package/dist/components/Card/Card.d.ts +1 -2
  168. package/dist/components/Card/Card.js +3 -9
  169. package/dist/components/Card/Card.js.map +1 -1
  170. package/dist/components/CardScroll/CardScroll.d.ts +4 -7
  171. package/dist/components/CardScroll/CardScroll.js +9 -14
  172. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  173. package/dist/components/Chip/Chip.d.ts +2 -2
  174. package/dist/components/Chip/Chip.js +2 -6
  175. package/dist/components/Chip/Chip.js.map +1 -1
  176. package/dist/components/ChipsInput/ChipsInput.js +1 -1
  177. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  178. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  179. package/dist/components/ConfigProvider/ConfigProvider.js +31 -44
  180. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  181. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +5 -12
  182. package/dist/components/ConfigProvider/ConfigProviderContext.js +2 -3
  183. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  184. package/dist/components/ContentCard/ContentCard.js +3 -3
  185. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  186. package/dist/components/FormItem/FormItem.js +0 -1
  187. package/dist/components/FormItem/FormItem.js.map +1 -1
  188. package/dist/components/Gradient/Gradient.d.ts +1 -2
  189. package/dist/components/Gradient/Gradient.js +5 -11
  190. package/dist/components/Gradient/Gradient.js.map +1 -1
  191. package/dist/components/Header/Header.js +3 -7
  192. package/dist/components/Header/Header.js.map +1 -1
  193. package/dist/components/HorizontalCell/HorizontalCell.js +1 -3
  194. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  195. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -4
  196. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  197. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -4
  198. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  199. package/dist/components/InfoRow/InfoRow.js +1 -2
  200. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  201. package/dist/components/ModalCardBase/ModalCardBase.js +2 -2
  202. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  203. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  204. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  205. package/dist/components/Placeholder/Placeholder.js +1 -1
  206. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  207. package/dist/components/Removable/Removable.js +8 -4
  208. package/dist/components/Removable/Removable.js.map +1 -1
  209. package/dist/components/RichCell/RichCell.js +0 -1
  210. package/dist/components/RichCell/RichCell.js.map +1 -1
  211. package/dist/components/Search/Search.js +45 -22
  212. package/dist/components/Search/Search.js.map +1 -1
  213. package/dist/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  214. package/dist/components/SegmentedControl/SegmentedControl.js +94 -0
  215. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
  216. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  217. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +40 -0
  218. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  219. package/dist/components/SimpleCell/SimpleCell.js +21 -10
  220. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  221. package/dist/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  222. package/dist/components/SliderSwitch/SliderSwitch.js +14 -3
  223. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  224. package/dist/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  225. package/dist/components/SliderSwitch/SliderSwitchButton.js +5 -5
  226. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  227. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -3
  228. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  229. package/dist/components/Switch/Switch.d.ts +3 -2
  230. package/dist/components/Switch/Switch.js +3 -6
  231. package/dist/components/Switch/Switch.js.map +1 -1
  232. package/dist/components/TextTooltip/TextTooltip.js +1 -2
  233. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  234. package/dist/components/Tooltip/Tooltip.js +1 -2
  235. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  236. package/dist/components/Typography/Subhead/Subhead.d.ts +4 -1
  237. package/dist/components/Typography/Subhead/Subhead.js +13 -7
  238. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  239. package/dist/components/Typography/Title/Title.d.ts +4 -1
  240. package/dist/components/Typography/Title/Title.js +7 -16
  241. package/dist/components/Typography/Title/Title.js.map +1 -1
  242. package/dist/components/UsersStack/UsersStack.js +0 -1
  243. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  244. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  245. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +23 -0
  246. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  247. package/dist/components.css +10 -5
  248. package/dist/components.css.map +1 -1
  249. package/dist/cssm/appearance/constants.d.ts +1 -0
  250. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +26 -0
  251. package/dist/cssm/components/ActionSheet/ActionSheetContext.d.ts +8 -0
  252. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.d.ts +4 -0
  253. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +4 -0
  254. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +5 -1
  255. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  256. package/dist/cssm/components/ActionSheet/types.d.ts +9 -0
  257. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +20 -0
  258. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +14 -11
  259. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  260. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.d.ts +46 -0
  261. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +10 -0
  262. package/dist/cssm/components/Alert/Alert.d.ts +24 -0
  263. package/dist/cssm/components/Alert/Alert.js +11 -12
  264. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  265. package/dist/cssm/components/AppRoot/AppRoot.d.ts +14 -0
  266. package/dist/cssm/components/AppRoot/AppRoot.js +0 -7
  267. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  268. package/dist/cssm/components/AppRoot/AppRootContext.d.ts +9 -0
  269. package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +5 -0
  270. package/dist/cssm/components/AppRoot/AppRootPortal.js +7 -2
  271. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  272. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +23 -0
  273. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +7 -0
  274. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +29 -11
  275. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  276. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.d.ts +3 -0
  277. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js +2 -1
  278. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
  279. package/dist/cssm/components/Avatar/Avatar.d.ts +22 -0
  280. package/dist/cssm/components/Badge/Badge.d.ts +6 -0
  281. package/dist/cssm/components/Banner/Banner.d.ts +65 -0
  282. package/dist/cssm/components/Banner/Banner.js +2 -4
  283. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  284. package/dist/cssm/components/Button/Button.d.ts +20 -0
  285. package/dist/cssm/components/Button/Button.js +12 -5
  286. package/dist/cssm/components/Button/Button.js.map +1 -1
  287. package/dist/cssm/components/Card/Card.css +2 -2
  288. package/dist/cssm/components/Card/Card.d.ts +7 -0
  289. package/dist/cssm/components/Card/Card.js +3 -9
  290. package/dist/cssm/components/Card/Card.js.map +1 -1
  291. package/dist/cssm/components/CardGrid/CardGrid.d.ts +8 -0
  292. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  293. package/dist/cssm/components/CardScroll/CardScroll.d.ts +12 -0
  294. package/dist/cssm/components/CardScroll/CardScroll.js +9 -14
  295. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  296. package/dist/cssm/components/Cell/Cell.d.ts +47 -0
  297. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  298. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  299. package/dist/cssm/components/Cell/useDraggable.d.ts +13 -0
  300. package/dist/cssm/components/CellButton/CellButton.d.ts +9 -0
  301. package/dist/cssm/components/Checkbox/Checkbox.d.ts +10 -0
  302. package/dist/cssm/components/Chip/Chip.d.ts +16 -0
  303. package/dist/cssm/components/Chip/Chip.js +2 -6
  304. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  305. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +30 -0
  306. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  307. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  308. package/dist/cssm/components/ChipsInput/useChipsInput.d.ts +14 -0
  309. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +41 -0
  310. package/dist/cssm/components/ChipsSelect/useChipsSelect.d.ts +22 -0
  311. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +21 -0
  312. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +12 -0
  313. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +31 -44
  314. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  315. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +36 -0
  316. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +2 -3
  317. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  318. package/dist/cssm/components/ContentCard/ContentCard.d.ts +34 -0
  319. package/dist/cssm/components/ContentCard/ContentCard.js +3 -3
  320. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  321. package/dist/cssm/components/Counter/Counter.d.ts +11 -0
  322. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +10 -0
  323. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +56 -0
  324. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +12 -0
  325. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +1 -1
  326. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +15 -0
  327. package/dist/cssm/components/DatePicker/DatePicker.d.ts +24 -0
  328. package/dist/cssm/components/Div/Div.d.ts +7 -0
  329. package/dist/cssm/components/Dropdown/Dropdown.d.ts +8 -0
  330. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  331. package/dist/cssm/components/Epic/Epic.d.ts +10 -0
  332. package/dist/cssm/components/Epic/ScrollSaver.d.ts +6 -0
  333. package/dist/cssm/components/File/File.d.ts +9 -0
  334. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +19 -0
  335. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +8 -0
  336. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  337. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +8 -0
  338. package/dist/cssm/components/Footer/Footer.d.ts +5 -0
  339. package/dist/cssm/components/FormField/FormField.d.ts +14 -0
  340. package/dist/cssm/components/FormItem/FormItem.d.ts +14 -0
  341. package/dist/cssm/components/FormItem/FormItem.js +0 -1
  342. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  343. package/dist/cssm/components/FormLayout/FormLayout.d.ts +6 -0
  344. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +13 -0
  345. package/dist/cssm/components/FormStatus/FormStatus.d.ts +7 -0
  346. package/dist/cssm/components/Gallery/Gallery.d.ts +39 -0
  347. package/dist/cssm/components/Gradient/Gradient.d.ts +7 -0
  348. package/dist/cssm/components/Gradient/Gradient.js +5 -11
  349. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  350. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +8 -0
  351. package/dist/cssm/components/Group/Group.d.ts +23 -0
  352. package/dist/cssm/components/Header/Header.d.ts +18 -0
  353. package/dist/cssm/components/Header/Header.js +3 -7
  354. package/dist/cssm/components/Header/Header.js.map +1 -1
  355. package/dist/cssm/components/HorizontalCell/HorizontalCell.d.ts +10 -0
  356. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -3
  357. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  358. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +19 -0
  359. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -4
  360. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  361. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +6 -1
  362. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +8 -0
  363. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -4
  364. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  365. package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +29 -0
  366. package/dist/cssm/components/IconButton/IconButton.d.ts +11 -0
  367. package/dist/cssm/components/InfoRow/InfoRow.d.ts +7 -0
  368. package/dist/cssm/components/InfoRow/InfoRow.js +1 -2
  369. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  370. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.d.ts +32 -0
  371. package/dist/cssm/components/Input/Input.d.ts +9 -0
  372. package/dist/cssm/components/Link/Link.d.ts +6 -0
  373. package/dist/cssm/components/List/List.d.ts +4 -0
  374. package/dist/cssm/components/List/ListContext.d.ts +4 -0
  375. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +39 -0
  376. package/dist/cssm/components/ModalCard/ModalCard.d.ts +10 -0
  377. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +32 -0
  378. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +2 -2
  379. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  380. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +5 -0
  381. package/dist/cssm/components/ModalPage/ModalPage.d.ts +22 -0
  382. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.d.ts +8 -0
  383. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +16 -0
  384. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +10 -0
  385. package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts +20 -0
  386. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +16 -0
  387. package/dist/cssm/components/ModalRoot/constants.d.ts +3 -0
  388. package/dist/cssm/components/ModalRoot/types.d.ts +45 -0
  389. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +37 -0
  390. package/dist/cssm/components/ModalRoot/withModalRootContext.d.ts +5 -0
  391. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +15 -0
  392. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.d.ts +7 -0
  393. package/dist/cssm/components/Panel/Panel.d.ts +9 -0
  394. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +21 -0
  395. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +9 -0
  396. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.d.ts +8 -0
  397. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  398. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  399. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +4 -0
  400. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +9 -0
  401. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +7 -0
  402. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +18 -0
  403. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +4 -0
  404. package/dist/cssm/components/PanelSpinner/PanelSpinner.d.ts +7 -0
  405. package/dist/cssm/components/Placeholder/Placeholder.d.ts +23 -0
  406. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  407. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  408. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +10 -0
  409. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +10 -0
  410. package/dist/cssm/components/Popper/Popper.d.ts +32 -0
  411. package/dist/cssm/components/Progress/Progress.d.ts +8 -0
  412. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +40 -0
  413. package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +37 -0
  414. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.d.ts +11 -0
  415. package/dist/cssm/components/Radio/Radio.d.ts +9 -0
  416. package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +6 -0
  417. package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +6 -0
  418. package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +16 -0
  419. package/dist/cssm/components/Removable/Removable.d.ts +21 -0
  420. package/dist/cssm/components/Removable/Removable.js +8 -4
  421. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  422. package/dist/cssm/components/RichCell/RichCell.d.ts +36 -0
  423. package/dist/cssm/components/RichCell/RichCell.js +0 -1
  424. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  425. package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +5 -0
  426. package/dist/cssm/components/Root/Root.d.ts +31 -0
  427. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +6 -0
  428. package/dist/cssm/components/Search/Search.d.ts +17 -0
  429. package/dist/cssm/components/Search/Search.js +45 -22
  430. package/dist/cssm/components/Search/Search.js.map +1 -1
  431. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -0
  432. package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  433. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +95 -0
  434. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -0
  435. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -0
  436. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  437. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +41 -0
  438. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  439. package/dist/cssm/components/Select/Select.d.ts +7 -0
  440. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +10 -0
  441. package/dist/cssm/components/Separator/Separator.d.ts +11 -0
  442. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +39 -0
  443. package/dist/cssm/components/SimpleCell/SimpleCell.js +21 -10
  444. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  445. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +9 -0
  446. package/dist/cssm/components/Slider/Slider.d.ts +5 -0
  447. package/dist/cssm/components/SliderSwitch/SliderSwitch.d.ts +47 -0
  448. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +14 -3
  449. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  450. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.d.ts +11 -0
  451. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +5 -5
  452. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  453. package/dist/cssm/components/Snackbar/Snackbar.d.ts +35 -0
  454. package/dist/cssm/components/Spacing/Spacing.d.ts +18 -0
  455. package/dist/cssm/components/Spinner/Spinner.d.ts +7 -0
  456. package/dist/cssm/components/SplitCol/SplitCol.d.ts +22 -0
  457. package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +15 -0
  458. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +7 -0
  459. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.d.ts +21 -0
  460. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -3
  461. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  462. package/dist/cssm/components/Switch/Switch.css +1 -1
  463. package/dist/cssm/components/Switch/Switch.d.ts +7 -0
  464. package/dist/cssm/components/Switch/Switch.js +3 -6
  465. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  466. package/dist/cssm/components/Tabbar/Tabbar.d.ts +11 -0
  467. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +21 -0
  468. package/dist/cssm/components/Tabs/Tabs.d.ts +10 -0
  469. package/dist/cssm/components/TabsItem/TabsItem.d.ts +8 -0
  470. package/dist/cssm/components/Tappable/Tappable.d.ts +40 -0
  471. package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +14 -0
  472. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -2
  473. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  474. package/dist/cssm/components/Textarea/Textarea.d.ts +11 -0
  475. package/dist/cssm/components/Tooltip/Tooltip.d.ts +55 -0
  476. package/dist/cssm/components/Tooltip/Tooltip.js +1 -2
  477. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  478. package/dist/cssm/components/Tooltip/TooltipContainer.d.ts +5 -0
  479. package/dist/cssm/components/Touch/Touch.d.ts +49 -0
  480. package/dist/cssm/components/Touch/TouchContext.d.ts +7 -0
  481. package/dist/cssm/components/Typography/Caption/Caption.d.ts +10 -0
  482. package/dist/cssm/components/Typography/Headline/Headline.d.ts +8 -0
  483. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  484. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +11 -0
  485. package/dist/cssm/components/Typography/Subhead/Subhead.js +13 -7
  486. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  487. package/dist/cssm/components/Typography/Text/Text.d.ts +8 -0
  488. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  489. package/dist/cssm/components/Typography/Title/Title.d.ts +12 -0
  490. package/dist/cssm/components/Typography/Title/Title.js +7 -16
  491. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  492. package/dist/cssm/components/UsersStack/UsersStack.d.ts +23 -0
  493. package/dist/cssm/components/UsersStack/UsersStack.js +0 -1
  494. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  495. package/dist/cssm/components/UsersStack/masks.d.ts +1 -0
  496. package/dist/cssm/components/View/View.d.ts +80 -0
  497. package/dist/cssm/components/View/ViewInfinite.d.ts +66 -0
  498. package/dist/cssm/components/View/utils.d.ts +2 -0
  499. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -0
  500. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  501. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +24 -0
  502. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  503. package/dist/cssm/components/WriteBar/WriteBar.d.ts +23 -0
  504. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.d.ts +18 -0
  505. package/dist/cssm/helpers/avatar.d.ts +5 -0
  506. package/dist/cssm/helpers/getClassName.d.ts +2 -0
  507. package/dist/cssm/helpers/getScheme.d.ts +8 -0
  508. package/dist/cssm/helpers/math.d.ts +5 -0
  509. package/dist/cssm/helpers/scheme.d.ts +34 -0
  510. package/dist/cssm/hoc/withAdaptivity.d.ts +13 -0
  511. package/dist/cssm/hoc/withContext.d.ts +2 -0
  512. package/dist/cssm/hoc/withInsets.d.ts +3 -0
  513. package/dist/cssm/hoc/withPlatform.d.ts +3 -0
  514. package/dist/cssm/hooks/useAdaptivity.d.ts +3 -0
  515. package/dist/cssm/hooks/useAppearance.d.ts +1 -0
  516. package/dist/cssm/hooks/useAppearance.js +2 -2
  517. package/dist/cssm/hooks/useAppearance.js.map +1 -1
  518. package/dist/cssm/hooks/useBrowserInfo.d.ts +2 -0
  519. package/dist/cssm/hooks/useEffectDev.d.ts +2 -0
  520. package/dist/cssm/hooks/useEnsuredControl.d.ts +6 -0
  521. package/dist/cssm/hooks/useEventListener.d.ts +7 -0
  522. package/dist/cssm/hooks/useExternRef.d.ts +2 -0
  523. package/dist/cssm/hooks/useFocusVisible.d.ts +6 -0
  524. package/dist/cssm/hooks/useGlobalEventListener.d.ts +2 -0
  525. package/dist/cssm/hooks/useInsets.d.ts +8 -0
  526. package/dist/cssm/hooks/useKeyboard.d.ts +11 -0
  527. package/dist/cssm/hooks/useKeyboardInputTracker.d.ts +1 -0
  528. package/dist/cssm/hooks/useObjectMemo.d.ts +2 -0
  529. package/dist/cssm/hooks/usePatchChildrenRef.d.ts +6 -0
  530. package/dist/cssm/hooks/usePlatform.d.ts +2 -0
  531. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  532. package/dist/cssm/hooks/useTimeout.d.ts +4 -0
  533. package/dist/cssm/hooks/useWaitTransitionFinish.d.ts +3 -0
  534. package/dist/cssm/index.d.ts +279 -0
  535. package/dist/cssm/index.js +6 -5
  536. package/dist/cssm/index.js.map +1 -1
  537. package/dist/cssm/lib/SSR.d.ts +14 -0
  538. package/dist/cssm/lib/accessibility.d.ts +10 -0
  539. package/dist/cssm/lib/animate.d.ts +15 -0
  540. package/dist/cssm/lib/browser.d.ts +11 -0
  541. package/dist/cssm/lib/callMultiple.d.ts +1 -0
  542. package/dist/cssm/lib/classNames.d.ts +6 -0
  543. package/dist/cssm/lib/classScopingMode.d.ts +8 -0
  544. package/dist/cssm/lib/dom.d.ts +21 -0
  545. package/dist/cssm/lib/fx.d.ts +5 -0
  546. package/dist/cssm/lib/getNavId.d.ts +6 -0
  547. package/dist/cssm/lib/is.d.ts +1 -0
  548. package/dist/cssm/lib/isRefObject.d.ts +2 -0
  549. package/dist/cssm/lib/jsxRuntime.d.ts +8 -0
  550. package/dist/cssm/lib/offset.d.ts +7 -0
  551. package/dist/cssm/lib/platform.d.ts +19 -0
  552. package/dist/cssm/lib/polyfills.d.ts +6 -0
  553. package/dist/cssm/lib/prefixClass.d.ts +1 -0
  554. package/dist/cssm/lib/removeObjectKeys.d.ts +1 -0
  555. package/dist/cssm/lib/select.d.ts +7 -0
  556. package/dist/cssm/lib/styles.d.ts +1 -0
  557. package/dist/cssm/lib/supportEvents.d.ts +9 -0
  558. package/dist/cssm/lib/taptic.d.ts +2 -0
  559. package/dist/cssm/lib/testing.d.ts +1 -0
  560. package/dist/cssm/lib/touch.d.ts +9 -0
  561. package/dist/cssm/lib/useIsomorphicLayoutEffect.d.ts +2 -0
  562. package/dist/cssm/lib/utils.d.ts +15 -0
  563. package/dist/cssm/lib/utils.js +3 -0
  564. package/dist/cssm/lib/utils.js.map +1 -1
  565. package/dist/cssm/lib/warnOnce.d.ts +1 -0
  566. package/dist/cssm/styles/components.css +10 -5
  567. package/dist/cssm/styles/themes.css +1 -1
  568. package/dist/cssm/tokenized/index.d.ts +14 -0
  569. package/dist/cssm/tokenized/index.js +6 -0
  570. package/dist/cssm/tokenized/index.js.map +1 -1
  571. package/dist/cssm/types.d.ts +34 -0
  572. package/dist/cssm/unstable/index.d.ts +17 -0
  573. package/dist/hooks/useAppearance.d.ts +1 -1
  574. package/dist/hooks/useAppearance.js +2 -2
  575. package/dist/hooks/useAppearance.js.map +1 -1
  576. package/dist/hooks/usePlatform.d.ts +1 -1
  577. package/dist/hooks/usePlatform.js.map +1 -1
  578. package/dist/index.d.ts +7 -5
  579. package/dist/index.js +6 -5
  580. package/dist/index.js.map +1 -1
  581. package/dist/lib/utils.d.ts +1 -0
  582. package/dist/lib/utils.js +3 -0
  583. package/dist/lib/utils.js.map +1 -1
  584. package/dist/tokenized/index.d.ts +12 -0
  585. package/dist/tokenized/index.js +6 -0
  586. package/dist/tokenized/index.js.map +1 -1
  587. package/dist/vkui.css +11 -6
  588. package/dist/vkui.css.map +1 -1
  589. package/package.json +4 -3
  590. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +4 -0
  591. package/src/components/ActionSheetItem/ActionSheetItem.tsx +27 -27
  592. package/src/components/Alert/Alert.tsx +5 -7
  593. package/src/components/AppRoot/AppRoot.tsx +0 -6
  594. package/src/components/AppRoot/AppRootPortal.tsx +9 -1
  595. package/src/components/AppearanceProvider/AppearanceProvider.tsx +30 -13
  596. package/src/components/AppearanceProvider/AppearanceProviderContext.tsx +4 -9
  597. package/src/components/Banner/Banner.tsx +2 -2
  598. package/src/components/Button/Button.tsx +9 -9
  599. package/src/components/Card/Card.css +41 -0
  600. package/src/components/Card/Card.tsx +2 -9
  601. package/src/components/CardScroll/CardScroll.css +2 -39
  602. package/src/components/CardScroll/CardScroll.tsx +7 -17
  603. package/src/components/CardScroll/Readme.md +3 -2
  604. package/src/components/Chip/Chip.tsx +1 -4
  605. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  606. package/src/components/ConfigProvider/ConfigProvider.tsx +31 -40
  607. package/src/components/ConfigProvider/ConfigProviderContext.tsx +14 -18
  608. package/src/components/ContentCard/ContentCard.tsx +2 -2
  609. package/src/components/CustomSelectOption/CustomSelectOption.css +1 -0
  610. package/src/components/FocusVisible/FocusVisible.css +4 -8
  611. package/src/components/FormItem/FormItem.tsx +1 -5
  612. package/src/components/FormItem/Readme.md +14 -2
  613. package/src/components/Gradient/Gradient.tsx +4 -12
  614. package/src/components/Gradient/Readme.md +1 -1
  615. package/src/components/Header/Header.tsx +3 -3
  616. package/src/components/HorizontalCell/HorizontalCell.tsx +1 -3
  617. package/src/components/HorizontalScroll/HorizontalScroll.tsx +1 -5
  618. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +12 -5
  619. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -5
  620. package/src/components/InfoRow/InfoRow.tsx +1 -1
  621. package/src/components/ModalCardBase/ModalCardBase.tsx +2 -2
  622. package/src/components/ModalRoot/Readme.md +1 -1
  623. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -5
  624. package/src/components/Placeholder/Placeholder.tsx +1 -1
  625. package/src/components/Removable/Removable.tsx +9 -7
  626. package/src/components/RichCell/RichCell.tsx +1 -5
  627. package/src/components/Search/Search.tsx +38 -14
  628. package/src/components/SegmentedControl/Readme.md +94 -0
  629. package/src/components/SegmentedControl/SegmentedControl.css +42 -0
  630. package/src/components/SegmentedControl/SegmentedControl.tsx +105 -0
  631. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +30 -0
  632. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +42 -0
  633. package/src/components/SimpleCell/SimpleCell.tsx +11 -11
  634. package/src/components/SliderSwitch/Readme.md +4 -0
  635. package/src/components/SliderSwitch/SliderSwitch.tsx +17 -3
  636. package/src/components/SliderSwitch/SliderSwitchButton.tsx +4 -4
  637. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  638. package/src/components/Switch/Switch.css +0 -12
  639. package/src/components/Switch/Switch.tsx +8 -10
  640. package/src/components/TextTooltip/TextTooltip.tsx +2 -6
  641. package/src/components/Tooltip/Tooltip.tsx +2 -6
  642. package/src/components/Typography/Subhead/Readme.md +18 -24
  643. package/src/components/Typography/Subhead/Subhead.css +22 -7
  644. package/src/components/Typography/Subhead/Subhead.tsx +23 -7
  645. package/src/components/Typography/Title/Readme.md +28 -41
  646. package/src/components/Typography/Title/Title.css +22 -13
  647. package/src/components/Typography/Title/Title.tsx +27 -22
  648. package/src/components/UsersStack/Readme.md +1 -1
  649. package/src/components/UsersStack/UsersStack.tsx +1 -1
  650. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css +9 -0
  651. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +25 -0
  652. package/src/hooks/useAppearance.ts +2 -3
  653. package/src/hooks/usePlatform.ts +1 -1
  654. package/src/index.ts +11 -5
  655. package/src/lib/utils.ts +6 -0
  656. package/src/styles/components.css +3 -0
  657. package/src/tokenized/index.ts +22 -0
@@ -21,5 +21,4 @@ export declare type TAlertProps = AlertProps & AdaptivityContextInterface;
21
21
  export interface AlertState {
22
22
  closing: boolean;
23
23
  }
24
- declare const AlertWithPlatformAndAdaptivity: React.FC<Pick<Pick<TAlertProps, "platform" | "hidden" | "dir" | "header" | "slot" | "style" | "title" | "text" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "onClose" | "actionsLayout" | "actions"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps, "hidden" | "dir" | "header" | "slot" | "style" | "title" | "text" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "sizeX" | "sizeY" | "onClose" | "actionsLayout" | "actions">>;
25
- export { AlertWithPlatformAndAdaptivity as Alert };
24
+ export declare const Alert: React.FC<Pick<Pick<TAlertProps, "platform" | "hidden" | "dir" | "header" | "slot" | "style" | "title" | "text" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "onClose" | "actionsLayout" | "actions"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps, "hidden" | "dir" | "header" | "slot" | "style" | "title" | "text" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "sizeX" | "sizeY" | "onClose" | "actionsLayout" | "actions">>;
@@ -25,15 +25,15 @@ import Caption from "../Typography/Caption/Caption";
25
25
  import ModalDismissButton from "../ModalDismissButton/ModalDismissButton";
26
26
  import { FocusTrap } from "../FocusTrap/FocusTrap";
27
27
 
28
- var Alert = /*#__PURE__*/function (_React$Component) {
29
- _inherits(Alert, _React$Component);
28
+ var AlertComponent = /*#__PURE__*/function (_React$Component) {
29
+ _inherits(AlertComponent, _React$Component);
30
30
 
31
- var _super = _createSuper(Alert);
31
+ var _super = _createSuper(AlertComponent);
32
32
 
33
- function Alert(props) {
33
+ function AlertComponent(props) {
34
34
  var _this;
35
35
 
36
- _classCallCheck(this, Alert);
36
+ _classCallCheck(this, AlertComponent);
37
37
 
38
38
  _this = _super.call(this, props);
39
39
 
@@ -128,7 +128,7 @@ var Alert = /*#__PURE__*/function (_React$Component) {
128
128
  return _this;
129
129
  }
130
130
 
131
- _createClass(Alert, [{
131
+ _createClass(AlertComponent, [{
132
132
  key: "timeout",
133
133
  get: function get() {
134
134
  return this.props.platform === ANDROID || this.props.platform === VKCOM ? 200 : 300;
@@ -160,14 +160,14 @@ var Alert = /*#__PURE__*/function (_React$Component) {
160
160
  case IOS:
161
161
  return createScopedElement(Title, {
162
162
  vkuiClass: "Alert__header",
163
- weight: "semibold",
163
+ weight: "1",
164
164
  level: "3"
165
165
  }, header);
166
166
 
167
167
  case ANDROID:
168
168
  return createScopedElement(Title, {
169
169
  vkuiClass: "Alert__header",
170
- weight: "medium",
170
+ weight: "2",
171
171
  level: "2"
172
172
  }, header);
173
173
 
@@ -248,16 +248,15 @@ var Alert = /*#__PURE__*/function (_React$Component) {
248
248
  }
249
249
  }]);
250
250
 
251
- return Alert;
251
+ return AlertComponent;
252
252
  }(React.Component);
253
253
 
254
- _defineProperty(Alert, "defaultProps", {
254
+ _defineProperty(AlertComponent, "defaultProps", {
255
255
  actionsLayout: "horizontal",
256
256
  actions: []
257
257
  });
258
258
 
259
- var AlertWithPlatformAndAdaptivity = withPlatform(withAdaptivity(Alert, {
259
+ export var Alert = withPlatform(withAdaptivity(AlertComponent, {
260
260
  viewWidth: true
261
261
  }));
262
- export { AlertWithPlatformAndAdaptivity as Alert };
263
262
  //# sourceMappingURL=Alert.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Alert/Alert.tsx"],"names":["React","Tappable","PopoutWrapper","getClassName","classNames","transitionEvent","ANDROID","VKCOM","IOS","withPlatform","withAdaptivity","ViewWidth","Button","hasReactNode","Headline","Title","Caption","ModalDismissButton","FocusTrap","Alert","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","Component","href","mode","onItemClick","target","title","viewWidth","DESKTOP","element","createRef","state","eventHandler","supported","current","removeEventListener","name","addEventListener","transitionFinishTimeout","clearTimeout","setTimeout","bind","timeout","header","text","actions","actionsLayout","children","className","style","restProps","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","renderHeader","renderText","map","renderAction","AlertWithPlatformAndAdaptivity"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent } from \"../../lib/supportEvents\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport Button, { ButtonProps } from \"../Button/Button\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Title from \"../Typography/Title/Title\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n}\n\nexport type TAlertProps = AlertProps & AdaptivityContextInterface;\n\nexport interface AlertState {\n closing: boolean;\n}\n\ntype TransitionEndHandler = (e?: TransitionEvent) => void;\n\ntype ItemClickHander = (item: AlertActionInterface) => () => void;\n\nclass Alert extends React.Component<TAlertProps, AlertState> {\n constructor(props: TAlertProps) {\n super(props);\n this.element = React.createRef();\n this.state = {\n closing: false,\n };\n }\n\n element: React.RefObject<HTMLDivElement>;\n\n private transitionFinishTimeout: number | undefined = undefined;\n\n static defaultProps: Partial<TAlertProps> = {\n actionsLayout: \"horizontal\",\n actions: [],\n };\n\n private get timeout(): number {\n return this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 200\n : 300;\n }\n\n onItemClick: ItemClickHander = (item: AlertActionInterface) => () => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n autoclose && this.props.onClose?.();\n action && action();\n }\n });\n } else {\n action && action();\n }\n };\n\n onClose: VoidFunction = () => {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n this.props.onClose?.();\n }\n });\n };\n\n stopPropagation: React.MouseEventHandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n };\n\n waitTransitionFinish(eventHandler: TransitionEndHandler) {\n if (transitionEvent.supported && this.element.current) {\n this.element.current.removeEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n this.element.current.addEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler.bind(this),\n this.timeout\n );\n }\n }\n\n renderHeader(header: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Headline vkuiClass=\"Alert__header\" weight=\"medium\">\n {header}\n </Headline>\n );\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"semibold\" level=\"3\">\n {header}\n </Title>\n );\n case ANDROID:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"medium\" level=\"2\">\n {header}\n </Title>\n );\n default:\n return undefined;\n }\n }\n\n renderText(text: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"1\" weight=\"regular\">\n {text}\n </Caption>\n );\n case IOS:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"2\" weight=\"regular\">\n {text}\n </Caption>\n );\n case ANDROID:\n return (\n <Headline vkuiClass=\"Alert__text\" weight=\"regular\">\n {text}\n </Headline>\n );\n default:\n return undefined;\n }\n }\n\n renderAction = (action: AlertActionInterface, i: number) => {\n const { platform } = this.props;\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"Alert__action\",\n `Alert__action--${action.mode}`\n )}\n onClick={this.onItemClick(action)}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (\n this.props.viewWidth === ViewWidth.DESKTOP &&\n action.mode === \"destructive\"\n ) {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={this.onItemClick(action)}\n Component={action.Component}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n };\n\n render() {\n const {\n actions,\n actionsLayout,\n children,\n className,\n style,\n platform,\n viewWidth,\n text,\n header,\n ...restProps\n } = this.props;\n const { closing } = this.state;\n\n const resolvedActionsLayout: TAlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={this.onClose}\n >\n <FocusTrap\n {...restProps}\n getRootRef={this.element}\n onClick={this.stopPropagation}\n onClose={this.onClose}\n timeout={this.timeout}\n vkuiClass={classNames(getClassName(\"Alert\", platform), {\n \"Alert--v\": resolvedActionsLayout === \"vertical\",\n \"Alert--h\": resolvedActionsLayout === \"horizontal\",\n \"Alert--closing\": closing,\n \"Alert--desktop\": isDesktop,\n })}\n >\n {canShowCloseButton && <ModalDismissButton onClick={this.onClose} />}\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && this.renderHeader(header)}\n {hasReactNode(text) && this.renderText(text)}\n {children}\n </div>\n <footer vkuiClass=\"Alert__actions\">\n {actions?.map(this.renderAction)}\n </footer>\n </FocusTrap>\n </PopoutWrapper>\n );\n }\n}\n\nconst AlertWithPlatformAndAdaptivity = withPlatform(\n withAdaptivity(Alert, {\n viewWidth: true,\n })\n);\n\nexport { AlertWithPlatformAndAdaptivity as Alert };\n"],"file":"Alert.js"}
1
+ {"version":3,"sources":["../../../src/components/Alert/Alert.tsx"],"names":["React","Tappable","PopoutWrapper","getClassName","classNames","transitionEvent","ANDROID","VKCOM","IOS","withPlatform","withAdaptivity","ViewWidth","Button","hasReactNode","Headline","Title","Caption","ModalDismissButton","FocusTrap","AlertComponent","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","Component","href","mode","onItemClick","target","title","viewWidth","DESKTOP","element","createRef","state","eventHandler","supported","current","removeEventListener","name","addEventListener","transitionFinishTimeout","clearTimeout","setTimeout","bind","timeout","header","text","actions","actionsLayout","children","className","style","restProps","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","renderHeader","renderText","map","renderAction","Alert"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent } from \"../../lib/supportEvents\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport Button, { ButtonProps } from \"../Button/Button\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Title from \"../Typography/Title/Title\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n}\n\nexport type TAlertProps = AlertProps & AdaptivityContextInterface;\n\nexport interface AlertState {\n closing: boolean;\n}\n\ntype TransitionEndHandler = (e?: TransitionEvent) => void;\n\ntype ItemClickHander = (item: AlertActionInterface) => () => void;\n\nclass AlertComponent extends React.Component<TAlertProps, AlertState> {\n constructor(props: TAlertProps) {\n super(props);\n this.element = React.createRef();\n this.state = {\n closing: false,\n };\n }\n\n element: React.RefObject<HTMLDivElement>;\n\n private transitionFinishTimeout: number | undefined = undefined;\n\n static defaultProps: Partial<TAlertProps> = {\n actionsLayout: \"horizontal\",\n actions: [],\n };\n\n private get timeout(): number {\n return this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 200\n : 300;\n }\n\n onItemClick: ItemClickHander = (item: AlertActionInterface) => () => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n autoclose && this.props.onClose?.();\n action && action();\n }\n });\n } else {\n action && action();\n }\n };\n\n onClose: VoidFunction = () => {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n this.props.onClose?.();\n }\n });\n };\n\n stopPropagation: React.MouseEventHandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n };\n\n waitTransitionFinish(eventHandler: TransitionEndHandler) {\n if (transitionEvent.supported && this.element.current) {\n this.element.current.removeEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n this.element.current.addEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler.bind(this),\n this.timeout\n );\n }\n }\n\n renderHeader(header: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Headline vkuiClass=\"Alert__header\" weight=\"medium\">\n {header}\n </Headline>\n );\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"1\" level=\"3\">\n {header}\n </Title>\n );\n case ANDROID:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"2\" level=\"2\">\n {header}\n </Title>\n );\n default:\n return undefined;\n }\n }\n\n renderText(text: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"1\" weight=\"regular\">\n {text}\n </Caption>\n );\n case IOS:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"2\" weight=\"regular\">\n {text}\n </Caption>\n );\n case ANDROID:\n return (\n <Headline vkuiClass=\"Alert__text\" weight=\"regular\">\n {text}\n </Headline>\n );\n default:\n return undefined;\n }\n }\n\n renderAction = (action: AlertActionInterface, i: number) => {\n const { platform } = this.props;\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"Alert__action\",\n `Alert__action--${action.mode}`\n )}\n onClick={this.onItemClick(action)}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (\n this.props.viewWidth === ViewWidth.DESKTOP &&\n action.mode === \"destructive\"\n ) {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={this.onItemClick(action)}\n Component={action.Component}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n };\n\n render() {\n const {\n actions,\n actionsLayout,\n children,\n className,\n style,\n platform,\n viewWidth,\n text,\n header,\n ...restProps\n } = this.props;\n const { closing } = this.state;\n\n const resolvedActionsLayout: TAlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={this.onClose}\n >\n <FocusTrap\n {...restProps}\n getRootRef={this.element}\n onClick={this.stopPropagation}\n onClose={this.onClose}\n timeout={this.timeout}\n vkuiClass={classNames(getClassName(\"Alert\", platform), {\n \"Alert--v\": resolvedActionsLayout === \"vertical\",\n \"Alert--h\": resolvedActionsLayout === \"horizontal\",\n \"Alert--closing\": closing,\n \"Alert--desktop\": isDesktop,\n })}\n >\n {canShowCloseButton && <ModalDismissButton onClick={this.onClose} />}\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && this.renderHeader(header)}\n {hasReactNode(text) && this.renderText(text)}\n {children}\n </div>\n <footer vkuiClass=\"Alert__actions\">\n {actions?.map(this.renderAction)}\n </footer>\n </FocusTrap>\n </PopoutWrapper>\n );\n }\n}\n\nexport const Alert = withPlatform(\n withAdaptivity(AlertComponent, {\n viewWidth: true,\n })\n);\n"],"file":"Alert.js"}
@@ -17,7 +17,6 @@ import { noop } from "../../lib/utils";
17
17
  import { warnOnce } from "../../lib/warnOnce";
18
18
  import { useKeyboardInputTracker } from "../../hooks/useKeyboardInputTracker";
19
19
  import { useInsets } from "../../hooks/useInsets";
20
- import { AppearanceProviderContext } from "../AppearanceProvider/AppearanceProviderContext";
21
20
  var warn = warnOnce("AppRoot");
22
21
  export var AppRoot = withAdaptivity(function (_ref) {
23
22
  var children = _ref.children,
@@ -46,7 +45,6 @@ export var AppRoot = withAdaptivity(function (_ref) {
46
45
  document = _useDOM.document;
47
46
 
48
47
  var insets = useInsets();
49
- var appearanceContext = React.useContext(AppearanceProviderContext);
50
48
  var initialized = React.useRef(false);
51
49
 
52
50
  if (!initialized.current) {
@@ -145,11 +143,6 @@ export var AppRoot = withAdaptivity(function (_ref) {
145
143
  var scrollController = React.useMemo(function () {
146
144
  return scroll === "contain" ? elementScrollController(rootRef) : globalScrollController(window, document);
147
145
  }, [document, scroll, window]);
148
- useIsomorphicLayoutEffect(function () {
149
- var _appearanceContext$sc;
150
-
151
- portalRoot === null || portalRoot === void 0 ? void 0 : portalRoot.setAttribute("scheme", (_appearanceContext$sc = appearanceContext === null || appearanceContext === void 0 ? void 0 : appearanceContext.scheme) !== null && _appearanceContext$sc !== void 0 ? _appearanceContext$sc : "");
152
- }, [portalRoot, appearanceContext === null || appearanceContext === void 0 ? void 0 : appearanceContext.scheme]);
153
146
  var content = createScopedElement(AppRootContext.Provider, {
154
147
  value: {
155
148
  appRoot: rootRef,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","elementScrollController","globalScrollController","ScrollContext","noop","warnOnce","useKeyboardInputTracker","useInsets","AppearanceProviderContext","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","window","document","insets","appearanceContext","useContext","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","scrollController","useMemo","setAttribute","scheme","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n elementScrollController,\n globalScrollController,\n ScrollContext,\n ScrollContextInterface,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { AppearanceProviderContext } from \"../AppearanceProvider/AppearanceProviderContext\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n}\n\nconst warn = warnOnce(\"AppRoot\");\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { window, document } = useDOM();\n const insets = useInsets();\n const appearanceContext = React.useContext(AppearanceProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\"Scroll modes only supported in embedded mode\");\n }\n if (_mode && _embedded) {\n warn(`mode=\"${mode}\" overrides embedded`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement?.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () =>\n scroll === \"contain\"\n ? elementScrollController(rootRef)\n : globalScrollController(window, document),\n [document, scroll, window]\n );\n\n useIsomorphicLayoutEffect(() => {\n portalRoot?.setAttribute(\"scheme\", appearanceContext?.scheme ?? \"\");\n }, [portalRoot, appearanceContext?.scheme]);\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n }}\n >\n <ScrollContext.Provider value={scrollController}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollContext.Provider>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","elementScrollController","globalScrollController","ScrollContext","noop","warnOnce","useKeyboardInputTracker","useInsets","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","window","document","insets","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","scrollController","useMemo","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n elementScrollController,\n globalScrollController,\n ScrollContext,\n ScrollContextInterface,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n}\n\nconst warn = warnOnce(\"AppRoot\");\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { window, document } = useDOM();\n const insets = useInsets();\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\"Scroll modes only supported in embedded mode\");\n }\n if (_mode && _embedded) {\n warn(`mode=\"${mode}\" overrides embedded`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement?.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () =>\n scroll === \"contain\"\n ? elementScrollController(rootRef)\n : globalScrollController(window, document),\n [document, scroll, window]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n }}\n >\n <ScrollContext.Provider value={scrollController}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollContext.Provider>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
@@ -2,6 +2,8 @@ import { createScopedElement } from "../../lib/jsxRuntime";
2
2
  import * as React from "react";
3
3
  import { createPortal } from "react-dom";
4
4
  import { AppRootContext } from "./AppRootContext";
5
+ import { AppearanceProvider } from "../AppearanceProvider/AppearanceProvider";
6
+ import { useAppearance } from "../../hooks/useAppearance";
5
7
  export var AppRootPortal = function AppRootPortal(_ref) {
6
8
  var _forcePortal;
7
9
 
@@ -13,9 +15,12 @@ export var AppRootPortal = function AppRootPortal(_ref) {
13
15
  portalRoot = _React$useContext.portalRoot,
14
16
  mode = _React$useContext.mode;
15
17
 
18
+ var appearance = useAppearance();
16
19
  forcePortal = (_forcePortal = forcePortal) !== null && _forcePortal !== void 0 ? _forcePortal : mode !== "full";
17
- return portalRoot && forcePortal ? /*#__PURE__*/createPortal(createScopedElement("div", {
20
+ return portalRoot && forcePortal ? /*#__PURE__*/createPortal(createScopedElement(AppearanceProvider, {
21
+ appearance: appearance
22
+ }, createScopedElement("div", {
18
23
  className: className
19
- }, children), portalRoot) : createScopedElement(React.Fragment, null, children);
24
+ }, children)), portalRoot) : createScopedElement(React.Fragment, null, children);
20
25
  };
21
26
  //# sourceMappingURL=AppRootPortal.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["React","createPortal","AppRootContext","AppRootPortal","children","className","forcePortal","useContext","portalRoot","mode"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,cAAT;AAEA,OAAO,IAAMC,aAEZ,GAAG,SAFSA,aAET,OAA0C;AAAA;;AAAA,MAAvCC,QAAuC,QAAvCA,QAAuC;AAAA,MAA7BC,SAA6B,QAA7BA,SAA6B;AAAA,MAAlBC,WAAkB,QAAlBA,WAAkB;;AAC5C,0BAA6BN,KAAK,CAACO,UAAN,CAAiBL,cAAjB,CAA7B;AAAA,MAAQM,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,IAApB,qBAAoBA,IAApB;;AAEAH,EAAAA,WAAW,mBAAGA,WAAH,uDAAkBG,IAAI,KAAK,MAAtC;AACA,SAAOD,UAAU,IAAIF,WAAd,gBACLL,YAAY,CAAC;AAAK,IAAA,SAAS,EAAEI;AAAhB,KAA4BD,QAA5B,CAAD,EAA8CI,UAA9C,CADP,GAGL,oBAAC,KAAD,CAAO,QAAP,QAAiBJ,QAAjB,CAHF;AAKD,CAXM","sourcesContent":["import * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { AppRootContext } from \"./AppRootContext\";\n\nexport const AppRootPortal: React.FC<\n React.PropsWithChildren<{ className?: string; forcePortal?: boolean }>\n> = ({ children, className, forcePortal }) => {\n const { portalRoot, mode } = React.useContext(AppRootContext);\n\n forcePortal = forcePortal ?? mode !== \"full\";\n return portalRoot && forcePortal ? (\n createPortal(<div className={className}>{children}</div>, portalRoot)\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n"],"file":"AppRootPortal.js"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["React","createPortal","AppRootContext","AppearanceProvider","useAppearance","AppRootPortal","children","className","forcePortal","useContext","portalRoot","mode","appearance"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,cAAT;AACA,SAASC,kBAAT;AACA,SAASC,aAAT;AAEA,OAAO,IAAMC,aAEZ,GAAG,SAFSA,aAET,OAA0C;AAAA;;AAAA,MAAvCC,QAAuC,QAAvCA,QAAuC;AAAA,MAA7BC,SAA6B,QAA7BA,SAA6B;AAAA,MAAlBC,WAAkB,QAAlBA,WAAkB;;AAC5C,0BAA6BR,KAAK,CAACS,UAAN,CAAiBP,cAAjB,CAA7B;AAAA,MAAQQ,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,IAApB,qBAAoBA,IAApB;;AACA,MAAMC,UAAU,GAAGR,aAAa,EAAhC;AAEAI,EAAAA,WAAW,mBAAGA,WAAH,uDAAkBG,IAAI,KAAK,MAAtC;AACA,SAAOD,UAAU,IAAIF,WAAd,gBACLP,YAAY,CACV,oBAAC,kBAAD;AAAoB,IAAA,UAAU,EAAEW;AAAhC,KACE;AAAK,IAAA,SAAS,EAAEL;AAAhB,KAA4BD,QAA5B,CADF,CADU,EAIVI,UAJU,CADP,GAQL,oBAAC,KAAD,CAAO,QAAP,QAAiBJ,QAAjB,CARF;AAUD,CAjBM","sourcesContent":["import * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport { AppearanceProvider } from \"../AppearanceProvider/AppearanceProvider\";\nimport { useAppearance } from \"../../hooks/useAppearance\";\n\nexport const AppRootPortal: React.FC<\n React.PropsWithChildren<{ className?: string; forcePortal?: boolean }>\n> = ({ children, className, forcePortal }) => {\n const { portalRoot, mode } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n forcePortal = forcePortal ?? mode !== \"full\";\n return 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"],"file":"AppRootPortal.js"}
@@ -3,4 +3,5 @@ import { AppearanceType } from "@vkontakte/vk-bridge";
3
3
  export interface AppearanceProviderProps {
4
4
  appearance?: AppearanceType;
5
5
  }
6
+ export declare const generateVKUITokensClassName: (platform: string, appearance: string) => string;
6
7
  export declare const AppearanceProvider: React.FC<AppearanceProviderProps>;
@@ -4,26 +4,44 @@ import { AppearanceProviderContext } from "./AppearanceProviderContext";
4
4
  import { getScheme } from "../../helpers/getScheme";
5
5
  import { classNamesString } from "../../lib/classNames";
6
6
  import { usePlatform } from "../../hooks/usePlatform";
7
+ import { Platform } from "../../lib/platform";
8
+ export var generateVKUITokensClassName = function generateVKUITokensClassName(platform, appearance) {
9
+ var tokensPlatform;
10
+
11
+ switch (platform) {
12
+ case Platform.ANDROID:
13
+ tokensPlatform = "vkBase";
14
+ break;
15
+
16
+ case Platform.IOS:
17
+ tokensPlatform = "vkIOS";
18
+ break;
19
+
20
+ case Platform.VKCOM:
21
+ tokensPlatform = "vkCom";
22
+ break;
23
+
24
+ default:
25
+ tokensPlatform = platform;
26
+ }
27
+
28
+ return "vkui--".concat(tokensPlatform, "--").concat(appearance);
29
+ };
7
30
  export var AppearanceProvider = function AppearanceProvider(_ref) {
8
31
  var children = _ref.children,
9
32
  _ref$appearance = _ref.appearance,
10
33
  appearance = _ref$appearance === void 0 ? "light" : _ref$appearance;
11
34
  var platform = usePlatform();
12
- var appearanceContext = React.useMemo(function () {
13
- return {
14
- scheme: getScheme({
15
- platform: platform,
16
- appearance: appearance
17
- }),
18
- appearance: appearance
19
- };
20
- }, [appearance, platform]);
35
+ var scheme = getScheme({
36
+ platform: platform,
37
+ appearance: appearance
38
+ });
21
39
  return createScopedElement(AppearanceProviderContext.Provider, {
22
- value: appearanceContext
40
+ value: appearance
23
41
  }, React.Children.map(children, function (child) {
24
42
  if ( /*#__PURE__*/React.isValidElement(child)) {
25
43
  return /*#__PURE__*/React.cloneElement(child, {
26
- className: classNamesString(child.props.className, "vkui".concat(appearanceContext.scheme))
44
+ className: classNamesString(child.props.className, "vkui".concat(scheme), generateVKUITokensClassName(platform, appearance))
27
45
  });
28
46
  }
29
47
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["React","AppearanceProviderContext","getScheme","classNamesString","usePlatform","AppearanceProvider","children","appearance","platform","appearanceContext","useMemo","scheme","Children","map","child","isValidElement","cloneElement","className","props"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,yBAAT;AACA,SAASC,SAAT;AACA,SAASC,gBAAT;AACA,SAASC,WAAT;AAMA,OAAO,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAG/D;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,6BADJC,UACI;AAAA,MADJA,UACI,gCADS,OACT;AACJ,MAAMC,QAAQ,GAAGJ,WAAW,EAA5B;AAEA,MAAMK,iBAAiB,GAAGT,KAAK,CAACU,OAAN,CACxB;AAAA,WAAO;AACLC,MAAAA,MAAM,EAAET,SAAS,CAAC;AAChBM,QAAAA,QAAQ,EAARA,QADgB;AAEhBD,QAAAA,UAAU,EAAVA;AAFgB,OAAD,CADZ;AAKLA,MAAAA,UAAU,EAAVA;AALK,KAAP;AAAA,GADwB,EAQxB,CAACA,UAAD,EAAaC,QAAb,CARwB,CAA1B;AAWA,SACE,oBAAC,yBAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEC;AAA3C,KACGT,KAAK,CAACY,QAAN,CAAeC,GAAf,CAAmBP,QAAnB,EAA6B,UAACQ,KAAD,EAAW;AACvC,sBAAId,KAAK,CAACe,cAAN,CAAqBD,KAArB,CAAJ,EAAiC;AAC/B,0BAAOd,KAAK,CAACgB,YAAN,CAAmBF,KAAnB,EAA0B;AAC/BG,QAAAA,SAAS,EAAEd,gBAAgB,CACzBW,KAAK,CAACI,KAAN,CAAYD,SADa,gBAElBR,iBAAiB,CAACE,MAFA;AADI,OAA1B,CAAP;AAMD;;AACD,WAAOG,KAAP;AACD,GAVA,CADH,CADF;AAeD,CAhCM","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { getScheme } from \"../../helpers/getScheme\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n}\n\nexport const AppearanceProvider: React.FC<AppearanceProviderProps> = ({\n children,\n appearance = \"light\",\n}) => {\n const platform = usePlatform();\n\n const appearanceContext = React.useMemo(\n () => ({\n scheme: getScheme({\n platform,\n appearance,\n }),\n appearance,\n }),\n [appearance, platform]\n );\n\n return (\n <AppearanceProviderContext.Provider value={appearanceContext}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n `vkui${appearanceContext.scheme}`\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"file":"AppearanceProvider.js"}
1
+ {"version":3,"sources":["../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["React","AppearanceProviderContext","getScheme","classNamesString","usePlatform","Platform","generateVKUITokensClassName","platform","appearance","tokensPlatform","ANDROID","IOS","VKCOM","AppearanceProvider","children","scheme","Children","map","child","isValidElement","cloneElement","className","props"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,yBAAT;AACA,SAASC,SAAT;AACA,SAASC,gBAAT;AACA,SAASC,WAAT;AACA,SAASC,QAAT;AAMA,OAAO,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,QADyC,EAEzCC,UAFyC,EAG9B;AACX,MAAIC,cAAJ;;AACA,UAAQF,QAAR;AACE,SAAKF,QAAQ,CAACK,OAAd;AACED,MAAAA,cAAc,GAAG,QAAjB;AACA;;AACF,SAAKJ,QAAQ,CAACM,GAAd;AACEF,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF,SAAKJ,QAAQ,CAACO,KAAd;AACEH,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF;AACEA,MAAAA,cAAc,GAAGF,QAAjB;AAXJ;;AAcA,yBAAgBE,cAAhB,eAAmCD,UAAnC;AACD,CApBM;AAsBP,OAAO,IAAMK,kBAAqD,GAAG,SAAxDA,kBAAwD,OAG/D;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,6BADJN,UACI;AAAA,MADJA,UACI,gCADS,OACT;AACJ,MAAMD,QAAQ,GAAGH,WAAW,EAA5B;AACA,MAAMW,MAAM,GAAGb,SAAS,CAAC;AACvBK,IAAAA,QAAQ,EAARA,QADuB;AAEvBC,IAAAA,UAAU,EAAVA;AAFuB,GAAD,CAAxB;AAKA,SACE,oBAAC,yBAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEA;AAA3C,KACGR,KAAK,CAACgB,QAAN,CAAeC,GAAf,CAAmBH,QAAnB,EAA6B,UAACI,KAAD,EAAW;AACvC,sBAAIlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,CAAJ,EAAiC;AAC/B,0BAAOlB,KAAK,CAACoB,YAAN,CAAmBF,KAAnB,EAA0B;AAC/BG,QAAAA,SAAS,EAAElB,gBAAgB,CACzBe,KAAK,CAACI,KAAN,CAAYD,SADa,gBAElBN,MAFkB,GAGzBT,2BAA2B,CAACC,QAAD,EAAWC,UAAX,CAHF;AADI,OAA1B,CAAP;AAOD;;AACD,WAAOU,KAAP;AACD,GAXA,CADH,CADF;AAgBD,CA1BM","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { getScheme } from \"../../helpers/getScheme\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n}\n\nexport const generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\nexport const AppearanceProvider: React.FC<AppearanceProviderProps> = ({\n children,\n appearance = \"light\",\n}) => {\n const platform = usePlatform();\n const scheme = getScheme({\n platform,\n appearance,\n });\n\n return (\n <AppearanceProviderContext.Provider value={appearance}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n `vkui${scheme}`,\n generateVKUITokensClassName(platform, appearance)\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"file":"AppearanceProvider.js"}
@@ -1,8 +1,3 @@
1
1
  import * as React from "react";
2
2
  import { AppearanceType } from "@vkontakte/vk-bridge";
3
- import { Scheme } from "../../helpers/scheme";
4
- export interface AppearanceProviderContextProps {
5
- scheme: Scheme | "inherit" | undefined;
6
- appearance: AppearanceType;
7
- }
8
- export declare const AppearanceProviderContext: React.Context<AppearanceProviderContextProps | undefined>;
3
+ export declare const AppearanceProviderContext: React.Context<AppearanceType>;
@@ -1,3 +1,4 @@
1
1
  import * as React from "react";
2
- export var AppearanceProviderContext = /*#__PURE__*/React.createContext(undefined);
2
+ import { Appearance } from "../../helpers/scheme";
3
+ export var AppearanceProviderContext = /*#__PURE__*/React.createContext(Appearance.LIGHT);
3
4
  //# sourceMappingURL=AppearanceProviderContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppearanceProvider/AppearanceProviderContext.tsx"],"names":["React","AppearanceProviderContext","createContext","undefined"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AASA,OAAO,IAAMC,yBAAyB,gBAAGD,KAAK,CAACE,aAAN,CAEvCC,SAFuC,CAAlC","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { Scheme } from \"../../helpers/scheme\";\n\nexport interface AppearanceProviderContextProps {\n scheme: Scheme | \"inherit\" | undefined;\n appearance: AppearanceType;\n}\n\nexport const AppearanceProviderContext = React.createContext<\n AppearanceProviderContextProps | undefined\n>(undefined);\n"],"file":"AppearanceProviderContext.js"}
1
+ {"version":3,"sources":["../../../src/components/AppearanceProvider/AppearanceProviderContext.tsx"],"names":["React","Appearance","AppearanceProviderContext","createContext","LIGHT"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT;AAEA,OAAO,IAAMC,yBAAyB,gBAAGF,KAAK,CAACG,aAAN,CACvCF,UAAU,CAACG,KAD4B,CAAlC","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { Appearance } from \"../../helpers/scheme\";\n\nexport const AppearanceProviderContext = React.createContext<AppearanceType>(\n Appearance.LIGHT\n);\n"],"file":"AppearanceProviderContext.js"}
@@ -24,7 +24,7 @@ var BannerHeader = function BannerHeader(_ref) {
24
24
 
25
25
  return size === "m" ? createScopedElement(Title, _extends({
26
26
  level: "2",
27
- weight: "medium"
27
+ weight: "2"
28
28
  }, restProps)) : createScopedElement(Headline, _extends({
29
29
  weight: "medium"
30
30
  }, restProps));
@@ -36,9 +36,7 @@ var BannerSubheader = function BannerSubheader(_ref2) {
36
36
 
37
37
  return size === "m" ? createScopedElement(Text, _extends({
38
38
  weight: "regular"
39
- }, restProps)) : createScopedElement(Subhead, _extends({
40
- weight: "regular"
41
- }, restProps));
39
+ }, restProps)) : createScopedElement(Subhead, restProps);
42
40
  };
43
41
 
44
42
  var Banner = function Banner(props) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Banner/Banner.tsx"],"names":["React","getClassName","classNames","usePlatform","ANDROID","IOS","VKCOM","hasReactNode","Icon24Chevron","Icon24DismissSubstract","Icon24DismissDark","Icon24Cancel","Tappable","IconButton","Headline","Subhead","Text","Title","BannerHeader","size","restProps","BannerSubheader","Banner","props","platform","mode","imageTheme","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","undefined","Children","count","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { ANDROID, IOS, VKCOM } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport {\n Icon24Chevron,\n Icon24DismissSubstract,\n Icon24DismissDark,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport Tappable from \"../Tappable/Tappable\";\nimport IconButton from \"../IconButton/IconButton\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport \"./Banner.css\";\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Тип баннера.\n */\n mode?: \"tint\" | \"image\";\n size?: \"s\" | \"m\";\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: \"dismiss\" | \"expand\";\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера. <br />\n * Это свойство следует использовать без указания `header` и `subheader`.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: \"light\" | \"dark\";\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки, отображаемые в баннере.\n *\n * - В режиме `tint` или в `image` со светлым фоном рекомендуется использовать только `<Button mode=\"primary\" />` или `<Button mode=\"tertiary\" hasHover={false} />`.\n * - В режиме `image` с тёмным фоном – `<Button mode=\"overlay_primary\" />`.\n */\n actions?: React.ReactNode;\n}\n\ntype BannerTypographyProps = Pick<BannerProps, \"size\"> & HasComponent;\n\nconst BannerHeader: React.FC<BannerTypographyProps> = ({\n size,\n ...restProps\n}) => {\n return size === \"m\" ? (\n <Title level=\"2\" weight=\"medium\" {...restProps} />\n ) : (\n <Headline weight=\"medium\" {...restProps} />\n );\n};\n\nconst BannerSubheader: React.FC<BannerTypographyProps> = ({\n size,\n ...restProps\n}) => {\n return size === \"m\" ? (\n <Text weight=\"regular\" {...restProps} />\n ) : (\n <Subhead weight=\"regular\" {...restProps} />\n );\n};\n\nconst Banner: React.FC<BannerProps> = (props: BannerProps) => {\n const platform = usePlatform();\n const {\n mode,\n imageTheme,\n size,\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel,\n ...restProps\n } = props;\n\n return (\n <section\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Banner\", platform),\n `Banner--md-${mode}`,\n `Banner--sz-${size}`,\n {\n \"Banner--inverted\": mode === \"image\" && imageTheme === \"dark\",\n }\n )}\n >\n <Tappable\n vkuiClass=\"Banner__in\"\n activeMode={platform === IOS ? \"opacity\" : \"background\"}\n disabled={asideMode !== \"expand\"}\n role={asideMode === \"expand\" ? \"button\" : undefined}\n >\n {mode === \"image\" && background && (\n <div aria-hidden=\"true\" vkuiClass=\"Banner__bg\">\n {background}\n </div>\n )}\n\n {before && <div vkuiClass=\"Banner__before\">{before}</div>}\n\n <div vkuiClass=\"Banner__content\">\n {hasReactNode(header) && (\n <BannerHeader\n size={size}\n Component=\"span\"\n vkuiClass=\"Banner__header\"\n >\n {header}\n </BannerHeader>\n )}\n {hasReactNode(subheader) && (\n <BannerSubheader\n Component=\"span\"\n size={size}\n vkuiClass=\"Banner__subheader\"\n >\n {subheader}\n </BannerSubheader>\n )}\n {hasReactNode(text) && (\n <Text weight=\"regular\" vkuiClass=\"Banner__text\">\n {text}\n </Text>\n )}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div vkuiClass=\"Banner__actions\">{actions}</div>\n )}\n </div>\n\n {!!asideMode && (\n <div vkuiClass=\"Banner__aside\">\n {asideMode === \"expand\" && <Icon24Chevron />}\n\n {asideMode === \"dismiss\" && (\n <IconButton\n aria-label={dismissLabel}\n vkuiClass=\"Banner__dismiss\"\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {(platform === ANDROID || platform === VKCOM) && (\n <Icon24Cancel />\n )}\n {platform === IOS &&\n (mode === \"image\" ? (\n <Icon24DismissDark />\n ) : (\n <Icon24DismissSubstract />\n ))}\n </IconButton>\n )}\n </div>\n )}\n </Tappable>\n </section>\n );\n};\n\nBanner.defaultProps = {\n dismissLabel: \"Скрыть\",\n mode: \"tint\",\n size: \"s\",\n imageTheme: \"dark\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Banner;\n"],"file":"Banner.js"}
1
+ {"version":3,"sources":["../../../src/components/Banner/Banner.tsx"],"names":["React","getClassName","classNames","usePlatform","ANDROID","IOS","VKCOM","hasReactNode","Icon24Chevron","Icon24DismissSubstract","Icon24DismissDark","Icon24Cancel","Tappable","IconButton","Headline","Subhead","Text","Title","BannerHeader","size","restProps","BannerSubheader","Banner","props","platform","mode","imageTheme","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","undefined","Children","count","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { ANDROID, IOS, VKCOM } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport {\n Icon24Chevron,\n Icon24DismissSubstract,\n Icon24DismissDark,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport Tappable from \"../Tappable/Tappable\";\nimport IconButton from \"../IconButton/IconButton\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport \"./Banner.css\";\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Тип баннера.\n */\n mode?: \"tint\" | \"image\";\n size?: \"s\" | \"m\";\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: \"dismiss\" | \"expand\";\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера. <br />\n * Это свойство следует использовать без указания `header` и `subheader`.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: \"light\" | \"dark\";\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки, отображаемые в баннере.\n *\n * - В режиме `tint` или в `image` со светлым фоном рекомендуется использовать только `<Button mode=\"primary\" />` или `<Button mode=\"tertiary\" hasHover={false} />`.\n * - В режиме `image` с тёмным фоном – `<Button mode=\"overlay_primary\" />`.\n */\n actions?: React.ReactNode;\n}\n\ntype BannerTypographyProps = Pick<BannerProps, \"size\"> & HasComponent;\n\nconst BannerHeader: React.FC<BannerTypographyProps> = ({\n size,\n ...restProps\n}) => {\n return size === \"m\" ? (\n <Title level=\"2\" weight=\"2\" {...restProps} />\n ) : (\n <Headline weight=\"medium\" {...restProps} />\n );\n};\n\nconst BannerSubheader: React.FC<BannerTypographyProps> = ({\n size,\n ...restProps\n}) => {\n return size === \"m\" ? (\n <Text weight=\"regular\" {...restProps} />\n ) : (\n <Subhead {...restProps} />\n );\n};\n\nconst Banner: React.FC<BannerProps> = (props: BannerProps) => {\n const platform = usePlatform();\n const {\n mode,\n imageTheme,\n size,\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel,\n ...restProps\n } = props;\n\n return (\n <section\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Banner\", platform),\n `Banner--md-${mode}`,\n `Banner--sz-${size}`,\n {\n \"Banner--inverted\": mode === \"image\" && imageTheme === \"dark\",\n }\n )}\n >\n <Tappable\n vkuiClass=\"Banner__in\"\n activeMode={platform === IOS ? \"opacity\" : \"background\"}\n disabled={asideMode !== \"expand\"}\n role={asideMode === \"expand\" ? \"button\" : undefined}\n >\n {mode === \"image\" && background && (\n <div aria-hidden=\"true\" vkuiClass=\"Banner__bg\">\n {background}\n </div>\n )}\n\n {before && <div vkuiClass=\"Banner__before\">{before}</div>}\n\n <div vkuiClass=\"Banner__content\">\n {hasReactNode(header) && (\n <BannerHeader\n size={size}\n Component=\"span\"\n vkuiClass=\"Banner__header\"\n >\n {header}\n </BannerHeader>\n )}\n {hasReactNode(subheader) && (\n <BannerSubheader\n Component=\"span\"\n size={size}\n vkuiClass=\"Banner__subheader\"\n >\n {subheader}\n </BannerSubheader>\n )}\n {hasReactNode(text) && (\n <Text weight=\"regular\" vkuiClass=\"Banner__text\">\n {text}\n </Text>\n )}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div vkuiClass=\"Banner__actions\">{actions}</div>\n )}\n </div>\n\n {!!asideMode && (\n <div vkuiClass=\"Banner__aside\">\n {asideMode === \"expand\" && <Icon24Chevron />}\n\n {asideMode === \"dismiss\" && (\n <IconButton\n aria-label={dismissLabel}\n vkuiClass=\"Banner__dismiss\"\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {(platform === ANDROID || platform === VKCOM) && (\n <Icon24Cancel />\n )}\n {platform === IOS &&\n (mode === \"image\" ? (\n <Icon24DismissDark />\n ) : (\n <Icon24DismissSubstract />\n ))}\n </IconButton>\n )}\n </div>\n )}\n </Tappable>\n </section>\n );\n};\n\nBanner.defaultProps = {\n dismissLabel: \"Скрыть\",\n mode: \"tint\",\n size: \"s\",\n imageTheme: \"dark\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Banner;\n"],"file":"Banner.js"}
@@ -14,8 +14,9 @@ import Subhead from "../Typography/Subhead/Subhead";
14
14
  import Caption from "../Typography/Caption/Caption";
15
15
  import { usePlatform } from "../../hooks/usePlatform";
16
16
  import { SizeType, withAdaptivity } from "../../hoc/withAdaptivity";
17
- import { IOS, VKCOM } from "../../lib/platform";
17
+ import { IOS, VKCOM, ANDROID } from "../../lib/platform";
18
18
  import Spinner from "../Spinner/Spinner";
19
+ import Headline from "../Typography/Headline/Headline";
19
20
 
20
21
  var ButtonTypography = function ButtonTypography(props) {
21
22
  var size = props.size,
@@ -33,15 +34,21 @@ var ButtonTypography = function ButtonTypography(props) {
33
34
  }, restProps));
34
35
  }
35
36
 
37
+ if (platform === ANDROID) {
38
+ return createScopedElement(Headline, _extends({
39
+ weight: "medium"
40
+ }, restProps));
41
+ }
42
+
36
43
  return createScopedElement(Title, _extends({
37
44
  level: "3",
38
- weight: "medium"
45
+ weight: "2"
39
46
  }, restProps));
40
47
 
41
48
  case "m":
42
49
  if (isCompact) {
43
50
  return createScopedElement(Subhead, _extends({
44
- weight: platform === VKCOM ? "regular" : "medium"
51
+ weight: platform === VKCOM ? "3" : "2"
45
52
  }, restProps));
46
53
  }
47
54
 
@@ -53,7 +60,7 @@ var ButtonTypography = function ButtonTypography(props) {
53
60
  default:
54
61
  if (platform === IOS) {
55
62
  return createScopedElement(Subhead, _extends({
56
- weight: "medium"
63
+ weight: "2"
57
64
  }, restProps));
58
65
  }
59
66
 
@@ -72,7 +79,7 @@ var ButtonTypography = function ButtonTypography(props) {
72
79
  }
73
80
 
74
81
  return createScopedElement(Subhead, _extends({
75
- weight: "medium"
82
+ weight: "2"
76
83
  }, restProps));
77
84
  }
78
85
  };