@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
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import { HasRef, HasRootRef } from "../../types";
3
+ import "./FixedLayout.css";
4
+ export interface FixedLayoutProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement>, HasRef<HTMLDivElement> {
5
+ vertical?: "top" | "bottom";
6
+ /**
7
+ * Это свойство определяет, будет ли фон компонента окрашен в цвет фона контента.
8
+ * Это часто необходимо для фиксированных кнопок в нижней части экрана.
9
+ */
10
+ filled?: boolean;
11
+ }
12
+ export interface FixedLayoutState {
13
+ position: "absolute" | null;
14
+ top: number;
15
+ bottom: number;
16
+ width: string;
17
+ }
18
+ declare const FixedLayout: React.FC<FixedLayoutProps>;
19
+ export default FixedLayout;
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import { HasComponent, HasRootRef } from "../../types";
3
+ export interface FocusTrapProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {
4
+ onClose?: (props?: any) => void;
5
+ restoreFocus?: boolean;
6
+ timeout?: number;
7
+ }
8
+ export declare const FocusTrap: React.FC<FocusTrapProps>;
@@ -1 +1 @@
1
- .vkuiSwitch--focus-visible>.vkuiFocusVisible,.vkuiTappable--focus-visible>.vkuiFocusVisible{position:absolute;top:2px;left:2px;right:2px;bottom:2px;border-radius:inherit;box-shadow:0 0 0 2px #2688eb;box-shadow:0 0 0 2px var(--accent);-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;z-index:0}.vkuiSwitch--focus-visible>.vkuiFocusVisible--outside,.vkuiTappable--focus-visible>.vkuiFocusVisible--outside{top:-2px;left:-2px;right:-2px;bottom:-2px}@media (prefers-reduced-motion:no-preference){.vkuiTappable--focus-visible>.vkuiFocusVisible,.vkuiSwitch--focus-visible>.vkuiFocusVisible{top:4px;left:4px;right:4px;bottom:4px;-webkit-animation:vkui-animation-focus-visible .15s ease-in-out forwards;animation:vkui-animation-focus-visible .15s ease-in-out forwards;-webkit-animation-delay:.01ms;animation-delay:.01ms;will-change:top,left,bottom,right}.vkuiTappable--focus-visible>.vkuiFocusVisible--outside,.vkuiSwitch--focus-visible>.vkuiFocusVisible--outside{top:0;left:0;bottom:0;right:0;-webkit-animation-name:vkui-animation-focus-visible-outside;animation-name:vkui-animation-focus-visible-outside}@-webkit-keyframes vkui-animation-focus-visible{to{top:2px;left:2px;bottom:2px;right:2px;will-change:auto}}@keyframes vkui-animation-focus-visible{to{top:2px;left:2px;bottom:2px;right:2px;will-change:auto}}@-webkit-keyframes vkui-animation-focus-visible-outside{to{top:-2px;left:-2px;bottom:-2px;right:-2px;will-change:auto}}@keyframes vkui-animation-focus-visible-outside{to{top:-2px;left:-2px;bottom:-2px;right:-2px;will-change:auto}}}
1
+ [class$="--focus-visible"]>.vkuiFocusVisible{position:absolute;top:2px;left:2px;right:2px;bottom:2px;border-radius:inherit;box-shadow:0 0 0 2px #2688eb;box-shadow:0 0 0 2px var(--accent);-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;z-index:0}[class$="--focus-visible"]>.vkuiFocusVisible--outside{top:-2px;left:-2px;right:-2px;bottom:-2px}@media (prefers-reduced-motion:no-preference){[class$="--focus-visible"]>.vkuiFocusVisible{top:4px;left:4px;right:4px;bottom:4px;-webkit-animation:vkui-animation-focus-visible .15s ease-in-out forwards;animation:vkui-animation-focus-visible .15s ease-in-out forwards;-webkit-animation-delay:.01ms;animation-delay:.01ms;will-change:top,left,bottom,right}[class$="--focus-visible"]>.vkuiFocusVisible--outside{top:0;left:0;bottom:0;right:0;-webkit-animation-name:vkui-animation-focus-visible-outside;animation-name:vkui-animation-focus-visible-outside}@-webkit-keyframes vkui-animation-focus-visible{to{top:2px;left:2px;bottom:2px;right:2px;will-change:auto}}@keyframes vkui-animation-focus-visible{to{top:2px;left:2px;bottom:2px;right:2px;will-change:auto}}@-webkit-keyframes vkui-animation-focus-visible-outside{to{top:-2px;left:-2px;bottom:-2px;right:-2px;will-change:auto}}@keyframes vkui-animation-focus-visible-outside{to{top:-2px;left:-2px;bottom:-2px;right:-2px;will-change:auto}}}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import "./FocusVisible.css";
3
+ export declare type FocusVisibleMode = "inside" | "outside";
4
+ interface FocusVisibleProps {
5
+ mode: FocusVisibleMode;
6
+ }
7
+ export declare const FocusVisible: React.FC<FocusVisibleProps>;
8
+ export {};
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import { HasComponent } from "../../types";
3
+ import "./Footer.css";
4
+ export declare type FooterProps = React.AllHTMLAttributes<HTMLElement> & HasComponent;
5
+ export declare const Footer: React.FC<FooterProps>;
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { HasComponent, HasRootRef } from "../../types";
3
+ import "./FormField.css";
4
+ export interface FormFieldProps {
5
+ /**
6
+ * Иконка 12|16|20|24|28 или `IconButton`.
7
+ */
8
+ after?: React.ReactNode;
9
+ }
10
+ interface FormFieldOwnProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent, FormFieldProps {
11
+ disabled?: boolean;
12
+ }
13
+ export declare const FormField: React.FC<FormFieldOwnProps>;
14
+ export {};
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { HasComponent, HasRootRef } from "../../types";
3
+ import { RemovableProps } from "../Removable/Removable";
4
+ import "./FormItem.css";
5
+ export interface FormItemProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent, RemovableProps {
6
+ top?: React.ReactNode;
7
+ bottom?: React.ReactNode;
8
+ status?: "default" | "error" | "valid";
9
+ /**
10
+ * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.
11
+ */
12
+ removable?: boolean;
13
+ }
14
+ export declare const FormItem: React.FC<FormItemProps>;
@@ -36,7 +36,6 @@ export var FormItem = function FormItem(_ref) {
36
36
  sizeY = _useAdaptivity.sizeY;
37
37
 
38
38
  var wrappedChildren = createScopedElement(React.Fragment, null, hasReactNode(top) && createScopedElement(Subhead, {
39
- weight: "regular",
40
39
  vkuiClass: "FormItem__top"
41
40
  }, top), children, hasReactNode(bottom) && createScopedElement(Caption, {
42
41
  level: "1",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormItem/FormItem.tsx"],"names":["React","classNames","useExternRef","usePlatform","getClassName","hasReactNode","noop","Subhead","Caption","useAdaptivity","Removable","FormItem","children","top","bottom","status","Component","removable","onRemove","removePlaceholder","getRootRef","restProps","platform","rootEl","sizeY","wrappedChildren","e","current"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,YAAT,EAAuBC,IAAvB;AACA,OAAOC,OAAP;AACA,OAAOC,OAAP;AACA,SAASC,aAAT;AACA,SAASC,SAAT;AACA;AAgBA,OAAO,IAAMC,QAAiC,GAAG,SAApCA,QAAoC,OAW5B;AAAA,MAVnBC,QAUmB,QAVnBA,QAUmB;AAAA,MATnBC,GASmB,QATnBA,GASmB;AAAA,MARnBC,MAQmB,QARnBA,MAQmB;AAAA,yBAPnBC,MAOmB;AAAA,MAPnBA,MAOmB,4BAPV,SAOU;AAAA,4BANnBC,SAMmB;AAAA,MANnBA,SAMmB,+BANP,KAMO;AAAA,MALnBC,SAKmB,QALnBA,SAKmB;AAAA,2BAJnBC,QAImB;AAAA,MAJnBA,SAImB,8BAJRZ,IAIQ;AAAA,mCAHnBa,iBAGmB;AAAA,MAHnBA,iBAGmB,sCAHC,SAGD;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAGnB,WAAW,EAA5B;AACA,MAAMoB,MAAM,GAAGrB,YAAY,CAACkB,UAAD,CAA3B;;AACA,uBAAkBX,aAAa,EAA/B;AAAA,MAAQe,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,eAAe,GACnB,oBAAC,KAAD,CAAO,QAAP,QACGpB,YAAY,CAACQ,GAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,MAAM,EAAC,SAAhB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,GADH,CAFJ,EAMGD,QANH,EAOGP,YAAY,CAACS,MAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC,SAA1B;AAAoC,IAAA,SAAS,EAAC;AAA9C,KACGA,MADH,CARJ,CADF;AAgBA,SACE,oBAAC,SAAD,eACMO,SADN;AAEE,IAAA,GAAG,EAAEE,MAFP;AAGE,IAAA,SAAS,EAAEtB,UAAU,CACnBG,YAAY,CAAC,UAAD,EAAakB,QAAb,CADO,sBAENP,MAFM,6BAGAS,KAHA,GAInB;AACE,2BAAqBnB,YAAY,CAACQ,GAAD,CADnC;AAEE,6BAAuBI;AAFzB,KAJmB;AAHvB,MAaGA,SAAS,GACR,oBAAC,SAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,QAAQ,EAAE,kBAACS,CAAD,EAAO;AACf,UAAIH,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEI,OAAZ,EAAqB;AACnBT,QAAAA,SAAQ,CAACQ,CAAD,EAAIH,MAAM,CAACI,OAAX,CAAR;AACD;AACF,KANH;AAOE,IAAA,iBAAiB,EAAER;AAPrB,KASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCM,eAAtC,CATF,CADQ,GAaRA,eA1BJ,CADF;AA+BD,CA/DM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport \"./FormItem.css\";\n\nexport interface FormItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n RemovableProps {\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.\n */\n removable?: boolean;\n}\n\nexport const FormItem: React.FC<FormItemProps> = ({\n children,\n top,\n bottom,\n status = \"default\",\n Component = \"div\",\n removable,\n onRemove = noop,\n removePlaceholder = \"Удалить\",\n getRootRef,\n ...restProps\n}: FormItemProps) => {\n const platform = usePlatform();\n const rootEl = useExternRef(getRootRef);\n const { sizeY } = useAdaptivity();\n\n const wrappedChildren = (\n <React.Fragment>\n {hasReactNode(top) && (\n <Subhead weight=\"regular\" vkuiClass=\"FormItem__top\">\n {top}\n </Subhead>\n )}\n {children}\n {hasReactNode(bottom) && (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"FormItem__bottom\">\n {bottom}\n </Caption>\n )}\n </React.Fragment>\n );\n\n return (\n <Component\n {...restProps}\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormItem\", platform),\n `FormItem--${status}`,\n `FormItem--sizeY-${sizeY}`,\n {\n \"FormItem--withTop\": hasReactNode(top),\n \"FormItem--removable\": removable,\n }\n )}\n >\n {removable ? (\n <Removable\n align=\"start\"\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n removePlaceholder={removePlaceholder}\n >\n <div vkuiClass=\"FormItem__removable\">{wrappedChildren}</div>\n </Removable>\n ) : (\n wrappedChildren\n )}\n </Component>\n );\n};\n"],"file":"FormItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormItem/FormItem.tsx"],"names":["React","classNames","useExternRef","usePlatform","getClassName","hasReactNode","noop","Subhead","Caption","useAdaptivity","Removable","FormItem","children","top","bottom","status","Component","removable","onRemove","removePlaceholder","getRootRef","restProps","platform","rootEl","sizeY","wrappedChildren","e","current"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,YAAT,EAAuBC,IAAvB;AACA,OAAOC,OAAP;AACA,OAAOC,OAAP;AACA,SAASC,aAAT;AACA,SAASC,SAAT;AACA;AAgBA,OAAO,IAAMC,QAAiC,GAAG,SAApCA,QAAoC,OAW5B;AAAA,MAVnBC,QAUmB,QAVnBA,QAUmB;AAAA,MATnBC,GASmB,QATnBA,GASmB;AAAA,MARnBC,MAQmB,QARnBA,MAQmB;AAAA,yBAPnBC,MAOmB;AAAA,MAPnBA,MAOmB,4BAPV,SAOU;AAAA,4BANnBC,SAMmB;AAAA,MANnBA,SAMmB,+BANP,KAMO;AAAA,MALnBC,SAKmB,QALnBA,SAKmB;AAAA,2BAJnBC,QAImB;AAAA,MAJnBA,SAImB,8BAJRZ,IAIQ;AAAA,mCAHnBa,iBAGmB;AAAA,MAHnBA,iBAGmB,sCAHC,SAGD;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAGnB,WAAW,EAA5B;AACA,MAAMoB,MAAM,GAAGrB,YAAY,CAACkB,UAAD,CAA3B;;AACA,uBAAkBX,aAAa,EAA/B;AAAA,MAAQe,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,eAAe,GACnB,oBAAC,KAAD,CAAO,QAAP,QACGpB,YAAY,CAACQ,GAAD,CAAZ,IAAqB,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAoCA,GAApC,CADxB,EAEGD,QAFH,EAGGP,YAAY,CAACS,MAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC,SAA1B;AAAoC,IAAA,SAAS,EAAC;AAA9C,KACGA,MADH,CAJJ,CADF;AAYA,SACE,oBAAC,SAAD,eACMO,SADN;AAEE,IAAA,GAAG,EAAEE,MAFP;AAGE,IAAA,SAAS,EAAEtB,UAAU,CACnBG,YAAY,CAAC,UAAD,EAAakB,QAAb,CADO,sBAENP,MAFM,6BAGAS,KAHA,GAInB;AACE,2BAAqBnB,YAAY,CAACQ,GAAD,CADnC;AAEE,6BAAuBI;AAFzB,KAJmB;AAHvB,MAaGA,SAAS,GACR,oBAAC,SAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,QAAQ,EAAE,kBAACS,CAAD,EAAO;AACf,UAAIH,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEI,OAAZ,EAAqB;AACnBT,QAAAA,SAAQ,CAACQ,CAAD,EAAIH,MAAM,CAACI,OAAX,CAAR;AACD;AACF,KANH;AAOE,IAAA,iBAAiB,EAAER;AAPrB,KASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCM,eAAtC,CATF,CADQ,GAaRA,eA1BJ,CADF;AA+BD,CA3DM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport \"./FormItem.css\";\n\nexport interface FormItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n RemovableProps {\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.\n */\n removable?: boolean;\n}\n\nexport const FormItem: React.FC<FormItemProps> = ({\n children,\n top,\n bottom,\n status = \"default\",\n Component = \"div\",\n removable,\n onRemove = noop,\n removePlaceholder = \"Удалить\",\n getRootRef,\n ...restProps\n}: FormItemProps) => {\n const platform = usePlatform();\n const rootEl = useExternRef(getRootRef);\n const { sizeY } = useAdaptivity();\n\n const wrappedChildren = (\n <React.Fragment>\n {hasReactNode(top) && <Subhead vkuiClass=\"FormItem__top\">{top}</Subhead>}\n {children}\n {hasReactNode(bottom) && (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"FormItem__bottom\">\n {bottom}\n </Caption>\n )}\n </React.Fragment>\n );\n\n return (\n <Component\n {...restProps}\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormItem\", platform),\n `FormItem--${status}`,\n `FormItem--sizeY-${sizeY}`,\n {\n \"FormItem--withTop\": hasReactNode(top),\n \"FormItem--removable\": removable,\n }\n )}\n >\n {removable ? (\n <Removable\n align=\"start\"\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n removePlaceholder={removePlaceholder}\n >\n <div vkuiClass=\"FormItem__removable\">{wrappedChildren}</div>\n </Removable>\n ) : (\n wrappedChildren\n )}\n </Component>\n );\n};\n"],"file":"FormItem.js"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ import { HasComponent, HasRef } from "../../types";
3
+ import "./FormLayout.css";
4
+ export declare type FormLayoutProps = React.AllHTMLAttributes<HTMLElement> & HasRef<HTMLElement> & HasComponent;
5
+ declare const FormLayout: React.FC<FormLayoutProps>;
6
+ export default FormLayout;
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import { HasRootRef } from "../../types";
3
+ import { RemovableProps } from "../Removable/Removable";
4
+ import "./FormLayoutGroup.css";
5
+ export interface FormLayoutGroupProps extends React.HTMLAttributes<HTMLDivElement>, RemovableProps, HasRootRef<HTMLDivElement> {
6
+ mode?: "vertical" | "horizontal";
7
+ /**
8
+ * Только для режима horizontal. Дает возможность удалить всю группу `FormItem`.
9
+ */
10
+ removable?: boolean;
11
+ }
12
+ declare const FormLayoutGroup: React.FC<FormLayoutGroupProps>;
13
+ export default FormLayoutGroup;
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import "./FormStatus.css";
3
+ export interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ mode?: "default" | "error";
5
+ header?: React.ReactNode;
6
+ }
7
+ export declare const FormStatus: React.FunctionComponent<FormStatusProps>;
@@ -0,0 +1,39 @@
1
+ import * as React from "react";
2
+ import { TouchEventHandler } from "../Touch/Touch";
3
+ import { HasAlign, HasPlatform, HasRef, HasRootRef } from "../../types";
4
+ import "./Gallery.css";
5
+ export interface BaseGalleryProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "onDragStart" | "onDragEnd">, HasPlatform, HasAlign, HasRootRef<HTMLDivElement>, HasRef<HTMLElement> {
6
+ slideWidth?: string | number;
7
+ slideIndex?: number;
8
+ onDragStart?: TouchEventHandler;
9
+ onDragEnd?: TouchEventHandler;
10
+ onChange?(current: number): void;
11
+ onEnd?({ targetIndex }: {
12
+ targetIndex: number;
13
+ }): void;
14
+ bullets?: "dark" | "light" | false;
15
+ isDraggable?: boolean;
16
+ showArrows?: boolean;
17
+ }
18
+ export interface GalleryProps extends BaseGalleryProps {
19
+ initialSlideIndex?: number;
20
+ timeout?: number;
21
+ }
22
+ export interface GalleryState {
23
+ containerWidth: number;
24
+ layerWidth?: number;
25
+ min?: number;
26
+ max?: number;
27
+ deltaX: number;
28
+ shiftX: number;
29
+ slides: GallerySlidesState[];
30
+ animation: boolean;
31
+ duration: number;
32
+ dragging?: boolean;
33
+ }
34
+ export interface GallerySlidesState {
35
+ coordX: number;
36
+ width: number;
37
+ }
38
+ declare const _default: React.FC<Pick<GalleryProps, "hidden" | "dir" | "slot" | "style" | "title" | "timeout" | "color" | "translate" | "bullets" | "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" | "align" | "onEnd" | "getRootRef" | "getRef" | "showArrows" | "slideWidth" | "slideIndex" | "isDraggable" | "initialSlideIndex">>;
39
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import "./Gradient.css";
3
+ export interface GradientProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ mode?: "tint" | "white" | "black";
5
+ to?: "top" | "bottom";
6
+ }
7
+ export declare const Gradient: React.FC<GradientProps>;
@@ -4,11 +4,12 @@ var _excluded = ["mode", "children", "to"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import { classNames } from "../../lib/classNames";
6
6
  import "./Gradient.css";
7
-
8
- var Gradient = function Gradient(_ref) {
9
- var mode = _ref.mode,
7
+ export var Gradient = function Gradient(_ref) {
8
+ var _ref$mode = _ref.mode,
9
+ mode = _ref$mode === void 0 ? "tint" : _ref$mode,
10
10
  children = _ref.children,
11
- to = _ref.to,
11
+ _ref$to = _ref.to,
12
+ to = _ref$to === void 0 ? "top" : _ref$to,
12
13
  restProps = _objectWithoutProperties(_ref, _excluded);
13
14
 
14
15
  return createScopedElement("div", _extends({
@@ -17,11 +18,4 @@ var Gradient = function Gradient(_ref) {
17
18
  vkuiClass: classNames("Gradient", "Gradient--md-".concat(mode), "Gradient--to-".concat(to))
18
19
  }), children);
19
20
  };
20
-
21
- Gradient.defaultProps = {
22
- mode: "tint",
23
- to: "top"
24
- }; // eslint-disable-next-line import/no-default-export
25
-
26
- export default Gradient;
27
21
  //# sourceMappingURL=Gradient.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Gradient/Gradient.tsx"],"names":["classNames","Gradient","mode","children","to","restProps","defaultProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA;;AAOA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,OAKpC;AAAA,MAJnBC,IAImB,QAJnBA,IAImB;AAAA,MAHnBC,QAGmB,QAHnBA,QAGmB;AAAA,MAFnBC,EAEmB,QAFnBA,EAEmB;AAAA,MADhBC,SACgB;;AACnB,SACE;AACE,IAAA,IAAI,EAAC;AADP,KAEMA,SAFN;AAGE,IAAA,SAAS,EAAEL,UAAU,CACnB,UADmB,yBAEHE,IAFG,0BAGHE,EAHG;AAHvB,MASGD,QATH,CADF;AAaD,CAnBD;;AAqBAF,QAAQ,CAACK,YAAT,GAAwB;AACtBJ,EAAAA,IAAI,EAAE,MADgB;AAEtBE,EAAAA,EAAE,EAAE;AAFkB,CAAxB,C,CAKA;;AACA,eAAeH,QAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./Gradient.css\";\n\nexport interface GradientProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"tint\" | \"white\" | \"black\";\n to?: \"top\" | \"bottom\";\n}\n\nconst Gradient: React.FunctionComponent<GradientProps> = ({\n mode,\n children,\n to,\n ...restProps\n}: GradientProps) => {\n return (\n <div\n role=\"presentation\"\n {...restProps}\n vkuiClass={classNames(\n \"Gradient\",\n `Gradient--md-${mode}`,\n `Gradient--to-${to}`\n )}\n >\n {children}\n </div>\n );\n};\n\nGradient.defaultProps = {\n mode: \"tint\",\n to: \"top\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Gradient;\n"],"file":"Gradient.js"}
1
+ {"version":3,"sources":["../../../../src/components/Gradient/Gradient.tsx"],"names":["classNames","Gradient","mode","children","to","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA;AAOA,OAAO,IAAMC,QAAiC,GAAG,SAApCA,QAAoC,OAK3C;AAAA,uBAJJC,IAII;AAAA,MAJJA,IAII,0BAJG,MAIH;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,qBAFJC,EAEI;AAAA,MAFJA,EAEI,wBAFC,KAED;AAAA,MADDC,SACC;;AACJ,SACE;AACE,IAAA,IAAI,EAAC;AADP,KAEMA,SAFN;AAGE,IAAA,SAAS,EAAEL,UAAU,CACnB,UADmB,yBAEHE,IAFG,0BAGHE,EAHG;AAHvB,MASGD,QATH,CADF;AAaD,CAnBM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./Gradient.css\";\n\nexport interface GradientProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"tint\" | \"white\" | \"black\";\n to?: \"top\" | \"bottom\";\n}\n\nexport const Gradient: React.FC<GradientProps> = ({\n mode = \"tint\",\n children,\n to = \"top\",\n ...restProps\n}) => {\n return (\n <div\n role=\"presentation\"\n {...restProps}\n vkuiClass={classNames(\n \"Gradient\",\n `Gradient--md-${mode}`,\n `Gradient--to-${to}`\n )}\n >\n {children}\n </div>\n );\n};\n"],"file":"Gradient.js"}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import { AvatarProps } from "../Avatar/Avatar";
3
+ import { HasRootRef } from "../../types";
4
+ import "./GridAvatar.css";
5
+ export interface GridAvatarProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement>, Pick<AvatarProps, "size" | "shadow" | "badge"> {
6
+ src?: string[];
7
+ }
8
+ export declare const GridAvatar: React.FC<GridAvatarProps>;
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ import { HasRootRef } from "../../types";
3
+ import { AdaptivityProps } from "../../hoc/withAdaptivity";
4
+ import "./Group.css";
5
+ export interface GroupProps extends HasRootRef<HTMLElement>, React.HTMLAttributes<HTMLElement>, AdaptivityProps {
6
+ header?: React.ReactNode;
7
+ description?: React.ReactNode;
8
+ /**
9
+ show - разделитель всегда показывается,
10
+ hide – разделитель всегда спрятан,
11
+ auto – разделитель рисуется автоматически между соседними группами.
12
+ */
13
+ separator?: "show" | "hide" | "auto";
14
+ /**
15
+ * Режим отображения. Если установлен 'card', выглядит как карточка c
16
+ * обводкой и внешними отступами. Если 'plain' — без отступов и обводки.
17
+ * По умолчанию режим отображения зависит от `sizeX`. В модальных окнах
18
+ * по умолчанию 'plain'.
19
+ */
20
+ mode?: "plain" | "card";
21
+ }
22
+ declare const _default: React.FC<Pick<GroupProps, "hidden" | "dir" | "header" | "slot" | "style" | "title" | "color" | "separator" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "mode" | "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" | "getRootRef" | "description"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
23
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import { HasRootRef } from "../../types";
3
+ import "./Header.css";
4
+ export interface HeaderProps extends React.HTMLAttributes<HTMLElement>, HasRootRef<HTMLElement> {
5
+ mode?: "primary" | "secondary" | "tertiary";
6
+ subtitle?: React.ReactNode;
7
+ /**
8
+ * Допускаются иконки, текст, Link
9
+ */
10
+ aside?: React.ReactNode;
11
+ /**
12
+ * Допускаются текст, Indicator
13
+ */
14
+ indicator?: React.ReactNode;
15
+ multiline?: boolean;
16
+ }
17
+ declare const Header: React.FC<HeaderProps>;
18
+ export default Header;
@@ -27,7 +27,7 @@ var HeaderContent = function HeaderContent(_ref) {
27
27
  case "primary":
28
28
  case "tertiary":
29
29
  return createScopedElement(Title, _extends({
30
- weight: "semibold",
30
+ weight: "1",
31
31
  level: "3"
32
32
  }, restProps));
33
33
 
@@ -78,9 +78,7 @@ var HeaderAside = function HeaderAside(_ref2) {
78
78
  var platform = _ref2.platform,
79
79
  restProps = _objectWithoutProperties(_ref2, _excluded2);
80
80
 
81
- return platform === Platform.VKCOM ? createScopedElement(Subhead, _extends({
82
- weight: "regular"
83
- }, restProps)) : createScopedElement(Text, _extends({
81
+ return platform === Platform.VKCOM ? createScopedElement(Subhead, restProps) : createScopedElement(Text, _extends({
84
82
  weight: "regular"
85
83
  }, restProps));
86
84
  };
@@ -89,9 +87,7 @@ var HeaderSubtitle = function HeaderSubtitle(_ref3) {
89
87
  var mode = _ref3.mode,
90
88
  restProps = _objectWithoutProperties(_ref3, _excluded3);
91
89
 
92
- return mode === "secondary" ? createScopedElement(Subhead, _extends({
93
- weight: "regular"
94
- }, restProps)) : createScopedElement(Caption, _extends({
90
+ return mode === "secondary" ? createScopedElement(Subhead, restProps) : createScopedElement(Caption, _extends({
95
91
  weight: "regular",
96
92
  level: "1"
97
93
  }, restProps));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Header/Header.tsx"],"names":["getClassName","classNames","usePlatform","hasReactNode","isPrimitiveReactNode","Platform","Headline","Caption","Title","Text","Subhead","HeaderContent","platform","mode","restProps","IOS","VKCOM","HeaderAside","HeaderSubtitle","Header","children","subtitle","indicator","aside","getRootRef","multiline","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasComponent, HasPlatform, HasRootRef } from \"../../types\";\nimport { hasReactNode, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport \"./Header.css\";\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement> {\n mode?: \"primary\" | \"secondary\" | \"tertiary\";\n subtitle?: React.ReactNode;\n /**\n * Допускаются иконки, текст, Link\n */\n aside?: React.ReactNode;\n /**\n * Допускаются текст, Indicator\n */\n indicator?: React.ReactNode;\n multiline?: boolean;\n}\n\ntype HeaderContentProps = Pick<HeaderProps, \"children\" | \"mode\"> &\n HasPlatform &\n HasComponent;\n\nconst HeaderContent: React.FC<HeaderContentProps> = ({\n platform,\n mode,\n ...restProps\n}) => {\n if (platform === Platform.IOS) {\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Title weight=\"semibold\" level=\"3\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"semibold\" caps {...restProps} />;\n }\n }\n\n if (platform === Platform.VKCOM) {\n switch (mode) {\n case \"primary\":\n return <Headline weight=\"regular\" {...restProps} />;\n case \"secondary\":\n case \"tertiary\":\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n }\n\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Headline weight=\"medium\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"medium\" caps {...restProps} />;\n }\n\n return null;\n};\n\ntype HeaderAsideProps = Pick<HeaderProps, \"aside\"> & HasPlatform & HasComponent;\n\nconst HeaderAside: React.FC<HeaderAsideProps> = ({\n platform,\n ...restProps\n}) => {\n return platform === Platform.VKCOM ? (\n <Subhead weight=\"regular\" {...restProps} />\n ) : (\n <Text weight=\"regular\" {...restProps} />\n );\n};\n\ntype HeaderSubtitleProps = Pick<HeaderProps, \"subtitle\" | \"mode\"> &\n HasComponent;\n\nconst HeaderSubtitle: React.FC<HeaderSubtitleProps> = ({\n mode,\n ...restProps\n}) => {\n return mode === \"secondary\" ? (\n <Subhead weight=\"regular\" {...restProps} />\n ) : (\n <Caption weight=\"regular\" level=\"1\" {...restProps} />\n );\n};\n\nconst Header: React.FC<HeaderProps> = ({\n mode,\n children,\n subtitle,\n indicator,\n aside,\n getRootRef,\n multiline,\n ...restProps\n}: HeaderProps) => {\n const platform = usePlatform();\n\n return (\n <header\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Header\", platform),\n `Header--mode-${mode}`,\n { \"Header--pi\": isPrimitiveReactNode(indicator) }\n )}\n >\n <div vkuiClass=\"Header__main\">\n <HeaderContent\n vkuiClass=\"Header__content\"\n Component=\"span\"\n mode={mode}\n platform={platform}\n >\n <span\n vkuiClass={classNames(\"Header__content-in\", {\n \"Header__content-in--multiline\": multiline,\n })}\n >\n {children}\n </span>\n {hasReactNode(indicator) && (\n <Caption\n vkuiClass=\"Header__indicator\"\n weight={\n mode === \"primary\" || mode === \"secondary\"\n ? \"medium\"\n : \"regular\"\n }\n level=\"1\"\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <HeaderSubtitle vkuiClass=\"Header__subtitle\" Component=\"span\">\n {subtitle}\n </HeaderSubtitle>\n )}\n </div>\n\n {hasReactNode(aside) && (\n <HeaderAside\n vkuiClass=\"Header__aside\"\n Component=\"span\"\n platform={platform}\n >\n {aside}\n </HeaderAside>\n )}\n </header>\n );\n};\n\nHeader.defaultProps = {\n mode: \"primary\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Header;\n"],"file":"Header.js"}
1
+ {"version":3,"sources":["../../../../src/components/Header/Header.tsx"],"names":["getClassName","classNames","usePlatform","hasReactNode","isPrimitiveReactNode","Platform","Headline","Caption","Title","Text","Subhead","HeaderContent","platform","mode","restProps","IOS","VKCOM","HeaderAside","HeaderSubtitle","Header","children","subtitle","indicator","aside","getRootRef","multiline","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasComponent, HasPlatform, HasRootRef } from \"../../types\";\nimport { hasReactNode, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport \"./Header.css\";\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement> {\n mode?: \"primary\" | \"secondary\" | \"tertiary\";\n subtitle?: React.ReactNode;\n /**\n * Допускаются иконки, текст, Link\n */\n aside?: React.ReactNode;\n /**\n * Допускаются текст, Indicator\n */\n indicator?: React.ReactNode;\n multiline?: boolean;\n}\n\ntype HeaderContentProps = Pick<HeaderProps, \"children\" | \"mode\"> &\n HasPlatform &\n HasComponent;\n\nconst HeaderContent: React.FC<HeaderContentProps> = ({\n platform,\n mode,\n ...restProps\n}) => {\n if (platform === Platform.IOS) {\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Title weight=\"1\" level=\"3\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"semibold\" caps {...restProps} />;\n }\n }\n\n if (platform === Platform.VKCOM) {\n switch (mode) {\n case \"primary\":\n return <Headline weight=\"regular\" {...restProps} />;\n case \"secondary\":\n case \"tertiary\":\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n }\n\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Headline weight=\"medium\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"medium\" caps {...restProps} />;\n }\n\n return null;\n};\n\ntype HeaderAsideProps = Pick<HeaderProps, \"aside\"> & HasPlatform & HasComponent;\n\nconst HeaderAside: React.FC<HeaderAsideProps> = ({\n platform,\n ...restProps\n}) => {\n return platform === Platform.VKCOM ? (\n <Subhead {...restProps} />\n ) : (\n <Text weight=\"regular\" {...restProps} />\n );\n};\n\ntype HeaderSubtitleProps = Pick<HeaderProps, \"subtitle\" | \"mode\"> &\n HasComponent;\n\nconst HeaderSubtitle: React.FC<HeaderSubtitleProps> = ({\n mode,\n ...restProps\n}) => {\n return mode === \"secondary\" ? (\n <Subhead {...restProps} />\n ) : (\n <Caption weight=\"regular\" level=\"1\" {...restProps} />\n );\n};\n\nconst Header: React.FC<HeaderProps> = ({\n mode,\n children,\n subtitle,\n indicator,\n aside,\n getRootRef,\n multiline,\n ...restProps\n}: HeaderProps) => {\n const platform = usePlatform();\n\n return (\n <header\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Header\", platform),\n `Header--mode-${mode}`,\n { \"Header--pi\": isPrimitiveReactNode(indicator) }\n )}\n >\n <div vkuiClass=\"Header__main\">\n <HeaderContent\n vkuiClass=\"Header__content\"\n Component=\"span\"\n mode={mode}\n platform={platform}\n >\n <span\n vkuiClass={classNames(\"Header__content-in\", {\n \"Header__content-in--multiline\": multiline,\n })}\n >\n {children}\n </span>\n {hasReactNode(indicator) && (\n <Caption\n vkuiClass=\"Header__indicator\"\n weight={\n mode === \"primary\" || mode === \"secondary\"\n ? \"medium\"\n : \"regular\"\n }\n level=\"1\"\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <HeaderSubtitle vkuiClass=\"Header__subtitle\" Component=\"span\">\n {subtitle}\n </HeaderSubtitle>\n )}\n </div>\n\n {hasReactNode(aside) && (\n <HeaderAside\n vkuiClass=\"Header__aside\"\n Component=\"span\"\n platform={platform}\n >\n {aside}\n </HeaderAside>\n )}\n </header>\n );\n};\n\nHeader.defaultProps = {\n mode: \"primary\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Header;\n"],"file":"Header.js"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { HasComponent, HasRef, HasRootRef } from "../../types";
3
+ import "./HorizontalCell.css";
4
+ export interface HorizontalCellProps extends React.AnchorHTMLAttributes<HTMLElement>, HasRootRef<HTMLDivElement>, HasRef<HTMLDivElement>, HasComponent {
5
+ size?: "s" | "m" | "l";
6
+ header?: React.ReactNode;
7
+ subtitle?: React.ReactNode;
8
+ disabled?: boolean;
9
+ }
10
+ export declare const HorizontalCell: React.FC<HorizontalCellProps>;
@@ -21,9 +21,7 @@ var CellTypography = function CellTypography(_ref) {
21
21
  return size === "s" ? createScopedElement(Caption, _extends({
22
22
  level: "2",
23
23
  weight: "regular"
24
- }, restProps), children) : createScopedElement(Subhead, _extends({
25
- weight: "regular"
26
- }, restProps), children);
24
+ }, restProps), children) : createScopedElement(Subhead, restProps, children);
27
25
  };
28
26
 
29
27
  export var HorizontalCell = function HorizontalCell(_ref2) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/HorizontalCell/HorizontalCell.tsx"],"names":["classNames","getClassName","usePlatform","hasReactNode","Caption","Tappable","Subhead","Avatar","CellTypography","size","children","restProps","HorizontalCell","className","header","style","subtitle","getRootRef","getRef","platform"],"mappings":";;;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,OAAOC,OAAP;AACA,OAAOC,QAAP;AACA,OAAOC,OAAP;AACA,OAAOC,MAAP;AAEA;;AAMA,IAAMC,cAA6C,GAAG,SAAhDA,cAAgD,OAI3B;AAAA,MAHzBC,IAGyB,QAHzBA,IAGyB;AAAA,MAFzBC,QAEyB,QAFzBA,QAEyB;AAAA,MADtBC,SACsB;;AACzB,SAAOF,IAAI,KAAK,GAAT,GACL,oBAAC,OAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC;AAA1B,KAAwCE,SAAxC,GACGD,QADH,CADK,GAKL,oBAAC,OAAD;AAAS,IAAA,MAAM,EAAC;AAAhB,KAA8BC,SAA9B,GACGD,QADH,CALF;AASD,CAdD;;AA2BA,OAAO,IAAME,cAA6C,GAAG,SAAhDA,cAAgD,QAUlC;AAAA,MATzBC,SASyB,SATzBA,SASyB;AAAA,MARzBC,MAQyB,SARzBA,MAQyB;AAAA,MAPzBC,KAOyB,SAPzBA,KAOyB;AAAA,MANzBC,QAMyB,SANzBA,QAMyB;AAAA,yBALzBP,IAKyB;AAAA,MALzBA,IAKyB,2BALlB,GAKkB;AAAA,6BAJzBC,QAIyB;AAAA,MAJzBA,QAIyB,+BAJd,oBAAC,MAAD;AAAQ,IAAA,IAAI,EAAE;AAAd,IAIc;AAAA,MAHzBO,UAGyB,SAHzBA,UAGyB;AAAA,MAFzBC,MAEyB,SAFzBA,MAEyB;AAAA,MADtBP,SACsB;;AACzB,MAAMQ,QAAQ,GAAGjB,WAAW,EAA5B;AAEA,SACE;AACE,IAAA,SAAS,EAAEF,UAAU,CACnBC,YAAY,CAAC,gBAAD,EAAmBkB,QAAnB,CADO,4BAEAV,IAFA,EADvB;AAKE,IAAA,GAAG,EAAEQ,UALP;AAME,IAAA,KAAK,EAAEF,KANT;AAOE,IAAA,SAAS,EAAEF;AAPb,KASE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,sBADZ;AAEE,IAAA,UAAU,EAAEK;AAFd,KAGMP,SAHN,GAKGR,YAAY,CAACO,QAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAwCA,QAAxC,CANJ,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGP,YAAY,CAACW,MAAD,CAAZ,IACC,oBAAC,cAAD;AAAgB,IAAA,IAAI,EAAEL,IAAtB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGK,MADH,CAFJ,EAMGX,YAAY,CAACa,QAAD,CAAZ,IACC,oBAAC,OAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,KAAK,EAAC,GAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGA,QALH,CAPJ,CARF,CATF,CADF;AAqCD,CAlDM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Tappable from \"../Tappable/Tappable\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Avatar from \"../Avatar/Avatar\";\nimport { HasComponent, HasRef, HasRootRef } from \"../../types\";\nimport \"./HorizontalCell.css\";\n\ninterface CellTypographyProps extends React.HTMLAttributes<HTMLDivElement> {\n size: HorizontalCellProps[\"size\"];\n}\n\nconst CellTypography: React.FC<CellTypographyProps> = ({\n size,\n children,\n ...restProps\n}: CellTypographyProps) => {\n return size === \"s\" ? (\n <Caption level=\"2\" weight=\"regular\" {...restProps}>\n {children}\n </Caption>\n ) : (\n <Subhead weight=\"regular\" {...restProps}>\n {children}\n </Subhead>\n );\n};\n\nexport interface HorizontalCellProps\n extends React.AnchorHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasComponent {\n size?: \"s\" | \"m\" | \"l\";\n header?: React.ReactNode;\n subtitle?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport const HorizontalCell: React.FC<HorizontalCellProps> = ({\n className,\n header,\n style,\n subtitle,\n size = \"s\",\n children = <Avatar size={56} />,\n getRootRef,\n getRef,\n ...restProps\n}: HorizontalCellProps) => {\n const platform = usePlatform();\n\n return (\n <div\n vkuiClass={classNames(\n getClassName(\"HorizontalCell\", platform),\n `HorizontalCell--${size}`\n )}\n ref={getRootRef}\n style={style}\n className={className}\n >\n <Tappable\n vkuiClass=\"HorizontalCell__body\"\n getRootRef={getRef}\n {...restProps}\n >\n {hasReactNode(children) && (\n <div vkuiClass=\"HorizontalCell__image\">{children}</div>\n )}\n <div vkuiClass=\"HorizontalCell__content\">\n {hasReactNode(header) && (\n <CellTypography size={size} vkuiClass=\"HorizontalCell__title\">\n {header}\n </CellTypography>\n )}\n {hasReactNode(subtitle) && (\n <Caption\n weight=\"regular\"\n level=\"1\"\n vkuiClass=\"HorizontalCell__subtitle\"\n >\n {subtitle}\n </Caption>\n )}\n </div>\n </Tappable>\n </div>\n );\n};\n"],"file":"HorizontalCell.js"}
1
+ {"version":3,"sources":["../../../../src/components/HorizontalCell/HorizontalCell.tsx"],"names":["classNames","getClassName","usePlatform","hasReactNode","Caption","Tappable","Subhead","Avatar","CellTypography","size","children","restProps","HorizontalCell","className","header","style","subtitle","getRootRef","getRef","platform"],"mappings":";;;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,OAAOC,OAAP;AACA,OAAOC,QAAP;AACA,OAAOC,OAAP;AACA,OAAOC,MAAP;AAEA;;AAMA,IAAMC,cAA6C,GAAG,SAAhDA,cAAgD,OAI3B;AAAA,MAHzBC,IAGyB,QAHzBA,IAGyB;AAAA,MAFzBC,QAEyB,QAFzBA,QAEyB;AAAA,MADtBC,SACsB;;AACzB,SAAOF,IAAI,KAAK,GAAT,GACL,oBAAC,OAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC;AAA1B,KAAwCE,SAAxC,GACGD,QADH,CADK,GAKL,oBAAC,OAAD,EAAaC,SAAb,EAAyBD,QAAzB,CALF;AAOD,CAZD;;AAyBA,OAAO,IAAME,cAA6C,GAAG,SAAhDA,cAAgD,QAUlC;AAAA,MATzBC,SASyB,SATzBA,SASyB;AAAA,MARzBC,MAQyB,SARzBA,MAQyB;AAAA,MAPzBC,KAOyB,SAPzBA,KAOyB;AAAA,MANzBC,QAMyB,SANzBA,QAMyB;AAAA,yBALzBP,IAKyB;AAAA,MALzBA,IAKyB,2BALlB,GAKkB;AAAA,6BAJzBC,QAIyB;AAAA,MAJzBA,QAIyB,+BAJd,oBAAC,MAAD;AAAQ,IAAA,IAAI,EAAE;AAAd,IAIc;AAAA,MAHzBO,UAGyB,SAHzBA,UAGyB;AAAA,MAFzBC,MAEyB,SAFzBA,MAEyB;AAAA,MADtBP,SACsB;;AACzB,MAAMQ,QAAQ,GAAGjB,WAAW,EAA5B;AAEA,SACE;AACE,IAAA,SAAS,EAAEF,UAAU,CACnBC,YAAY,CAAC,gBAAD,EAAmBkB,QAAnB,CADO,4BAEAV,IAFA,EADvB;AAKE,IAAA,GAAG,EAAEQ,UALP;AAME,IAAA,KAAK,EAAEF,KANT;AAOE,IAAA,SAAS,EAAEF;AAPb,KASE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,sBADZ;AAEE,IAAA,UAAU,EAAEK;AAFd,KAGMP,SAHN,GAKGR,YAAY,CAACO,QAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAwCA,QAAxC,CANJ,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGP,YAAY,CAACW,MAAD,CAAZ,IACC,oBAAC,cAAD;AAAgB,IAAA,IAAI,EAAEL,IAAtB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGK,MADH,CAFJ,EAMGX,YAAY,CAACa,QAAD,CAAZ,IACC,oBAAC,OAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,KAAK,EAAC,GAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGA,QALH,CAPJ,CARF,CATF,CADF;AAqCD,CAlDM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Tappable from \"../Tappable/Tappable\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Avatar from \"../Avatar/Avatar\";\nimport { HasComponent, HasRef, HasRootRef } from \"../../types\";\nimport \"./HorizontalCell.css\";\n\ninterface CellTypographyProps extends React.HTMLAttributes<HTMLDivElement> {\n size: HorizontalCellProps[\"size\"];\n}\n\nconst CellTypography: React.FC<CellTypographyProps> = ({\n size,\n children,\n ...restProps\n}: CellTypographyProps) => {\n return size === \"s\" ? (\n <Caption level=\"2\" weight=\"regular\" {...restProps}>\n {children}\n </Caption>\n ) : (\n <Subhead {...restProps}>{children}</Subhead>\n );\n};\n\nexport interface HorizontalCellProps\n extends React.AnchorHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasComponent {\n size?: \"s\" | \"m\" | \"l\";\n header?: React.ReactNode;\n subtitle?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport const HorizontalCell: React.FC<HorizontalCellProps> = ({\n className,\n header,\n style,\n subtitle,\n size = \"s\",\n children = <Avatar size={56} />,\n getRootRef,\n getRef,\n ...restProps\n}: HorizontalCellProps) => {\n const platform = usePlatform();\n\n return (\n <div\n vkuiClass={classNames(\n getClassName(\"HorizontalCell\", platform),\n `HorizontalCell--${size}`\n )}\n ref={getRootRef}\n style={style}\n className={className}\n >\n <Tappable\n vkuiClass=\"HorizontalCell__body\"\n getRootRef={getRef}\n {...restProps}\n >\n {hasReactNode(children) && (\n <div vkuiClass=\"HorizontalCell__image\">{children}</div>\n )}\n <div vkuiClass=\"HorizontalCell__content\">\n {hasReactNode(header) && (\n <CellTypography size={size} vkuiClass=\"HorizontalCell__title\">\n {header}\n </CellTypography>\n )}\n {hasReactNode(subtitle) && (\n <Caption\n weight=\"regular\"\n level=\"1\"\n vkuiClass=\"HorizontalCell__subtitle\"\n >\n {subtitle}\n </Caption>\n )}\n </div>\n </Tappable>\n </div>\n );\n};\n"],"file":"HorizontalCell.js"}
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import { AdaptivityProps } from "../../hoc/withAdaptivity";
3
+ import { HasRef } from "../../types";
4
+ import "./HorizontalScroll.css";
5
+ export declare type ScrollPositionHandler = (currentPosition: number) => number;
6
+ export interface HorizontalScrollProps extends React.HTMLAttributes<HTMLDivElement>, AdaptivityProps, HasRef<HTMLDivElement> {
7
+ /**
8
+ * Функция для расчета величины прокрутки при клике на левую стрелку.
9
+ */
10
+ getScrollToLeft?: ScrollPositionHandler;
11
+ /**
12
+ * Функция для расчета величины прокрутки при клике на правую стрелку.
13
+ */
14
+ getScrollToRight?: ScrollPositionHandler;
15
+ showArrows?: boolean | "always";
16
+ scrollAnimationDuration?: number;
17
+ }
18
+ declare const _default: React.FC<Pick<HorizontalScrollProps, "hidden" | "dir" | "slot" | "style" | "title" | "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" | "getRef" | "scrollAnimationDuration" | "getScrollToLeft" | "getScrollToRight" | "showArrows"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
19
+ export default _default;
@@ -5,8 +5,6 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
5
5
  var _excluded = ["children", "getScrollToLeft", "getScrollToRight", "showArrows", "scrollAnimationDuration", "hasMouse", "getRef"];
6
6
  import { createScopedElement } from "../../lib/jsxRuntime";
7
7
  import * as React from "react";
8
- import { usePlatform } from "../../hooks/usePlatform";
9
- import { getClassName } from "../../helpers/getClassName";
10
8
  import { withAdaptivity } from "../../hoc/withAdaptivity";
11
9
  import HorizontalScrollArrow from "./HorizontalScrollArrow";
12
10
  import { easeInOutSine } from "../../lib/fx";
@@ -112,7 +110,6 @@ var HorizontalScroll = function HorizontalScroll(_ref2) {
112
110
  var isCustomScrollingRef = React.useRef(false);
113
111
  var scrollerRef = useExternRef(getRef);
114
112
  var animationQueue = React.useRef([]);
115
- var platform = usePlatform();
116
113
 
117
114
  function scrollTo(getScrollPosition) {
118
115
  var scrollElement = scrollerRef.current;
@@ -157,7 +154,7 @@ var HorizontalScroll = function HorizontalScroll(_ref2) {
157
154
  }, [scrollEvent, scrollerRef]);
158
155
  React.useEffect(onscroll, [scrollerRef, children, onscroll]);
159
156
  return createScopedElement("div", _extends({}, restProps, {
160
- vkuiClass: classNames(getClassName("HorizontalScroll", platform), _defineProperty({}, "HorizontalScroll--withConstArrows", showArrows === "always"))
157
+ vkuiClass: classNames("HorizontalScroll", _defineProperty({}, "HorizontalScroll--withConstArrows", showArrows === "always"))
161
158
  }), showArrows && hasMouse && canScrollLeft && createScopedElement(HorizontalScrollArrow, {
162
159
  direction: "left",
163
160
  onClick: function onClick() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/HorizontalScroll/HorizontalScroll.tsx"],"names":["React","usePlatform","getClassName","withAdaptivity","HorizontalScrollArrow","easeInOutSine","useEventListener","useExternRef","classNames","now","performance","Date","SCROLL_ONE_FRAME_TIME","doScroll","scrollElement","getScrollPosition","animationQueue","onScrollToRightBorder","onScrollEnd","onScrollStart","initialScrollWidth","scrollAnimationDuration","maxLeft","offsetWidth","startLeft","scrollLeft","endLeft","startTime","scroll","time","elapsed","Math","min","value","currentLeft","ceil","max","requestAnimationFrame","shift","length","HorizontalScroll","children","getScrollToLeft","getScrollToRight","showArrows","hasMouse","getRef","restProps","useState","canScrollLeft","setCanScrollLeft","canScrollRight","setCanScrollRight","isCustomScrollingRef","useRef","scrollerRef","platform","scrollTo","current","push","firstElementChild","scrollWidth","onscroll","useCallback","scrollEvent","useEffect","add"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport HorizontalScrollArrow from \"./HorizontalScrollArrow\";\nimport { easeInOutSine } from \"../../lib/fx\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { HasRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./HorizontalScroll.css\";\n\ninterface ScrollContext {\n scrollElement: HTMLElement | null;\n scrollAnimationDuration: number;\n animationQueue: VoidFunction[];\n getScrollPosition: (currentPosition: number) => number;\n onScrollToRightBorder: VoidFunction;\n onScrollEnd: VoidFunction;\n onScrollStart: VoidFunction;\n /**\n * Начальная ширина прокрутки.\n * В некоторых случаях может отличаться от текущей ширины прокрутки из-за transforms: translate\n */\n initialScrollWidth: number;\n}\n\nexport type ScrollPositionHandler = (currentPosition: number) => number;\n\nexport interface HorizontalScrollProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n HasRef<HTMLDivElement> {\n /**\n * Функция для расчета величины прокрутки при клике на левую стрелку.\n */\n getScrollToLeft?: ScrollPositionHandler;\n /**\n * Функция для расчета величины прокрутки при клике на правую стрелку.\n */\n getScrollToRight?: ScrollPositionHandler;\n showArrows?: boolean | \"always\";\n scrollAnimationDuration?: number;\n}\n\n/**\n * timing method\n */\nfunction now() {\n return performance && performance.now ? performance.now() : Date.now();\n}\n\n/**\n * Код анимации скрола, на основе полифила: https://github.com/iamdustan/smoothscroll\n * Константа взята из полифила (468), на дизайн-ревью уточнили до 250\n * @var {number} SCROLL_ONE_FRAME_TIME время анимации скролла\n */\nconst SCROLL_ONE_FRAME_TIME = 250;\n\nfunction doScroll({\n scrollElement,\n getScrollPosition,\n animationQueue,\n onScrollToRightBorder,\n onScrollEnd,\n onScrollStart,\n initialScrollWidth,\n scrollAnimationDuration = SCROLL_ONE_FRAME_TIME,\n}: ScrollContext) {\n if (!scrollElement || !getScrollPosition) {\n return;\n }\n\n /**\n * максимальное значение сдвига влево\n */\n const maxLeft = initialScrollWidth - scrollElement.offsetWidth;\n\n let startLeft = scrollElement.scrollLeft;\n let endLeft = getScrollPosition(startLeft);\n\n onScrollStart();\n\n if (endLeft >= maxLeft) {\n onScrollToRightBorder();\n endLeft = maxLeft;\n }\n\n const startTime = now();\n\n (function scroll() {\n if (!scrollElement) {\n onScrollEnd();\n return;\n }\n\n const time = now();\n const elapsed = Math.min((time - startTime) / scrollAnimationDuration, 1);\n\n const value = easeInOutSine(elapsed);\n\n const currentLeft = startLeft + (endLeft - startLeft) * value;\n scrollElement.scrollLeft = Math.ceil(currentLeft);\n\n if (scrollElement.scrollLeft !== Math.max(0, endLeft)) {\n requestAnimationFrame(scroll);\n return;\n }\n\n onScrollEnd();\n animationQueue.shift();\n if (animationQueue.length > 0) {\n animationQueue[0]();\n }\n })();\n}\n\nconst HorizontalScroll: React.FC<HorizontalScrollProps> = ({\n children,\n getScrollToLeft,\n getScrollToRight,\n showArrows = true,\n scrollAnimationDuration = SCROLL_ONE_FRAME_TIME,\n hasMouse,\n getRef,\n ...restProps\n}: HorizontalScrollProps) => {\n const [canScrollLeft, setCanScrollLeft] = React.useState(false);\n const [canScrollRight, setCanScrollRight] = React.useState(false);\n\n const isCustomScrollingRef = React.useRef(false);\n\n const scrollerRef = useExternRef(getRef);\n\n const animationQueue = React.useRef<VoidFunction[]>([]);\n\n const platform = usePlatform();\n\n function scrollTo(getScrollPosition: (offset: number) => number) {\n const scrollElement = scrollerRef.current;\n\n animationQueue.current.push(() =>\n doScroll({\n scrollElement,\n getScrollPosition,\n animationQueue: animationQueue.current,\n onScrollToRightBorder: () => setCanScrollRight(false),\n onScrollEnd: () => (isCustomScrollingRef.current = false),\n onScrollStart: () => (isCustomScrollingRef.current = true),\n initialScrollWidth: scrollElement?.firstElementChild?.scrollWidth || 0,\n scrollAnimationDuration,\n })\n );\n if (animationQueue.current.length === 1) {\n animationQueue.current[0]();\n }\n }\n\n const onscroll = React.useCallback(() => {\n if (\n showArrows &&\n hasMouse &&\n scrollerRef.current &&\n !isCustomScrollingRef.current\n ) {\n const scrollElement = scrollerRef.current;\n\n setCanScrollLeft(scrollElement.scrollLeft > 0);\n setCanScrollRight(\n scrollElement.scrollLeft + scrollElement.offsetWidth <\n scrollElement.scrollWidth\n );\n }\n }, [hasMouse, scrollerRef, showArrows]);\n\n const scrollEvent = useEventListener(\"scroll\", onscroll);\n React.useEffect(() => {\n if (scrollerRef.current) {\n scrollEvent.add(scrollerRef.current);\n }\n }, [scrollEvent, scrollerRef]);\n React.useEffect(onscroll, [scrollerRef, children, onscroll]);\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(getClassName(\"HorizontalScroll\", platform), {\n [\"HorizontalScroll--withConstArrows\"]: showArrows === \"always\",\n })}\n >\n {showArrows && hasMouse && canScrollLeft && (\n <HorizontalScrollArrow\n direction=\"left\"\n onClick={() => {\n if (getScrollToLeft) {\n scrollTo(getScrollToLeft);\n }\n }}\n />\n )}\n {showArrows && hasMouse && canScrollRight && (\n <HorizontalScrollArrow\n direction=\"right\"\n onClick={() => {\n if (getScrollToRight) {\n scrollTo(getScrollToRight);\n }\n }}\n />\n )}\n <div vkuiClass=\"HorizontalScroll__in\" ref={scrollerRef}>\n <div vkuiClass=\"HorizontalScroll__in-wrapper\">{children}</div>\n </div>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(HorizontalScroll, {\n hasMouse: true,\n});\n"],"file":"HorizontalScroll.js"}
1
+ {"version":3,"sources":["../../../../src/components/HorizontalScroll/HorizontalScroll.tsx"],"names":["React","withAdaptivity","HorizontalScrollArrow","easeInOutSine","useEventListener","useExternRef","classNames","now","performance","Date","SCROLL_ONE_FRAME_TIME","doScroll","scrollElement","getScrollPosition","animationQueue","onScrollToRightBorder","onScrollEnd","onScrollStart","initialScrollWidth","scrollAnimationDuration","maxLeft","offsetWidth","startLeft","scrollLeft","endLeft","startTime","scroll","time","elapsed","Math","min","value","currentLeft","ceil","max","requestAnimationFrame","shift","length","HorizontalScroll","children","getScrollToLeft","getScrollToRight","showArrows","hasMouse","getRef","restProps","useState","canScrollLeft","setCanScrollLeft","canScrollRight","setCanScrollRight","isCustomScrollingRef","useRef","scrollerRef","scrollTo","current","push","firstElementChild","scrollWidth","onscroll","useCallback","scrollEvent","useEffect","add"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport HorizontalScrollArrow from \"./HorizontalScrollArrow\";\nimport { easeInOutSine } from \"../../lib/fx\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { HasRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./HorizontalScroll.css\";\n\ninterface ScrollContext {\n scrollElement: HTMLElement | null;\n scrollAnimationDuration: number;\n animationQueue: VoidFunction[];\n getScrollPosition: (currentPosition: number) => number;\n onScrollToRightBorder: VoidFunction;\n onScrollEnd: VoidFunction;\n onScrollStart: VoidFunction;\n /**\n * Начальная ширина прокрутки.\n * В некоторых случаях может отличаться от текущей ширины прокрутки из-за transforms: translate\n */\n initialScrollWidth: number;\n}\n\nexport type ScrollPositionHandler = (currentPosition: number) => number;\n\nexport interface HorizontalScrollProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n HasRef<HTMLDivElement> {\n /**\n * Функция для расчета величины прокрутки при клике на левую стрелку.\n */\n getScrollToLeft?: ScrollPositionHandler;\n /**\n * Функция для расчета величины прокрутки при клике на правую стрелку.\n */\n getScrollToRight?: ScrollPositionHandler;\n showArrows?: boolean | \"always\";\n scrollAnimationDuration?: number;\n}\n\n/**\n * timing method\n */\nfunction now() {\n return performance && performance.now ? performance.now() : Date.now();\n}\n\n/**\n * Код анимации скрола, на основе полифила: https://github.com/iamdustan/smoothscroll\n * Константа взята из полифила (468), на дизайн-ревью уточнили до 250\n * @var {number} SCROLL_ONE_FRAME_TIME время анимации скролла\n */\nconst SCROLL_ONE_FRAME_TIME = 250;\n\nfunction doScroll({\n scrollElement,\n getScrollPosition,\n animationQueue,\n onScrollToRightBorder,\n onScrollEnd,\n onScrollStart,\n initialScrollWidth,\n scrollAnimationDuration = SCROLL_ONE_FRAME_TIME,\n}: ScrollContext) {\n if (!scrollElement || !getScrollPosition) {\n return;\n }\n\n /**\n * максимальное значение сдвига влево\n */\n const maxLeft = initialScrollWidth - scrollElement.offsetWidth;\n\n let startLeft = scrollElement.scrollLeft;\n let endLeft = getScrollPosition(startLeft);\n\n onScrollStart();\n\n if (endLeft >= maxLeft) {\n onScrollToRightBorder();\n endLeft = maxLeft;\n }\n\n const startTime = now();\n\n (function scroll() {\n if (!scrollElement) {\n onScrollEnd();\n return;\n }\n\n const time = now();\n const elapsed = Math.min((time - startTime) / scrollAnimationDuration, 1);\n\n const value = easeInOutSine(elapsed);\n\n const currentLeft = startLeft + (endLeft - startLeft) * value;\n scrollElement.scrollLeft = Math.ceil(currentLeft);\n\n if (scrollElement.scrollLeft !== Math.max(0, endLeft)) {\n requestAnimationFrame(scroll);\n return;\n }\n\n onScrollEnd();\n animationQueue.shift();\n if (animationQueue.length > 0) {\n animationQueue[0]();\n }\n })();\n}\n\nconst HorizontalScroll: React.FC<HorizontalScrollProps> = ({\n children,\n getScrollToLeft,\n getScrollToRight,\n showArrows = true,\n scrollAnimationDuration = SCROLL_ONE_FRAME_TIME,\n hasMouse,\n getRef,\n ...restProps\n}: HorizontalScrollProps) => {\n const [canScrollLeft, setCanScrollLeft] = React.useState(false);\n const [canScrollRight, setCanScrollRight] = React.useState(false);\n\n const isCustomScrollingRef = React.useRef(false);\n\n const scrollerRef = useExternRef(getRef);\n\n const animationQueue = React.useRef<VoidFunction[]>([]);\n\n function scrollTo(getScrollPosition: (offset: number) => number) {\n const scrollElement = scrollerRef.current;\n\n animationQueue.current.push(() =>\n doScroll({\n scrollElement,\n getScrollPosition,\n animationQueue: animationQueue.current,\n onScrollToRightBorder: () => setCanScrollRight(false),\n onScrollEnd: () => (isCustomScrollingRef.current = false),\n onScrollStart: () => (isCustomScrollingRef.current = true),\n initialScrollWidth: scrollElement?.firstElementChild?.scrollWidth || 0,\n scrollAnimationDuration,\n })\n );\n if (animationQueue.current.length === 1) {\n animationQueue.current[0]();\n }\n }\n\n const onscroll = React.useCallback(() => {\n if (\n showArrows &&\n hasMouse &&\n scrollerRef.current &&\n !isCustomScrollingRef.current\n ) {\n const scrollElement = scrollerRef.current;\n\n setCanScrollLeft(scrollElement.scrollLeft > 0);\n setCanScrollRight(\n scrollElement.scrollLeft + scrollElement.offsetWidth <\n scrollElement.scrollWidth\n );\n }\n }, [hasMouse, scrollerRef, showArrows]);\n\n const scrollEvent = useEventListener(\"scroll\", onscroll);\n React.useEffect(() => {\n if (scrollerRef.current) {\n scrollEvent.add(scrollerRef.current);\n }\n }, [scrollEvent, scrollerRef]);\n React.useEffect(onscroll, [scrollerRef, children, onscroll]);\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\"HorizontalScroll\", {\n [\"HorizontalScroll--withConstArrows\"]: showArrows === \"always\",\n })}\n >\n {showArrows && hasMouse && canScrollLeft && (\n <HorizontalScrollArrow\n direction=\"left\"\n onClick={() => {\n if (getScrollToLeft) {\n scrollTo(getScrollToLeft);\n }\n }}\n />\n )}\n {showArrows && hasMouse && canScrollRight && (\n <HorizontalScrollArrow\n direction=\"right\"\n onClick={() => {\n if (getScrollToRight) {\n scrollTo(getScrollToRight);\n }\n }}\n />\n )}\n <div vkuiClass=\"HorizontalScroll__in\" ref={scrollerRef}>\n <div vkuiClass=\"HorizontalScroll__in-wrapper\">{children}</div>\n </div>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(HorizontalScroll, {\n hasMouse: true,\n});\n"],"file":"HorizontalScroll.js"}
@@ -1 +1,6 @@
1
- .vkuiHorizontalScrollArrow{position:absolute;cursor:pointer;-webkit-user-select:auto;user-select:auto;top:0;height:100%;padding:0;opacity:0;z-index:3;border:0;background-color:transparent;transition:opacity .15s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:var(--android-easing);display:flex;flex-direction:column;justify-content:center}.vkuiHorizontalScroll:hover .vkuiHorizontalScrollArrow,.vkuiGallery:hover .vkuiHorizontalScrollArrow{opacity:.72}.vkuiHorizontalScroll:hover .vkuiHorizontalScrollArrow:hover,.vkuiGallery:hover .vkuiHorizontalScrollArrow:hover,.vkuiHorizontalScroll--withConstArrows .vkuiHorizontalScrollArrow,.vkuiHorizontalScroll--withConstArrows:hover .vkuiHorizontalScrollArrow{opacity:1}.vkuiHorizontalScrollArrow__icon{background-color:#fff;background-color:var(--modal_card_background);color:#99a2ad;color:var(--icon_secondary);width:40px;height:40px;border-radius:24px;box-shadow:0 0 2px rgba(0,0,0,.08),0 0 16px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center}.vkuiHorizontalScrollArrow--left{padding-left:16px;left:0}.vkuiHorizontalScrollArrow--left .vkuiHorizontalScrollArrow__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vkuiHorizontalScrollArrow--right{padding-right:16px;right:0}.vkuiHorizontalScrollArrow--ios .vkuiHorizontalScrollArrow{transition-timing-function:cubic-bezier(.36,.66,.04,1);transition-timing-function:var(--ios-easing)}
1
+ .vkuiHorizontalScrollArrow{position:absolute;cursor:pointer;-webkit-user-select:auto;user-select:auto;top:0;height:100%;padding:0;opacity:0;z-index:3;border:0;background-color:transparent;transition:opacity .15s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:var(--android-easing);display:flex;flex-direction:column;justify-content:center}.vkuiHorizontalScroll:hover .vkuiHorizontalScrollArrow,.vkuiGallery:hover .vkuiHorizontalScrollArrow{opacity:.72}.vkuiHorizontalScroll:hover .vkuiHorizontalScrollArrow:hover,.vkuiGallery:hover .vkuiHorizontalScrollArrow:hover,.vkuiHorizontalScroll--withConstArrows .vkuiHorizontalScrollArrow,.vkuiHorizontalScroll--withConstArrows:hover .vkuiHorizontalScrollArrow{opacity:1}.vkuiHorizontalScrollArrow__icon{background-color:#fff;background-color:var(--modal_card_background,
2
+ var(--vkui--color_background_modal)
3
+ );color:#99a2ad;color:var(--icon_secondary, var(--vkui--color_icon_secondary));width:40px;height:40px;border-radius:24px;box-shadow:0 0 2px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.08);box-shadow:var(--vkui--elevation3,
4
+ 0 0 2px rgba(0, 0, 0, 0.08),
5
+ 0 0 16px rgba(0, 0, 0, 0.12)
6
+ );display:flex;align-items:center;justify-content:center}.vkuiHorizontalScrollArrow--left{padding-left:16px;padding-left:var(--vkui--size_base_padding_horizontal--regular, 16px);left:0}.vkuiHorizontalScrollArrow--left .vkuiHorizontalScrollArrow__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vkuiHorizontalScrollArrow--right{padding-right:16px;padding-right:var(--vkui--size_base_padding_horizontal--regular, 16px);right:0}.vkuiHorizontalScrollArrow--ios .vkuiHorizontalScrollArrow{transition-timing-function:cubic-bezier(.36,.66,.04,1);transition-timing-function:var(--ios-easing)}