@vkontakte/vkui 4.28.1 → 4.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1055) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +5136 -9779
  4. package/.cache/ts/src/components/Button/Button.d.ts +1 -2
  5. package/.cache/ts/src/components/Cell/Cell.d.ts +1 -1
  6. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +1 -2
  7. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  8. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  9. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +2 -2
  10. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  11. package/.cache/ts/src/components/Gallery/Gallery.d.ts +9 -1
  12. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +1 -0
  13. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  14. package/.cache/ts/src/components/Input/Input.d.ts +1 -2
  15. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  16. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  17. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +16 -1
  18. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +14 -2
  19. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  20. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  21. package/.cache/ts/src/components/ModalRoot/types.d.ts +16 -1
  22. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +6 -5
  23. package/.cache/ts/src/components/Pagination/Pagination.d.ts +3 -3
  24. package/.cache/ts/src/components/Select/Select.d.ts +1 -2
  25. package/.cache/ts/src/components/Touch/TouchContext.d.ts +1 -1
  26. package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  27. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +1 -2
  28. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -2
  29. package/.cache/ts/src/hooks/useBridgeAdaptivity.d.ts +6 -0
  30. package/.cache/ts/src/hooks/useKeyboard.d.ts +1 -1
  31. package/.cache/ts/src/hooks/usePagination.d.ts +3 -3
  32. package/.cache/ts/src/index.d.ts +20 -9
  33. package/.cache/ts/src/lib/date.d.ts +29 -0
  34. package/.cache/ts/src/lib/getNavId.d.ts +2 -1
  35. package/.cache/ts/src/lib/warnOnce.d.ts +2 -1
  36. package/.cache/ts/src/testing/utils.d.ts +1 -0
  37. package/.cache/ts/src/tokenized/index.d.ts +22 -4
  38. package/.eslintrc.json +8 -2
  39. package/dist/cjs/components/ActionSheet/ActionSheet.js +1 -1
  40. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  41. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +2 -1
  42. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  43. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  44. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  45. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +7 -6
  46. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  47. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +44 -11
  48. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  49. package/dist/cjs/components/Alert/Alert.js +7 -6
  50. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  51. package/dist/cjs/components/AppRoot/AppRoot.js +3 -2
  52. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  53. package/dist/cjs/components/Avatar/Avatar.js +4 -1
  54. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  55. package/dist/cjs/components/Banner/Banner.js +5 -4
  56. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  57. package/dist/cjs/components/Button/Button.d.ts +1 -2
  58. package/dist/cjs/components/Button/Button.js +36 -41
  59. package/dist/cjs/components/Button/Button.js.map +1 -1
  60. package/dist/cjs/components/Calendar/Calendar.js +5 -5
  61. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  62. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -1
  63. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  64. package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -3
  65. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  66. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -15
  67. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  68. package/dist/cjs/components/CalendarRange/CalendarRange.js +12 -15
  69. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  70. package/dist/cjs/components/CalendarTime/CalendarTime.js +8 -10
  71. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  72. package/dist/cjs/components/CardScroll/CardScroll.js +3 -2
  73. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  74. package/dist/cjs/components/Cell/Cell.d.ts +1 -1
  75. package/dist/cjs/components/Cell/Cell.js +4 -3
  76. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  77. package/dist/cjs/components/CellButton/CellButton.js +1 -0
  78. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  79. package/dist/cjs/components/Chip/Chip.js +1 -0
  80. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  81. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -2
  82. package/dist/cjs/components/ChipsInput/ChipsInput.js +4 -9
  83. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  84. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  85. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +8 -12
  86. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  87. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +1 -1
  88. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  89. package/dist/cjs/components/ContentCard/ContentCard.js +4 -3
  90. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  91. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +2 -2
  92. package/dist/cjs/components/CustomSelect/CustomSelect.js +24 -33
  93. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  94. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  95. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  96. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  97. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +24 -14
  98. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  99. package/dist/cjs/components/DateInput/DateInput.js +5 -5
  100. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  101. package/dist/cjs/components/DatePicker/DatePicker.js +6 -6
  102. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  103. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +7 -7
  104. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  105. package/dist/cjs/components/File/File.js +2 -2
  106. package/dist/cjs/components/File/File.js.map +1 -1
  107. package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
  108. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  109. package/dist/cjs/components/FormField/FormField.js +2 -6
  110. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  111. package/dist/cjs/components/FormItem/FormItem.js +4 -3
  112. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  113. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  114. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  115. package/dist/cjs/components/Gallery/Gallery.d.ts +9 -1
  116. package/dist/cjs/components/Gallery/Gallery.js +10 -2
  117. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  118. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +1 -0
  119. package/dist/cjs/components/GridAvatar/GridAvatar.js +6 -6
  120. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  121. package/dist/cjs/components/Group/Group.js +2 -1
  122. package/dist/cjs/components/Group/Group.js.map +1 -1
  123. package/dist/cjs/components/Header/Header.js +10 -7
  124. package/dist/cjs/components/Header/Header.js.map +1 -1
  125. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +2 -2
  126. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  127. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  128. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +22 -21
  129. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  130. package/dist/cjs/components/InfoRow/InfoRow.js +2 -2
  131. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  132. package/dist/cjs/components/Input/Input.d.ts +1 -2
  133. package/dist/cjs/components/Input/Input.js +11 -15
  134. package/dist/cjs/components/Input/Input.js.map +1 -1
  135. package/dist/cjs/components/List/List.js +1 -0
  136. package/dist/cjs/components/List/List.js.map +1 -1
  137. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +1 -0
  138. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  139. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  140. package/dist/cjs/components/ModalCard/ModalCard.js +1 -0
  141. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  142. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  143. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +10 -4
  144. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  145. package/dist/cjs/components/ModalPage/ModalPage.d.ts +16 -1
  146. package/dist/cjs/components/ModalPage/ModalPage.js +5 -1
  147. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  148. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +1 -0
  149. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  150. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +14 -2
  151. package/dist/cjs/components/ModalRoot/ModalRoot.js +14 -11
  152. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  153. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  154. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  155. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  156. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +10 -7
  157. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  158. package/dist/cjs/components/ModalRoot/types.d.ts +16 -1
  159. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  160. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +6 -5
  161. package/dist/cjs/components/ModalRoot/useModalManager.js +54 -16
  162. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  163. package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -1
  164. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  165. package/dist/cjs/components/Pagination/Pagination.d.ts +3 -3
  166. package/dist/cjs/components/Pagination/Pagination.js +3 -3
  167. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  168. package/dist/cjs/components/Panel/Panel.js +2 -1
  169. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  170. package/dist/cjs/components/PanelHeader/PanelHeader.js +1 -0
  171. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  172. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  173. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  174. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +5 -4
  175. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  176. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  177. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  178. package/dist/cjs/components/Placeholder/Placeholder.js +4 -3
  179. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  180. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -0
  181. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  182. package/dist/cjs/components/Popper/Popper.js +2 -2
  183. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  184. package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -2
  185. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  186. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
  187. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  188. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  189. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  190. package/dist/cjs/components/RichCell/RichCell.js +3 -2
  191. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  192. package/dist/cjs/components/RichTooltip/RichTooltip.js +2 -1
  193. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  194. package/dist/cjs/components/Root/Root.js +8 -7
  195. package/dist/cjs/components/Root/Root.js.map +1 -1
  196. package/dist/cjs/components/Search/Search.js +3 -2
  197. package/dist/cjs/components/Search/Search.js.map +1 -1
  198. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +19 -13
  199. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  200. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  201. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  202. package/dist/cjs/components/Select/Select.d.ts +1 -2
  203. package/dist/cjs/components/Select/Select.js +7 -9
  204. package/dist/cjs/components/Select/Select.js.map +1 -1
  205. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +2 -1
  206. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  207. package/dist/cjs/components/Separator/Separator.js +3 -1
  208. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  209. package/dist/cjs/components/SimpleCell/SimpleCell.js +5 -4
  210. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  211. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  212. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  213. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -0
  214. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  215. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +1 -0
  216. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  217. package/dist/cjs/components/Snackbar/Snackbar.js +3 -2
  218. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  219. package/dist/cjs/components/Spacing/Spacing.js +2 -1
  220. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  221. package/dist/cjs/components/SplitCol/SplitCol.js +2 -1
  222. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  223. package/dist/cjs/components/SplitLayout/SplitLayout.js +2 -1
  224. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  225. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +2 -2
  226. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  227. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +4 -3
  228. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  229. package/dist/cjs/components/Switch/Switch.js +1 -0
  230. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  231. package/dist/cjs/components/Tabbar/Tabbar.js +1 -0
  232. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  233. package/dist/cjs/components/TabbarItem/TabbarItem.js +2 -1
  234. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  235. package/dist/cjs/components/TabsItem/TabsItem.js +3 -2
  236. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  237. package/dist/cjs/components/Tappable/Tappable.js +5 -4
  238. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  239. package/dist/cjs/components/TextTooltip/TextTooltip.js +3 -3
  240. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  241. package/dist/cjs/components/Tooltip/Tooltip.js +6 -6
  242. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  243. package/dist/cjs/components/Touch/Touch.js +9 -3
  244. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  245. package/dist/cjs/components/Touch/TouchContext.d.ts +1 -1
  246. package/dist/cjs/components/Touch/TouchContext.js +1 -1
  247. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  248. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  249. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +42 -0
  250. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -0
  251. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +1 -2
  252. package/dist/cjs/components/Typography/Subhead/Subhead.js +4 -6
  253. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  254. package/dist/cjs/components/Typography/Text/Text.js +1 -1
  255. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  256. package/dist/cjs/components/Typography/Title/Title.d.ts +1 -2
  257. package/dist/cjs/components/Typography/Title/Title.js +5 -11
  258. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  259. package/dist/cjs/components/UsersStack/UsersStack.js +3 -2
  260. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  261. package/dist/cjs/components/View/View.js +5 -0
  262. package/dist/cjs/components/View/View.js.map +1 -1
  263. package/dist/cjs/components/View/ViewInfinite.js +5 -0
  264. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  265. package/dist/cjs/components/View/utils.js +5 -2
  266. package/dist/cjs/components/View/utils.js.map +1 -1
  267. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -2
  268. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  269. package/dist/cjs/helpers/scheme.js +2 -2
  270. package/dist/cjs/helpers/scheme.js.map +1 -1
  271. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +6 -0
  272. package/dist/cjs/hooks/useBridgeAdaptivity.js +85 -0
  273. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -0
  274. package/dist/cjs/hooks/useCalendar.js +6 -6
  275. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  276. package/dist/cjs/hooks/useKeyboard.d.ts +1 -1
  277. package/dist/cjs/hooks/useKeyboard.js +1 -1
  278. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  279. package/dist/cjs/hooks/usePagination.d.ts +3 -3
  280. package/dist/cjs/hooks/usePagination.js +3 -3
  281. package/dist/cjs/hooks/usePagination.js.map +1 -1
  282. package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
  283. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  284. package/dist/cjs/hooks/useWaitTransitionFinish.js +6 -1
  285. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  286. package/dist/cjs/index.d.ts +20 -9
  287. package/dist/cjs/index.js +26 -18
  288. package/dist/cjs/index.js.map +1 -1
  289. package/dist/cjs/lib/calendar.js +12 -23
  290. package/dist/cjs/lib/calendar.js.map +1 -1
  291. package/dist/cjs/lib/date.d.ts +29 -0
  292. package/dist/cjs/lib/date.js +286 -0
  293. package/dist/cjs/lib/date.js.map +1 -0
  294. package/dist/cjs/lib/getNavId.d.ts +2 -1
  295. package/dist/cjs/lib/getNavId.js +1 -1
  296. package/dist/cjs/lib/getNavId.js.map +1 -1
  297. package/dist/cjs/lib/warnOnce.d.ts +2 -1
  298. package/dist/cjs/lib/warnOnce.js +3 -1
  299. package/dist/cjs/lib/warnOnce.js.map +1 -1
  300. package/dist/cjs/tokenized/index.d.ts +22 -4
  301. package/dist/cjs/tokenized/index.js +80 -10
  302. package/dist/cjs/tokenized/index.js.map +1 -1
  303. package/dist/components/ActionSheet/ActionSheet.js +1 -1
  304. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  305. package/dist/components/ActionSheet/ActionSheetDropdown.js +2 -1
  306. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  307. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  308. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  309. package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -3
  310. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  311. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  312. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  313. package/dist/components/Alert/Alert.js +4 -3
  314. package/dist/components/Alert/Alert.js.map +1 -1
  315. package/dist/components/AppRoot/AppRoot.js +3 -2
  316. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  317. package/dist/components/Avatar/Avatar.js +4 -1
  318. package/dist/components/Avatar/Avatar.js.map +1 -1
  319. package/dist/components/Banner/Banner.js +3 -2
  320. package/dist/components/Banner/Banner.js.map +1 -1
  321. package/dist/components/Button/Button.d.ts +1 -2
  322. package/dist/components/Button/Button.js +29 -33
  323. package/dist/components/Button/Button.js.map +1 -1
  324. package/dist/components/Calendar/Calendar.js +3 -3
  325. package/dist/components/Calendar/Calendar.js.map +1 -1
  326. package/dist/components/CalendarDay/CalendarDay.js +4 -1
  327. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  328. package/dist/components/CalendarDays/CalendarDays.js +1 -1
  329. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  330. package/dist/components/CalendarHeader/CalendarHeader.js +8 -8
  331. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  332. package/dist/components/CalendarRange/CalendarRange.js +2 -5
  333. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  334. package/dist/components/CalendarTime/CalendarTime.js +3 -3
  335. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  336. package/dist/components/CardScroll/CardScroll.js +2 -1
  337. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  338. package/dist/components/Cell/Cell.d.ts +1 -1
  339. package/dist/components/Cell/Cell.js +4 -3
  340. package/dist/components/Cell/Cell.js.map +1 -1
  341. package/dist/components/CellButton/CellButton.js +1 -0
  342. package/dist/components/CellButton/CellButton.js.map +1 -1
  343. package/dist/components/Chip/Chip.js +1 -0
  344. package/dist/components/Chip/Chip.js.map +1 -1
  345. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -2
  346. package/dist/components/ChipsInput/ChipsInput.js +3 -10
  347. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  348. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  349. package/dist/components/ChipsSelect/ChipsSelect.js +3 -6
  350. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  351. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  352. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  353. package/dist/components/ContentCard/ContentCard.js +3 -2
  354. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  355. package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
  356. package/dist/components/CustomSelect/CustomSelect.js +20 -27
  357. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  358. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  359. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  360. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  361. package/dist/components/CustomSelectOption/CustomSelectOption.js +19 -15
  362. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  363. package/dist/components/DateInput/DateInput.js +3 -3
  364. package/dist/components/DateInput/DateInput.js.map +1 -1
  365. package/dist/components/DatePicker/DatePicker.js +2 -2
  366. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  367. package/dist/components/DateRangeInput/DateRangeInput.js +2 -2
  368. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  369. package/dist/components/File/File.js +1 -1
  370. package/dist/components/File/File.js.map +1 -1
  371. package/dist/components/FixedLayout/FixedLayout.js +2 -1
  372. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  373. package/dist/components/FormField/FormField.js +2 -6
  374. package/dist/components/FormField/FormField.js.map +1 -1
  375. package/dist/components/FormItem/FormItem.js +3 -2
  376. package/dist/components/FormItem/FormItem.js.map +1 -1
  377. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  378. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  379. package/dist/components/Gallery/Gallery.d.ts +9 -1
  380. package/dist/components/Gallery/Gallery.js +10 -2
  381. package/dist/components/Gallery/Gallery.js.map +1 -1
  382. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -0
  383. package/dist/components/GridAvatar/GridAvatar.js +5 -6
  384. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  385. package/dist/components/Group/Group.js +2 -1
  386. package/dist/components/Group/Group.js.map +1 -1
  387. package/dist/components/Header/Header.js +7 -4
  388. package/dist/components/Header/Header.js.map +1 -1
  389. package/dist/components/HorizontalCell/HorizontalCell.js +1 -1
  390. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  391. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  392. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -18
  393. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  394. package/dist/components/InfoRow/InfoRow.js +1 -1
  395. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  396. package/dist/components/Input/Input.d.ts +1 -2
  397. package/dist/components/Input/Input.js +8 -10
  398. package/dist/components/Input/Input.js.map +1 -1
  399. package/dist/components/List/List.js +1 -0
  400. package/dist/components/List/List.js.map +1 -1
  401. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -0
  402. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  403. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  404. package/dist/components/ModalCard/ModalCard.js +1 -0
  405. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  406. package/dist/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  407. package/dist/components/ModalCardBase/ModalCardBase.js +9 -3
  408. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  409. package/dist/components/ModalPage/ModalPage.d.ts +16 -1
  410. package/dist/components/ModalPage/ModalPage.js +5 -1
  411. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  412. package/dist/components/ModalPageHeader/ModalPageHeader.js +1 -0
  413. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  414. package/dist/components/ModalRoot/ModalRoot.d.ts +14 -2
  415. package/dist/components/ModalRoot/ModalRoot.js +14 -11
  416. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  417. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  418. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  419. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  420. package/dist/components/ModalRoot/ModalRootDesktop.js +10 -7
  421. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  422. package/dist/components/ModalRoot/types.d.ts +16 -1
  423. package/dist/components/ModalRoot/types.js.map +1 -1
  424. package/dist/components/ModalRoot/useModalManager.d.ts +6 -5
  425. package/dist/components/ModalRoot/useModalManager.js +54 -16
  426. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  427. package/dist/components/NativeSelect/NativeSelect.js +2 -1
  428. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  429. package/dist/components/Pagination/Pagination.d.ts +3 -3
  430. package/dist/components/Pagination/Pagination.js +1 -1
  431. package/dist/components/Pagination/Pagination.js.map +1 -1
  432. package/dist/components/Panel/Panel.js +2 -1
  433. package/dist/components/Panel/Panel.js.map +1 -1
  434. package/dist/components/PanelHeader/PanelHeader.js +1 -0
  435. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  436. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  437. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  438. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  439. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  440. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  441. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  442. package/dist/components/Placeholder/Placeholder.js +3 -2
  443. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  444. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -0
  445. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  446. package/dist/components/Popper/Popper.js +2 -2
  447. package/dist/components/Popper/Popper.js.map +1 -1
  448. package/dist/components/PromoBanner/PromoBanner.js +1 -1
  449. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  450. package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
  451. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  452. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  453. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  454. package/dist/components/RichCell/RichCell.js +2 -1
  455. package/dist/components/RichCell/RichCell.js.map +1 -1
  456. package/dist/components/RichTooltip/RichTooltip.js +2 -1
  457. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  458. package/dist/components/Root/Root.js +8 -7
  459. package/dist/components/Root/Root.js.map +1 -1
  460. package/dist/components/Search/Search.js +2 -1
  461. package/dist/components/Search/Search.js.map +1 -1
  462. package/dist/components/SegmentedControl/SegmentedControl.js +19 -13
  463. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  464. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  465. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  466. package/dist/components/Select/Select.d.ts +1 -2
  467. package/dist/components/Select/Select.js +4 -5
  468. package/dist/components/Select/Select.js.map +1 -1
  469. package/dist/components/SelectMimicry/SelectMimicry.js +2 -1
  470. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  471. package/dist/components/Separator/Separator.js +3 -1
  472. package/dist/components/Separator/Separator.js.map +1 -1
  473. package/dist/components/SimpleCell/SimpleCell.js +3 -2
  474. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  475. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  476. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  477. package/dist/components/SliderSwitch/SliderSwitch.js +1 -0
  478. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  479. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -0
  480. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  481. package/dist/components/Snackbar/Snackbar.js +2 -1
  482. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  483. package/dist/components/Spacing/Spacing.js +2 -1
  484. package/dist/components/Spacing/Spacing.js.map +1 -1
  485. package/dist/components/SplitCol/SplitCol.js +2 -1
  486. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  487. package/dist/components/SplitLayout/SplitLayout.js +2 -1
  488. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  489. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -1
  490. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  491. package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -2
  492. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  493. package/dist/components/Switch/Switch.js +1 -0
  494. package/dist/components/Switch/Switch.js.map +1 -1
  495. package/dist/components/Tabbar/Tabbar.js +1 -0
  496. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  497. package/dist/components/TabbarItem/TabbarItem.js +2 -1
  498. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  499. package/dist/components/TabsItem/TabsItem.js +2 -1
  500. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  501. package/dist/components/Tappable/Tappable.js +5 -4
  502. package/dist/components/Tappable/Tappable.js.map +1 -1
  503. package/dist/components/TextTooltip/TextTooltip.js +1 -1
  504. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  505. package/dist/components/Tooltip/Tooltip.js +4 -4
  506. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  507. package/dist/components/Touch/Touch.js +9 -3
  508. package/dist/components/Touch/Touch.js.map +1 -1
  509. package/dist/components/Touch/TouchContext.d.ts +1 -1
  510. package/dist/components/Touch/TouchContext.js +1 -1
  511. package/dist/components/Touch/TouchContext.js.map +1 -1
  512. package/dist/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  513. package/dist/components/Typography/Paragraph/Paragraph.js +25 -0
  514. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -0
  515. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -2
  516. package/dist/components/Typography/Subhead/Subhead.js +3 -7
  517. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  518. package/dist/components/Typography/Text/Text.js +1 -1
  519. package/dist/components/Typography/Text/Text.js.map +1 -1
  520. package/dist/components/Typography/Title/Title.d.ts +1 -2
  521. package/dist/components/Typography/Title/Title.js +3 -9
  522. package/dist/components/Typography/Title/Title.js.map +1 -1
  523. package/dist/components/UsersStack/UsersStack.js +2 -1
  524. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  525. package/dist/components/View/View.js +5 -0
  526. package/dist/components/View/View.js.map +1 -1
  527. package/dist/components/View/ViewInfinite.js +5 -0
  528. package/dist/components/View/ViewInfinite.js.map +1 -1
  529. package/dist/components/View/utils.js +5 -2
  530. package/dist/components/View/utils.js.map +1 -1
  531. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -2
  532. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  533. package/dist/components.css +21 -6
  534. package/dist/components.css.map +1 -1
  535. package/dist/cssm/components/ActionSheet/ActionSheet.js +1 -1
  536. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  537. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +2 -1
  538. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  539. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  540. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  541. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -3
  542. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  543. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  544. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  545. package/dist/cssm/components/Alert/Alert.css +1 -1
  546. package/dist/cssm/components/Alert/Alert.js +4 -3
  547. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  548. package/dist/cssm/components/AppRoot/AppRoot.js +3 -2
  549. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  550. package/dist/cssm/components/Avatar/Avatar.js +4 -1
  551. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  552. package/dist/cssm/components/Banner/Banner.js +3 -2
  553. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  554. package/dist/cssm/components/Button/Button.d.ts +1 -2
  555. package/dist/cssm/components/Button/Button.js +29 -33
  556. package/dist/cssm/components/Button/Button.js.map +1 -1
  557. package/dist/cssm/components/Calendar/Calendar.js +3 -3
  558. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  559. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  560. package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -1
  561. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  562. package/dist/cssm/components/CalendarDays/CalendarDays.js +1 -1
  563. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  564. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +8 -8
  565. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  566. package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -5
  567. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  568. package/dist/cssm/components/CalendarTime/CalendarTime.js +3 -3
  569. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  570. package/dist/cssm/components/CardScroll/CardScroll.js +2 -1
  571. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  572. package/dist/cssm/components/Cell/Cell.d.ts +1 -1
  573. package/dist/cssm/components/Cell/Cell.js +4 -3
  574. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  575. package/dist/cssm/components/CellButton/CellButton.js +1 -0
  576. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  577. package/dist/cssm/components/Chip/Chip.js +1 -0
  578. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  579. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  580. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +1 -2
  581. package/dist/cssm/components/ChipsInput/ChipsInput.js +3 -10
  582. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  583. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  584. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  585. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +3 -6
  586. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  587. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
  588. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  589. package/dist/cssm/components/ContentCard/ContentCard.js +3 -2
  590. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  591. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  592. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +2 -2
  593. package/dist/cssm/components/CustomSelect/CustomSelect.js +20 -27
  594. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  595. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -1
  596. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  597. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  598. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -1
  599. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  600. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +19 -15
  601. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  602. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  603. package/dist/cssm/components/DateInput/DateInput.js +3 -3
  604. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  605. package/dist/cssm/components/DatePicker/DatePicker.js +2 -2
  606. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  607. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  608. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -2
  609. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  610. package/dist/cssm/components/File/File.js +1 -1
  611. package/dist/cssm/components/File/File.js.map +1 -1
  612. package/dist/cssm/components/FixedLayout/FixedLayout.js +2 -1
  613. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  614. package/dist/cssm/components/FormField/FormField.css +5 -1
  615. package/dist/cssm/components/FormField/FormField.js +2 -6
  616. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  617. package/dist/cssm/components/FormItem/FormItem.js +3 -2
  618. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  619. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  620. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  621. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  622. package/dist/cssm/components/Gallery/Gallery.d.ts +9 -1
  623. package/dist/cssm/components/Gallery/Gallery.js +10 -2
  624. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  625. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  626. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +1 -0
  627. package/dist/cssm/components/GridAvatar/GridAvatar.js +5 -6
  628. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  629. package/dist/cssm/components/Group/Group.js +2 -1
  630. package/dist/cssm/components/Group/Group.js.map +1 -1
  631. package/dist/cssm/components/Header/Header.js +7 -4
  632. package/dist/cssm/components/Header/Header.js.map +1 -1
  633. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -1
  634. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  635. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  636. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -18
  637. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  638. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  639. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  640. package/dist/cssm/components/Input/Input.css +1 -1
  641. package/dist/cssm/components/Input/Input.d.ts +1 -2
  642. package/dist/cssm/components/Input/Input.js +8 -10
  643. package/dist/cssm/components/Input/Input.js.map +1 -1
  644. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  645. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  646. package/dist/cssm/components/List/List.js +1 -0
  647. package/dist/cssm/components/List/List.js.map +1 -1
  648. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -0
  649. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  650. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  651. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  652. package/dist/cssm/components/ModalCard/ModalCard.js +1 -0
  653. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  654. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +1 -1
  655. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  656. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +9 -3
  657. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  658. package/dist/cssm/components/ModalPage/ModalPage.d.ts +16 -1
  659. package/dist/cssm/components/ModalPage/ModalPage.js +5 -1
  660. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  661. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +1 -0
  662. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  663. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +14 -2
  664. package/dist/cssm/components/ModalRoot/ModalRoot.js +14 -11
  665. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  666. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  667. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  668. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  669. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +10 -7
  670. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  671. package/dist/cssm/components/ModalRoot/types.d.ts +16 -1
  672. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  673. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +6 -5
  674. package/dist/cssm/components/ModalRoot/useModalManager.js +54 -16
  675. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  676. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -1
  677. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  678. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  679. package/dist/cssm/components/Pagination/Pagination.d.ts +3 -3
  680. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  681. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  682. package/dist/cssm/components/Panel/Panel.js +2 -1
  683. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  684. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  685. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -0
  686. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  687. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  688. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  689. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  690. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  691. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  692. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  693. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  694. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  695. package/dist/cssm/components/Placeholder/Placeholder.js +3 -2
  696. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  697. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -0
  698. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  699. package/dist/cssm/components/Popper/Popper.js +2 -2
  700. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  701. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -1
  702. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  703. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +2 -1
  704. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  705. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  706. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  707. package/dist/cssm/components/Removable/Removable.css +1 -1
  708. package/dist/cssm/components/RichCell/RichCell.js +2 -1
  709. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  710. package/dist/cssm/components/RichTooltip/RichTooltip.js +2 -1
  711. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  712. package/dist/cssm/components/Root/Root.css +1 -1
  713. package/dist/cssm/components/Root/Root.js +8 -7
  714. package/dist/cssm/components/Root/Root.js.map +1 -1
  715. package/dist/cssm/components/Search/Search.css +1 -1
  716. package/dist/cssm/components/Search/Search.js +2 -1
  717. package/dist/cssm/components/Search/Search.js.map +1 -1
  718. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +19 -13
  719. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  720. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  721. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  722. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  723. package/dist/cssm/components/Select/Select.css +1 -1
  724. package/dist/cssm/components/Select/Select.d.ts +1 -2
  725. package/dist/cssm/components/Select/Select.js +4 -5
  726. package/dist/cssm/components/Select/Select.js.map +1 -1
  727. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -1
  728. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  729. package/dist/cssm/components/Separator/Separator.js +3 -1
  730. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  731. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  732. package/dist/cssm/components/SimpleCell/SimpleCell.js +3 -2
  733. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  734. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  735. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  736. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -0
  737. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  738. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -0
  739. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  740. package/dist/cssm/components/Snackbar/Snackbar.js +2 -1
  741. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  742. package/dist/cssm/components/Spacing/Spacing.js +2 -1
  743. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  744. package/dist/cssm/components/SplitCol/SplitCol.js +2 -1
  745. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  746. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  747. package/dist/cssm/components/SplitLayout/SplitLayout.js +2 -1
  748. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  749. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  750. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  751. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -2
  752. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  753. package/dist/cssm/components/Switch/Switch.js +1 -0
  754. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  755. package/dist/cssm/components/Tabbar/Tabbar.js +1 -0
  756. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  757. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  758. package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -1
  759. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  760. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  761. package/dist/cssm/components/TabsItem/TabsItem.js +2 -1
  762. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  763. package/dist/cssm/components/Tappable/Tappable.css +1 -1
  764. package/dist/cssm/components/Tappable/Tappable.js +5 -4
  765. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  766. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  767. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  768. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  769. package/dist/cssm/components/Tooltip/Tooltip.js +4 -4
  770. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  771. package/dist/cssm/components/Touch/Touch.js +9 -3
  772. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  773. package/dist/cssm/components/Touch/TouchContext.d.ts +1 -1
  774. package/dist/cssm/components/Touch/TouchContext.js +1 -1
  775. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  776. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  777. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  778. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -0
  779. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  780. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +26 -0
  781. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -0
  782. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  783. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -2
  784. package/dist/cssm/components/Typography/Subhead/Subhead.js +3 -7
  785. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  786. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  787. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  788. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  789. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  790. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -2
  791. package/dist/cssm/components/Typography/Title/Title.js +3 -9
  792. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  793. package/dist/cssm/components/UsersStack/UsersStack.js +2 -1
  794. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  795. package/dist/cssm/components/View/View.css +1 -1
  796. package/dist/cssm/components/View/View.js +5 -0
  797. package/dist/cssm/components/View/View.js.map +1 -1
  798. package/dist/cssm/components/View/ViewIOS.css +1 -1
  799. package/dist/cssm/components/View/ViewInfinite.js +5 -0
  800. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  801. package/dist/cssm/components/View/utils.js +5 -2
  802. package/dist/cssm/components/View/utils.js.map +1 -1
  803. package/dist/cssm/components/WriteBar/WriteBar.css +1 -1
  804. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -2
  805. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  806. package/dist/cssm/helpers/scheme.js +2 -2
  807. package/dist/cssm/helpers/scheme.js.map +1 -1
  808. package/dist/cssm/hooks/useBridgeAdaptivity.d.ts +6 -0
  809. package/dist/cssm/hooks/useBridgeAdaptivity.js +68 -0
  810. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -0
  811. package/dist/cssm/hooks/useCalendar.js +1 -1
  812. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  813. package/dist/cssm/hooks/useKeyboard.d.ts +1 -1
  814. package/dist/cssm/hooks/useKeyboard.js +1 -1
  815. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  816. package/dist/cssm/hooks/usePagination.d.ts +3 -3
  817. package/dist/cssm/hooks/usePagination.js +3 -3
  818. package/dist/cssm/hooks/usePagination.js.map +1 -1
  819. package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
  820. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  821. package/dist/cssm/hooks/useWaitTransitionFinish.js +5 -1
  822. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  823. package/dist/cssm/index.d.ts +20 -9
  824. package/dist/cssm/index.js +11 -13
  825. package/dist/cssm/index.js.map +1 -1
  826. package/dist/cssm/lib/calendar.js +4 -15
  827. package/dist/cssm/lib/calendar.js.map +1 -1
  828. package/dist/cssm/lib/date.d.ts +29 -0
  829. package/dist/cssm/lib/date.js +223 -0
  830. package/dist/cssm/lib/date.js.map +1 -0
  831. package/dist/cssm/lib/getNavId.d.ts +2 -1
  832. package/dist/cssm/lib/getNavId.js +1 -1
  833. package/dist/cssm/lib/getNavId.js.map +1 -1
  834. package/dist/cssm/lib/warnOnce.d.ts +2 -1
  835. package/dist/cssm/lib/warnOnce.js +3 -1
  836. package/dist/cssm/lib/warnOnce.js.map +1 -1
  837. package/dist/cssm/styles/common.css +1 -1
  838. package/dist/cssm/styles/components.css +21 -6
  839. package/dist/cssm/styles/constants.css +8 -1
  840. package/dist/cssm/styles/themes.css +1 -1
  841. package/dist/cssm/styles/unstable.css +1 -1
  842. package/dist/cssm/tokenized/index.d.ts +22 -4
  843. package/dist/cssm/tokenized/index.js +13 -4
  844. package/dist/cssm/tokenized/index.js.map +1 -1
  845. package/dist/helpers/scheme.js +2 -2
  846. package/dist/helpers/scheme.js.map +1 -1
  847. package/dist/hooks/useBridgeAdaptivity.d.ts +6 -0
  848. package/dist/hooks/useBridgeAdaptivity.js +68 -0
  849. package/dist/hooks/useBridgeAdaptivity.js.map +1 -0
  850. package/dist/hooks/useCalendar.js +1 -1
  851. package/dist/hooks/useCalendar.js.map +1 -1
  852. package/dist/hooks/useKeyboard.d.ts +1 -1
  853. package/dist/hooks/useKeyboard.js +1 -1
  854. package/dist/hooks/useKeyboard.js.map +1 -1
  855. package/dist/hooks/usePagination.d.ts +3 -3
  856. package/dist/hooks/usePagination.js +3 -3
  857. package/dist/hooks/usePagination.js.map +1 -1
  858. package/dist/hooks/usePatchChildrenRef.js +1 -1
  859. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  860. package/dist/hooks/useWaitTransitionFinish.js +5 -1
  861. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  862. package/dist/index.d.ts +20 -9
  863. package/dist/index.js +11 -13
  864. package/dist/index.js.map +1 -1
  865. package/dist/lib/calendar.js +4 -15
  866. package/dist/lib/calendar.js.map +1 -1
  867. package/dist/lib/date.d.ts +29 -0
  868. package/dist/lib/date.js +223 -0
  869. package/dist/lib/date.js.map +1 -0
  870. package/dist/lib/getNavId.d.ts +2 -1
  871. package/dist/lib/getNavId.js +1 -1
  872. package/dist/lib/getNavId.js.map +1 -1
  873. package/dist/lib/warnOnce.d.ts +2 -1
  874. package/dist/lib/warnOnce.js +3 -1
  875. package/dist/lib/warnOnce.js.map +1 -1
  876. package/dist/tokenized/index.d.ts +22 -4
  877. package/dist/tokenized/index.js +13 -4
  878. package/dist/tokenized/index.js.map +1 -1
  879. package/dist/unstable.css +1 -1
  880. package/dist/unstable.css.map +1 -1
  881. package/dist/vkui.css +22 -7
  882. package/dist/vkui.css.map +1 -1
  883. package/eslint-plugin-vkui/index.js +64 -0
  884. package/eslint-plugin-vkui/package.json +5 -0
  885. package/jest.unit.config.js +4 -1
  886. package/package.json +4 -3
  887. package/postcss-plugin-vk-sans/__tests__/custom_properties.css +4 -0
  888. package/postcss-plugin-vk-sans/index.js +343 -0
  889. package/src/components/ActionSheet/ActionSheet.tsx +1 -1
  890. package/src/components/ActionSheet/ActionSheetDropdown.tsx +1 -0
  891. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -1
  892. package/src/components/ActionSheetItem/ActionSheetItem.tsx +3 -2
  893. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +50 -19
  894. package/src/components/Alert/Alert.tsx +5 -4
  895. package/src/components/AppRoot/AppRoot.tsx +2 -1
  896. package/src/components/Avatar/Avatar.tsx +3 -0
  897. package/src/components/Banner/Banner.tsx +3 -2
  898. package/src/components/Button/Button.css +7 -7
  899. package/src/components/Button/Button.tsx +25 -36
  900. package/src/components/Calendar/Calendar.tsx +4 -3
  901. package/src/components/Calendar/Readme.md +2 -2
  902. package/src/components/CalendarDay/CalendarDay.tsx +3 -0
  903. package/src/components/CalendarDays/CalendarDays.tsx +1 -1
  904. package/src/components/CalendarHeader/CalendarHeader.tsx +11 -10
  905. package/src/components/CalendarRange/CalendarRange.tsx +2 -5
  906. package/src/components/CalendarRange/Readme.md +2 -2
  907. package/src/components/CalendarTime/CalendarTime.tsx +3 -3
  908. package/src/components/CardScroll/CardScroll.tsx +3 -1
  909. package/src/components/Cell/Cell.tsx +4 -3
  910. package/src/components/CellButton/CellButton.tsx +1 -0
  911. package/src/components/Chip/Chip.tsx +1 -0
  912. package/src/components/ChipsInput/ChipsInput.css +4 -4
  913. package/src/components/ChipsInput/ChipsInput.tsx +7 -8
  914. package/src/components/ChipsSelect/ChipsSelect.css +1 -1
  915. package/src/components/ChipsSelect/ChipsSelect.tsx +9 -7
  916. package/src/components/ClickPopper/ClickPopper.tsx +1 -1
  917. package/src/components/ContentCard/ContentCard.tsx +2 -1
  918. package/src/components/CustomSelect/CustomSelect.css +1 -1
  919. package/src/components/CustomSelect/CustomSelect.tsx +23 -20
  920. package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +10 -5
  921. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +6 -5
  922. package/src/components/CustomSelectOption/CustomSelectOption.css +17 -5
  923. package/src/components/CustomSelectOption/CustomSelectOption.tsx +55 -17
  924. package/src/components/CustomSelectOption/Readme.md +47 -28
  925. package/src/components/DateInput/DateInput.css +1 -1
  926. package/src/components/DateInput/DateInput.tsx +3 -3
  927. package/src/components/DateInput/Readme.md +1 -1
  928. package/src/components/DatePicker/DatePicker.tsx +2 -2
  929. package/src/components/DateRangeInput/DateRangeInput.tsx +3 -3
  930. package/src/components/DateRangeInput/Readme.md +1 -1
  931. package/src/components/Epic/Readme.md +5 -1
  932. package/src/components/File/File.tsx +1 -1
  933. package/src/components/FixedLayout/FixedLayout.tsx +1 -0
  934. package/src/components/FormField/FormField.css +20 -45
  935. package/src/components/FormField/FormField.tsx +5 -6
  936. package/src/components/FormItem/FormItem.tsx +2 -1
  937. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -0
  938. package/src/components/Gallery/Gallery.tsx +14 -2
  939. package/src/components/GridAvatar/GridAvatar.css +10 -13
  940. package/src/components/GridAvatar/GridAvatar.tsx +12 -24
  941. package/src/components/Group/Group.tsx +1 -0
  942. package/src/components/Header/Header.tsx +9 -3
  943. package/src/components/HorizontalCell/HorizontalCell.tsx +1 -1
  944. package/src/components/HorizontalScroll/HorizontalScroll.tsx +41 -39
  945. package/src/components/InfoRow/InfoRow.tsx +1 -1
  946. package/src/components/Input/Input.css +4 -4
  947. package/src/components/Input/Input.tsx +5 -9
  948. package/src/components/InputLike/InputLike.css +1 -1
  949. package/src/components/InputLike/InputLikeDivider.css +1 -1
  950. package/src/components/List/List.tsx +1 -0
  951. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -0
  952. package/src/components/ModalCard/ModalCard.css +0 -10
  953. package/src/components/ModalCard/ModalCard.tsx +1 -0
  954. package/src/components/ModalCardBase/ModalCardBase.css +10 -0
  955. package/src/components/ModalCardBase/ModalCardBase.tsx +15 -2
  956. package/src/components/ModalPage/ModalPage.tsx +19 -0
  957. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -0
  958. package/src/components/ModalRoot/ModalRoot.tsx +33 -10
  959. package/src/components/ModalRoot/ModalRootAdaptive.tsx +17 -2
  960. package/src/components/ModalRoot/ModalRootDesktop.tsx +25 -7
  961. package/src/components/ModalRoot/Readme.md +112 -0
  962. package/src/components/ModalRoot/types.ts +16 -1
  963. package/src/components/ModalRoot/useModalManager.tsx +60 -15
  964. package/src/components/NativeSelect/NativeSelect.tsx +1 -0
  965. package/src/components/Pagination/Pagination.tsx +4 -4
  966. package/src/components/Pagination/Readme.md +1 -1
  967. package/src/components/Panel/Panel.tsx +1 -0
  968. package/src/components/PanelHeader/PanelHeader.tsx +1 -0
  969. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -0
  970. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +4 -2
  971. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -0
  972. package/src/components/Placeholder/Placeholder.tsx +2 -1
  973. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -0
  974. package/src/components/Popper/Popper.tsx +2 -2
  975. package/src/components/PromoBanner/PromoBanner.tsx +1 -1
  976. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -0
  977. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +1 -0
  978. package/src/components/RichCell/RichCell.tsx +2 -1
  979. package/src/components/RichTooltip/Readme.md +2 -2
  980. package/src/components/RichTooltip/RichTooltip.tsx +1 -0
  981. package/src/components/Root/Root.css +4 -11
  982. package/src/components/Root/Root.tsx +7 -6
  983. package/src/components/Search/Search.tsx +2 -1
  984. package/src/components/SegmentedControl/SegmentedControl.tsx +20 -10
  985. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  986. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +1 -0
  987. package/src/components/Select/Select.css +2 -2
  988. package/src/components/Select/Select.tsx +3 -4
  989. package/src/components/SelectMimicry/SelectMimicry.tsx +1 -0
  990. package/src/components/Separator/Separator.tsx +2 -0
  991. package/src/components/SimpleCell/SimpleCell.tsx +3 -2
  992. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +7 -2
  993. package/src/components/SliderSwitch/SliderSwitch.tsx +1 -0
  994. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -0
  995. package/src/components/Snackbar/Snackbar.tsx +2 -1
  996. package/src/components/Spacing/Spacing.tsx +1 -0
  997. package/src/components/SplitCol/SplitCol.tsx +1 -0
  998. package/src/components/SplitLayout/SplitLayout.tsx +1 -0
  999. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -1
  1000. package/src/components/SubnavigationButton/SubnavigationButton.tsx +2 -1
  1001. package/src/components/Switch/Switch.tsx +1 -0
  1002. package/src/components/Tabbar/Tabbar.tsx +1 -0
  1003. package/src/components/TabbarItem/TabbarItem.css +1 -0
  1004. package/src/components/TabbarItem/TabbarItem.tsx +1 -0
  1005. package/src/components/Tabs/Readme.md +7 -7
  1006. package/src/components/TabsItem/TabsItem.tsx +2 -1
  1007. package/src/components/Tappable/Tappable.css +5 -0
  1008. package/src/components/Tappable/Tappable.tsx +5 -2
  1009. package/src/components/TextTooltip/TextTooltip.tsx +1 -1
  1010. package/src/components/Tooltip/Tooltip.tsx +5 -4
  1011. package/src/components/Touch/Touch.tsx +6 -3
  1012. package/src/components/Touch/TouchContext.ts +1 -1
  1013. package/src/components/Typography/Caption/Caption.css +3 -3
  1014. package/src/components/Typography/Paragraph/Paragraph.css +17 -0
  1015. package/src/components/Typography/Paragraph/Paragraph.tsx +42 -0
  1016. package/src/components/Typography/Paragraph/Readme.md +19 -0
  1017. package/src/components/Typography/Subhead/Subhead.tsx +3 -7
  1018. package/src/components/Typography/Text/Text.tsx +1 -1
  1019. package/src/components/Typography/Title/Title.tsx +7 -10
  1020. package/src/components/UsersStack/UsersStack.tsx +2 -1
  1021. package/src/components/View/Readme.md +1 -1
  1022. package/src/components/View/View.css +1 -1
  1023. package/src/components/View/View.tsx +4 -0
  1024. package/src/components/View/ViewIOS.css +2 -2
  1025. package/src/components/View/ViewInfinite.tsx +4 -0
  1026. package/src/components/View/utils.ts +2 -1
  1027. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -1
  1028. package/src/helpers/scheme.ts +3 -2
  1029. package/src/hooks/useBridgeAdaptivity.ts +83 -0
  1030. package/src/hooks/useCalendar.ts +1 -1
  1031. package/src/hooks/useKeyboard.ts +1 -1
  1032. package/src/hooks/usePagination.ts +5 -5
  1033. package/src/hooks/usePatchChildrenRef.ts +2 -2
  1034. package/src/hooks/useWaitTransitionFinish.ts +7 -1
  1035. package/src/index.ts +20 -9
  1036. package/src/lib/calendar.ts +7 -7
  1037. package/src/lib/date.ts +274 -0
  1038. package/src/lib/getNavId.ts +4 -2
  1039. package/src/lib/warnOnce.ts +9 -3
  1040. package/src/styles/components.css +1 -0
  1041. package/src/styles/constants.css +8 -1
  1042. package/src/testing/utils.tsx +10 -1
  1043. package/src/tokenized/index.ts +31 -4
  1044. package/tsconfig.json +2 -0
  1045. package/.cache/ts/src/helpers/typography.d.ts +0 -1
  1046. package/dist/cjs/helpers/typography.d.ts +0 -1
  1047. package/dist/cjs/helpers/typography.js +0 -25
  1048. package/dist/cjs/helpers/typography.js.map +0 -1
  1049. package/dist/cssm/helpers/typography.d.ts +0 -1
  1050. package/dist/cssm/helpers/typography.js +0 -18
  1051. package/dist/cssm/helpers/typography.js.map +0 -1
  1052. package/dist/helpers/typography.d.ts +0 -1
  1053. package/dist/helpers/typography.js +0 -18
  1054. package/dist/helpers/typography.js.map +0 -1
  1055. package/src/helpers/typography.ts +0 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Gallery/Gallery.tsx"],"names":["React","getClassName","Touch","classNames","withPlatform","withDOM","setRef","withAdaptivity","HorizontalScrollArrow","clamp","useTimeout","BaseGallery","props","setState","animation","e","isDraggable","isFullyVisible","originalEvent","preventDefault","isSlideX","onDragStart","state","deltaX","shiftX","dragging","targetIndex","isSlide","getTarget","slideIndex","onDragEnd","onChange","onEnd","initializeSlides","canSlideLeft","canSlideRight","id","slide","slidesStore","viewport","getRef","container","getRootRef","containerWidth","slides","duration","slideWidth","align","options","Children","map","children","_item","i","elem","coordX","offsetLeft","width","offsetWidth","layerWidth","reduce","val","min","calcMin","max","calcMax","undefined","calculateIndent","isValidShift","validateIndent","window","requestAnimationFrame","viewportWidth","isCenterWithCustomWidth","length","targetSlide","indent","Number","value","expectDeltaX","shift","direction","item","index","previousValue","Math","abs","currentValue","addEventListener","onResize","prevProps","widthChanged","isPropUpdate","slideCountChanged","count","isCustomWidth","removeEventListener","bullets","platform","hasMouse","showArrows","document","restProps","calculateDragIndent","layerStyle","WebkitTransform","transform","WebkitTransition","transition","onStart","onMoveX","getViewportRef","getSlideRef","slideLeft","slideRight","Component","BaseGalleryAdaptive","Gallery","initialSlideIndex","timeout","useState","localSlideIndex","setSlideIndex","isControlled","Boolean","toArray","filter","childCount","handleChange","useCallback","current","autoplay","useEffect","set","clear","safeSlideIndex"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Touch, TouchEventHandler, TouchEvent } from \"../Touch/Touch\";\nimport { classNames } from \"../../lib/classNames\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { HasAlign, HasPlatform, HasRef, HasRootRef } from \"../../types\";\nimport { withDOM, DOMProps } from \"../../lib/dom\";\nimport { setRef } from \"../../lib/utils\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport HorizontalScrollArrow from \"../HorizontalScroll/HorizontalScrollArrow\";\nimport { clamp } from \"../../helpers/math\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport \"./Gallery.css\";\n\nexport interface BaseGalleryProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"onChange\" | \"onDragStart\" | \"onDragEnd\"\n >,\n HasPlatform,\n HasAlign,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLElement> {\n slideWidth?: string | number;\n slideIndex?: number;\n onDragStart?: TouchEventHandler;\n onDragEnd?: TouchEventHandler;\n onChange?(current: number): void;\n onEnd?({ targetIndex }: { targetIndex: number }): void;\n bullets?: \"dark\" | \"light\" | false;\n isDraggable?: boolean;\n showArrows?: boolean;\n}\n\nexport interface GalleryProps extends BaseGalleryProps {\n initialSlideIndex?: number;\n timeout?: number;\n}\n\nexport interface GalleryState {\n containerWidth: number;\n layerWidth?: number;\n min?: number;\n max?: number;\n deltaX: number;\n shiftX: number;\n slides: GallerySlidesState[];\n animation: boolean;\n duration: number;\n dragging?: boolean;\n}\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\ntype GetSlideRef = (index: number) => React.RefCallback<HTMLElement>;\n\nclass BaseGallery extends React.Component<\n BaseGalleryProps & DOMProps & AdaptivityProps,\n GalleryState\n> {\n constructor(props: GalleryProps) {\n super(props);\n\n this.state = {\n containerWidth: 0,\n deltaX: 0,\n shiftX: 0,\n slides: [],\n animation: true,\n duration: 0.24,\n };\n\n this.slidesStore = {};\n }\n\n container: HTMLDivElement | null = null;\n slidesStore: {\n [index: string]: HTMLElement | null;\n };\n viewport: HTMLElement | null = null;\n\n static defaultProps: Partial<BaseGalleryProps> = {\n slideWidth: \"100%\",\n children: \"\",\n align: \"left\",\n bullets: false,\n isDraggable: true,\n };\n\n get isCenterWithCustomWidth() {\n return this.props.slideWidth === \"custom\" && this.props.align === \"center\";\n }\n\n initializeSlides(options: { animation?: boolean } = {}) {\n const slides =\n React.Children.map(\n this.props.children,\n (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = this.slidesStore[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }\n ) ?? [];\n\n const containerWidth = this.container?.offsetWidth ?? 0;\n const layerWidth = slides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0\n );\n\n const min = this.calcMin({ containerWidth, layerWidth, slides });\n const max = this.calcMax({ slides });\n\n this.setState({ min, max, layerWidth, containerWidth, slides }, () => {\n if (this.props.slideIndex !== undefined) {\n const shiftX = this.calculateIndent(this.props.slideIndex);\n if (this.state.shiftX === shiftX) {\n return;\n }\n const isValidShift =\n this.state.shiftX === this.validateIndent(this.state.shiftX);\n const { animation = isValidShift } = options;\n this.setState({ shiftX, animation }, () => {\n if (!this.state.animation) {\n this.props.window?.requestAnimationFrame(() =>\n this.setState({ animation: true })\n );\n }\n });\n }\n });\n }\n\n calcMin({\n containerWidth,\n layerWidth = 0,\n slides,\n }: Pick<GalleryState, \"containerWidth\" | \"layerWidth\" | \"slides\">) {\n const viewportWidth = this.viewport?.offsetWidth ?? 0;\n switch (this.props.align) {\n case \"left\":\n return containerWidth - layerWidth;\n case \"right\":\n return viewportWidth - layerWidth;\n case \"center\":\n if (this.isCenterWithCustomWidth && slides.length) {\n const { coordX, width } = slides[slides.length - 1];\n return viewportWidth / 2 - coordX - width / 2;\n } else {\n return (\n viewportWidth - (containerWidth - viewportWidth) / 2 - layerWidth\n );\n }\n }\n return undefined;\n }\n\n calcMax({ slides }: Pick<GalleryState, \"slides\">) {\n const viewportWidth = this.viewport?.offsetWidth ?? 0;\n if (this.isCenterWithCustomWidth && slides.length) {\n const { width, coordX } = slides[0];\n return viewportWidth / 2 - coordX - width / 2;\n } else {\n return 0;\n }\n }\n\n /*\n * Считает отступ слоя галереи\n */\n calculateIndent(targetIndex: number) {\n const { slides } = this.state;\n\n if (this.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = slides.length ? slides[targetIndex] : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (this.isCenterWithCustomWidth) {\n const viewportWidth = this.viewport?.offsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return this.validateIndent(-1 * coordX);\n } else {\n return 0;\n }\n }\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n calculateDragIndent() {\n const { shiftX, deltaX, min = 0, max = 0 } = this.state;\n const indent = shiftX + deltaX;\n\n if (indent > max) {\n return max + Number((indent - max) / 3);\n } else if (indent < min) {\n return min + Number((indent - min) / 3);\n }\n\n return indent;\n }\n\n validateIndent(value: number) {\n const { min = 0, max = 0 } = this.state;\n\n if (value < min) {\n return min;\n } else if (value > max) {\n return max;\n }\n\n return value;\n }\n\n get isFullyVisible() {\n return (this.state.layerWidth ?? 0) <= this.state.containerWidth;\n }\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n getTarget(e: TouchEvent) {\n const { slides, deltaX, shiftX, max = 0 } = this.state;\n const { slideIndex = 0 } = this.props;\n const expectDeltaX = (deltaX / e.duration) * 240 * 0.6;\n const shift = shiftX + deltaX + expectDeltaX - max;\n const direction = deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < slides.length) {\n if (Math.abs(deltaX) > slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n }\n\n onStart: TouchEventHandler = () => {\n this.setState({\n animation: false,\n });\n };\n\n onMoveX: TouchEventHandler = (e: TouchEvent) => {\n if (this.props.isDraggable && !this.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n this.props.onDragStart && this.props.onDragStart(e);\n\n if (\n this.state.deltaX !== e.shiftX ||\n this.state.dragging !== e.isSlideX\n ) {\n this.setState({\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n });\n }\n }\n }\n };\n\n onEnd: TouchEventHandler = (e: TouchEvent) => {\n const targetIndex = e.isSlide\n ? this.getTarget(e)\n : this.props.slideIndex ?? 0;\n this.props.onDragEnd && this.props.onDragEnd(e);\n this.setState({ deltaX: 0, animation: true }, () =>\n this.props.onChange?.(targetIndex)\n );\n\n if (this.props.onEnd) {\n this.props.onEnd({ targetIndex });\n }\n };\n\n onResize: VoidFunction = () => this.initializeSlides({ animation: false });\n\n get canSlideLeft() {\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n return !this.isFullyVisible && this.state.shiftX < 0;\n }\n\n get canSlideRight() {\n const { containerWidth, layerWidth = 0, shiftX, slides } = this.state;\n const { align, slideIndex = 0 } = this.props;\n return (\n !this.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === \"left\" && containerWidth - shiftX < layerWidth) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== \"left\" && slideIndex < slides.length - 1))\n );\n }\n\n slideLeft = () => {\n const { slideIndex = 0, onChange } = this.props;\n if (this.canSlideLeft) {\n this.setState({ deltaX: 0, animation: true }, () =>\n onChange?.(slideIndex - 1)\n );\n }\n };\n\n slideRight = () => {\n const { slideIndex = 0, onChange } = this.props;\n if (this.canSlideRight) {\n this.setState({ deltaX: 0, animation: true }, () =>\n onChange?.(slideIndex + 1)\n );\n }\n };\n\n getSlideRef: GetSlideRef = (id: number) => (slide) => {\n this.slidesStore[`slide-${id}`] = slide;\n };\n\n getViewportRef: React.RefCallback<HTMLElement> = (viewport) => {\n this.viewport = viewport;\n if (this.props.getRef) {\n setRef(viewport, this.props.getRef);\n }\n };\n\n getRootRef: React.RefCallback<HTMLDivElement> = (container) => {\n this.container = container;\n if (this.props.getRootRef) {\n setRef(container, this.props.getRootRef);\n }\n };\n\n componentDidMount() {\n this.initializeSlides({ animation: false });\n this.props.window!.addEventListener(\"resize\", this.onResize);\n }\n\n componentDidUpdate(prevProps: GalleryProps) {\n const widthChanged = this.props.slideWidth !== prevProps.slideWidth;\n const isPropUpdate = this.props !== prevProps;\n const slideCountChanged =\n React.Children.count(this.props.children) !==\n React.Children.count(prevProps.children);\n const isCustomWidth = this.props.slideWidth === \"custom\";\n\n // в любом из этих случаев позиция могла поменяться\n if (widthChanged || slideCountChanged || (isCustomWidth && isPropUpdate)) {\n this.initializeSlides();\n } else if (this.props.slideIndex !== prevProps.slideIndex) {\n this.setState({\n animation: true,\n deltaX: 0,\n shiftX: this.calculateIndent(this.props.slideIndex ?? 0),\n });\n }\n }\n\n componentWillUnmount() {\n this.props.window!.removeEventListener(\"resize\", this.onResize);\n }\n\n render() {\n const { animation, duration, dragging } = this.state;\n const {\n children,\n slideWidth,\n slideIndex = 0,\n isDraggable,\n onDragStart,\n onDragEnd,\n onChange,\n onEnd,\n align,\n bullets,\n platform,\n hasMouse,\n showArrows,\n window,\n document,\n getRef,\n getRootRef,\n ...restProps\n } = this.props;\n\n const indent = dragging\n ? this.calculateDragIndent()\n : this.calculateIndent(slideIndex);\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: animation\n ? `-webkit-transform ${duration}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n transition: animation\n ? `transform ${duration}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n };\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Gallery\", platform),\n `Gallery--${align}`,\n {\n \"Gallery--dragging\": dragging,\n \"Gallery--custom-width\": slideWidth === \"custom\",\n }\n )}\n ref={this.getRootRef}\n >\n <Touch\n vkuiClass=\"Gallery__viewport\"\n onStartX={this.onStart}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n noSlideClick\n style={{ width: slideWidth === \"custom\" ? \"100%\" : slideWidth }}\n getRootRef={this.getViewportRef}\n >\n <div vkuiClass=\"Gallery__layer\" style={layerStyle}>\n {React.Children.map(\n children,\n (item: React.ReactNode, i: number) => (\n <div\n vkuiClass=\"Gallery__slide\"\n key={`slide-${i}`}\n ref={this.getSlideRef(i)}\n >\n {item}\n </div>\n )\n )}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden=\"true\"\n vkuiClass={classNames(\n \"Gallery__bullets\",\n `Gallery__bullets--${bullets}`\n )}\n >\n {React.Children.map(\n children,\n (_item: React.ReactNode, index: number) => (\n <div\n vkuiClass={classNames(\"Gallery__bullet\", {\n \"Gallery__bullet--active\": index === slideIndex,\n })}\n key={index}\n />\n )\n )}\n </div>\n )}\n\n {showArrows && hasMouse && this.canSlideLeft && (\n <HorizontalScrollArrow direction=\"left\" onClick={this.slideLeft} />\n )}\n {showArrows && hasMouse && this.canSlideRight && (\n <HorizontalScrollArrow direction=\"right\" onClick={this.slideRight} />\n )}\n </div>\n );\n }\n}\n\nconst BaseGalleryAdaptive = withAdaptivity(withDOM(BaseGallery), {\n hasMouse: true,\n});\n\nconst Gallery: React.FC<GalleryProps> = ({\n initialSlideIndex = 0,\n children,\n timeout = 0,\n onChange,\n ...props\n}: GalleryProps) => {\n const [localSlideIndex, setSlideIndex] = React.useState(initialSlideIndex);\n const isControlled = typeof props.slideIndex === \"number\";\n const slideIndex = isControlled ? props.slideIndex ?? 0 : localSlideIndex;\n const isDraggable = !isControlled || Boolean(onChange);\n const slides = React.Children.toArray(children).filter((item) =>\n Boolean(item)\n );\n const childCount = slides.length;\n\n const handleChange: GalleryProps[\"onChange\"] = React.useCallback(\n (current) => {\n if (current === slideIndex) {\n return;\n }\n !isControlled && setSlideIndex(current);\n onChange && onChange(current);\n },\n [isControlled, onChange, slideIndex]\n );\n\n const autoplay = useTimeout(\n () => handleChange((slideIndex + 1) % childCount),\n timeout\n );\n React.useEffect(\n () => (timeout ? autoplay.set() : autoplay.clear()),\n [timeout, slideIndex, autoplay]\n );\n\n // prevent invalid slideIndex\n // any slide index is invalid with no slides, just keep it as is\n const safeSlideIndex =\n childCount > 0 ? clamp(slideIndex, 0, childCount - 1) : slideIndex;\n // notify parent in controlled mode\n React.useEffect(() => {\n if (onChange && safeSlideIndex !== slideIndex) {\n onChange(safeSlideIndex);\n }\n }, [onChange, safeSlideIndex, slideIndex]);\n\n return (\n <BaseGalleryAdaptive\n isDraggable={isDraggable}\n {...props}\n slideIndex={safeSlideIndex}\n onChange={handleChange}\n >\n {slides}\n </BaseGalleryAdaptive>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withPlatform(Gallery);\n"],"file":"Gallery.js"}
1
+ {"version":3,"sources":["../../../src/components/Gallery/Gallery.tsx"],"names":["React","getClassName","Touch","classNames","withPlatform","withDOM","setRef","withAdaptivity","HorizontalScrollArrow","clamp","useTimeout","BaseGallery","props","setState","animation","e","isDraggable","isFullyVisible","originalEvent","preventDefault","isSlideX","onDragStart","state","deltaX","shiftX","dragging","targetIndex","isSlide","getTarget","slideIndex","onDragEnd","onChange","onEnd","initializeSlides","onPrevClick","canSlideLeft","onNextClick","canSlideRight","id","slide","slidesStore","viewport","getRef","container","getRootRef","containerWidth","slides","duration","slideWidth","align","options","Children","map","children","_item","i","elem","coordX","offsetLeft","width","offsetWidth","layerWidth","reduce","val","min","calcMin","max","calcMax","undefined","calculateIndent","isValidShift","validateIndent","window","requestAnimationFrame","viewportWidth","isCenterWithCustomWidth","length","targetSlide","indent","Number","value","expectDeltaX","shift","direction","item","index","previousValue","Math","abs","currentValue","addEventListener","onResize","prevProps","widthChanged","isPropUpdate","slideCountChanged","count","isCustomWidth","removeEventListener","bullets","platform","hasMouse","showArrows","document","restProps","calculateDragIndent","layerStyle","WebkitTransform","transform","WebkitTransition","transition","onStart","onMoveX","getViewportRef","getSlideRef","slideLeft","slideRight","Component","BaseGalleryAdaptive","Gallery","initialSlideIndex","timeout","useState","localSlideIndex","setSlideIndex","isControlled","Boolean","toArray","filter","childCount","handleChange","useCallback","current","autoplay","useEffect","set","clear","safeSlideIndex"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Touch, TouchEventHandler, TouchEvent } from \"../Touch/Touch\";\nimport { classNames } from \"../../lib/classNames\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { HasAlign, HasPlatform, HasRef, HasRootRef } from \"../../types\";\nimport { withDOM, DOMProps } from \"../../lib/dom\";\nimport { setRef } from \"../../lib/utils\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport HorizontalScrollArrow from \"../HorizontalScroll/HorizontalScrollArrow\";\nimport { clamp } from \"../../helpers/math\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport \"./Gallery.css\";\n\nexport interface BaseGalleryProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"onChange\" | \"onDragStart\" | \"onDragEnd\"\n >,\n HasPlatform,\n HasAlign,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLElement> {\n slideWidth?: string | number;\n slideIndex?: number;\n onDragStart?: TouchEventHandler;\n onDragEnd?: TouchEventHandler;\n onChange?(current: number): void;\n onEnd?({ targetIndex }: { targetIndex: number }): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку влево\n */\n onPrevClick?(): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку вправо\n */\n onNextClick?(): void;\n bullets?: \"dark\" | \"light\" | false;\n isDraggable?: boolean;\n showArrows?: boolean;\n}\n\nexport interface GalleryProps extends BaseGalleryProps {\n initialSlideIndex?: number;\n timeout?: number;\n}\n\nexport interface GalleryState {\n containerWidth: number;\n layerWidth?: number;\n min?: number;\n max?: number;\n deltaX: number;\n shiftX: number;\n slides: GallerySlidesState[];\n animation: boolean;\n duration: number;\n dragging?: boolean;\n}\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\ntype GetSlideRef = (index: number) => React.RefCallback<HTMLElement>;\n\nclass BaseGallery extends React.Component<\n BaseGalleryProps & DOMProps & AdaptivityProps,\n GalleryState\n> {\n constructor(props: GalleryProps) {\n super(props);\n\n this.state = {\n containerWidth: 0,\n deltaX: 0,\n shiftX: 0,\n slides: [],\n animation: true,\n duration: 0.24,\n };\n\n this.slidesStore = {};\n }\n\n container: HTMLDivElement | null = null;\n slidesStore: {\n [index: string]: HTMLElement | null;\n };\n viewport: HTMLElement | null = null;\n\n static defaultProps: Partial<BaseGalleryProps> = {\n slideWidth: \"100%\",\n children: \"\",\n align: \"left\",\n bullets: false,\n isDraggable: true,\n };\n\n get isCenterWithCustomWidth() {\n return this.props.slideWidth === \"custom\" && this.props.align === \"center\";\n }\n\n initializeSlides(options: { animation?: boolean } = {}) {\n const slides =\n React.Children.map(\n this.props.children,\n (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = this.slidesStore[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }\n ) ?? [];\n\n const containerWidth = this.container?.offsetWidth ?? 0;\n const layerWidth = slides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0\n );\n\n const min = this.calcMin({ containerWidth, layerWidth, slides });\n const max = this.calcMax({ slides });\n\n this.setState({ min, max, layerWidth, containerWidth, slides }, () => {\n if (this.props.slideIndex !== undefined) {\n const shiftX = this.calculateIndent(this.props.slideIndex);\n if (this.state.shiftX === shiftX) {\n return;\n }\n const isValidShift =\n this.state.shiftX === this.validateIndent(this.state.shiftX);\n const { animation = isValidShift } = options;\n this.setState({ shiftX, animation }, () => {\n if (!this.state.animation) {\n this.props.window?.requestAnimationFrame(() =>\n this.setState({ animation: true })\n );\n }\n });\n }\n });\n }\n\n calcMin({\n containerWidth,\n layerWidth = 0,\n slides,\n }: Pick<GalleryState, \"containerWidth\" | \"layerWidth\" | \"slides\">) {\n const viewportWidth = this.viewport?.offsetWidth ?? 0;\n switch (this.props.align) {\n case \"left\":\n return containerWidth - layerWidth;\n case \"right\":\n return viewportWidth - layerWidth;\n case \"center\":\n if (this.isCenterWithCustomWidth && slides.length) {\n const { coordX, width } = slides[slides.length - 1];\n return viewportWidth / 2 - coordX - width / 2;\n } else {\n return (\n viewportWidth - (containerWidth - viewportWidth) / 2 - layerWidth\n );\n }\n }\n return undefined;\n }\n\n calcMax({ slides }: Pick<GalleryState, \"slides\">) {\n const viewportWidth = this.viewport?.offsetWidth ?? 0;\n if (this.isCenterWithCustomWidth && slides.length) {\n const { width, coordX } = slides[0];\n return viewportWidth / 2 - coordX - width / 2;\n } else {\n return 0;\n }\n }\n\n /*\n * Считает отступ слоя галереи\n */\n calculateIndent(targetIndex: number) {\n const { slides } = this.state;\n\n if (this.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = slides.length ? slides[targetIndex] : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (this.isCenterWithCustomWidth) {\n const viewportWidth = this.viewport?.offsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return this.validateIndent(-1 * coordX);\n } else {\n return 0;\n }\n }\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n calculateDragIndent() {\n const { shiftX, deltaX, min = 0, max = 0 } = this.state;\n const indent = shiftX + deltaX;\n\n if (indent > max) {\n return max + Number((indent - max) / 3);\n } else if (indent < min) {\n return min + Number((indent - min) / 3);\n }\n\n return indent;\n }\n\n validateIndent(value: number) {\n const { min = 0, max = 0 } = this.state;\n\n if (value < min) {\n return min;\n } else if (value > max) {\n return max;\n }\n\n return value;\n }\n\n get isFullyVisible() {\n return (this.state.layerWidth ?? 0) <= this.state.containerWidth;\n }\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n getTarget(e: TouchEvent) {\n const { slides, deltaX, shiftX, max = 0 } = this.state;\n const { slideIndex = 0 } = this.props;\n const expectDeltaX = (deltaX / e.duration) * 240 * 0.6;\n const shift = shiftX + deltaX + expectDeltaX - max;\n const direction = deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < slides.length) {\n if (Math.abs(deltaX) > slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n }\n\n onStart: TouchEventHandler = () => {\n this.setState({\n animation: false,\n });\n };\n\n onMoveX: TouchEventHandler = (e: TouchEvent) => {\n if (this.props.isDraggable && !this.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n this.props.onDragStart && this.props.onDragStart(e);\n\n if (\n this.state.deltaX !== e.shiftX ||\n this.state.dragging !== e.isSlideX\n ) {\n this.setState({\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n });\n }\n }\n }\n };\n\n onEnd: TouchEventHandler = (e: TouchEvent) => {\n const targetIndex = e.isSlide\n ? this.getTarget(e)\n : this.props.slideIndex ?? 0;\n this.props.onDragEnd && this.props.onDragEnd(e);\n this.setState({ deltaX: 0, animation: true }, () =>\n this.props.onChange?.(targetIndex)\n );\n\n if (this.props.onEnd) {\n this.props.onEnd({ targetIndex });\n }\n };\n\n onResize: VoidFunction = () => this.initializeSlides({ animation: false });\n\n get canSlideLeft() {\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n return !this.isFullyVisible && this.state.shiftX < 0;\n }\n\n get canSlideRight() {\n const { containerWidth, layerWidth = 0, shiftX, slides } = this.state;\n const { align, slideIndex = 0 } = this.props;\n return (\n !this.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === \"left\" && containerWidth - shiftX < layerWidth) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== \"left\" && slideIndex < slides.length - 1))\n );\n }\n\n slideLeft = () => {\n const { slideIndex = 0, onChange, onPrevClick } = this.props;\n if (this.canSlideLeft) {\n this.setState({ deltaX: 0, animation: true }, () =>\n onChange?.(slideIndex - 1)\n );\n onPrevClick?.();\n }\n };\n\n slideRight = () => {\n const { slideIndex = 0, onChange, onNextClick } = this.props;\n if (this.canSlideRight) {\n this.setState({ deltaX: 0, animation: true }, () =>\n onChange?.(slideIndex + 1)\n );\n onNextClick?.();\n }\n };\n\n getSlideRef: GetSlideRef = (id: number) => (slide) => {\n this.slidesStore[`slide-${id}`] = slide;\n };\n\n getViewportRef: React.RefCallback<HTMLElement> = (viewport) => {\n this.viewport = viewport;\n if (this.props.getRef) {\n setRef(viewport, this.props.getRef);\n }\n };\n\n getRootRef: React.RefCallback<HTMLDivElement> = (container) => {\n this.container = container;\n if (this.props.getRootRef) {\n setRef(container, this.props.getRootRef);\n }\n };\n\n componentDidMount() {\n this.initializeSlides({ animation: false });\n this.props.window!.addEventListener(\"resize\", this.onResize);\n }\n\n componentDidUpdate(prevProps: GalleryProps) {\n const widthChanged = this.props.slideWidth !== prevProps.slideWidth;\n const isPropUpdate = this.props !== prevProps;\n const slideCountChanged =\n React.Children.count(this.props.children) !==\n React.Children.count(prevProps.children);\n const isCustomWidth = this.props.slideWidth === \"custom\";\n\n // в любом из этих случаев позиция могла поменяться\n if (widthChanged || slideCountChanged || (isCustomWidth && isPropUpdate)) {\n this.initializeSlides();\n } else if (this.props.slideIndex !== prevProps.slideIndex) {\n this.setState({\n animation: true,\n deltaX: 0,\n shiftX: this.calculateIndent(this.props.slideIndex ?? 0),\n });\n }\n }\n\n componentWillUnmount() {\n this.props.window!.removeEventListener(\"resize\", this.onResize);\n }\n\n render() {\n const { animation, duration, dragging } = this.state;\n const {\n children,\n slideWidth,\n slideIndex = 0,\n isDraggable,\n onDragStart,\n onDragEnd,\n onChange,\n onEnd,\n align,\n bullets,\n platform,\n hasMouse,\n showArrows,\n window,\n document,\n getRef,\n getRootRef,\n ...restProps\n } = this.props;\n\n const indent = dragging\n ? this.calculateDragIndent()\n : this.calculateIndent(slideIndex);\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: animation\n ? `-webkit-transform ${duration}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n transition: animation\n ? `transform ${duration}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n };\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Gallery\", platform),\n `Gallery--${align}`,\n {\n \"Gallery--dragging\": dragging,\n \"Gallery--custom-width\": slideWidth === \"custom\",\n }\n )}\n ref={this.getRootRef}\n >\n <Touch\n vkuiClass=\"Gallery__viewport\"\n onStartX={this.onStart}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n noSlideClick\n style={{ width: slideWidth === \"custom\" ? \"100%\" : slideWidth }}\n getRootRef={this.getViewportRef}\n >\n <div vkuiClass=\"Gallery__layer\" style={layerStyle}>\n {React.Children.map(\n children,\n (item: React.ReactNode, i: number) => (\n <div\n vkuiClass=\"Gallery__slide\"\n key={`slide-${i}`}\n ref={this.getSlideRef(i)}\n >\n {item}\n </div>\n )\n )}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden=\"true\"\n vkuiClass={classNames(\n \"Gallery__bullets\",\n `Gallery__bullets--${bullets}`\n )}\n >\n {React.Children.map(\n children,\n (_item: React.ReactNode, index: number) => (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Gallery__bullet\", {\n \"Gallery__bullet--active\": index === slideIndex,\n })}\n key={index}\n />\n )\n )}\n </div>\n )}\n\n {showArrows && hasMouse && this.canSlideLeft && (\n <HorizontalScrollArrow direction=\"left\" onClick={this.slideLeft} />\n )}\n {showArrows && hasMouse && this.canSlideRight && (\n <HorizontalScrollArrow direction=\"right\" onClick={this.slideRight} />\n )}\n </div>\n );\n }\n}\n\nconst BaseGalleryAdaptive = withAdaptivity(withDOM(BaseGallery), {\n hasMouse: true,\n});\n\nconst Gallery: React.FC<GalleryProps> = ({\n initialSlideIndex = 0,\n children,\n timeout = 0,\n onChange,\n ...props\n}: GalleryProps) => {\n const [localSlideIndex, setSlideIndex] = React.useState(initialSlideIndex);\n const isControlled = typeof props.slideIndex === \"number\";\n const slideIndex = isControlled ? props.slideIndex ?? 0 : localSlideIndex;\n const isDraggable = !isControlled || Boolean(onChange);\n const slides = React.Children.toArray(children).filter((item) =>\n Boolean(item)\n );\n const childCount = slides.length;\n\n const handleChange: GalleryProps[\"onChange\"] = React.useCallback(\n (current) => {\n if (current === slideIndex) {\n return;\n }\n !isControlled && setSlideIndex(current);\n onChange && onChange(current);\n },\n [isControlled, onChange, slideIndex]\n );\n\n const autoplay = useTimeout(\n () => handleChange((slideIndex + 1) % childCount),\n timeout\n );\n React.useEffect(\n () => (timeout ? autoplay.set() : autoplay.clear()),\n [timeout, slideIndex, autoplay]\n );\n\n // prevent invalid slideIndex\n // any slide index is invalid with no slides, just keep it as is\n const safeSlideIndex =\n childCount > 0 ? clamp(slideIndex, 0, childCount - 1) : slideIndex;\n // notify parent in controlled mode\n React.useEffect(() => {\n if (onChange && safeSlideIndex !== slideIndex) {\n onChange(safeSlideIndex);\n }\n }, [onChange, safeSlideIndex, slideIndex]);\n\n return (\n <BaseGalleryAdaptive\n isDraggable={isDraggable}\n {...props}\n slideIndex={safeSlideIndex}\n onChange={handleChange}\n >\n {slides}\n </BaseGalleryAdaptive>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withPlatform(Gallery);\n"],"file":"Gallery.js"}
@@ -5,4 +5,5 @@ import "./GridAvatar.css";
5
5
  export interface GridAvatarProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement>, Pick<AvatarProps, "size" | "shadow" | "badge"> {
6
6
  src?: string[];
7
7
  }
8
+ export declare const MAX_GRID_LENGTH = 4;
8
9
  export declare const GridAvatar: React.FC<GridAvatarProps>;
@@ -5,8 +5,7 @@ import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import Avatar from "../Avatar/Avatar";
6
6
  import { classNames } from "../../lib/classNames";
7
7
  import { warnOnce } from "../../lib/warnOnce";
8
- var MIN_GRID_LENGTH = 1;
9
- var MAX_GRID_LENGTH = 4;
8
+ export var MAX_GRID_LENGTH = 4;
10
9
  var warn = warnOnce("GridAvatar");
11
10
  export var GridAvatar = function GridAvatar(_ref) {
12
11
  var _ref$src = _ref.src,
@@ -14,14 +13,14 @@ export var GridAvatar = function GridAvatar(_ref) {
14
13
  restProps = _objectWithoutProperties(_ref, _excluded);
15
14
 
16
15
  if (process.env.NODE_ENV === "development" && src.length > MAX_GRID_LENGTH) {
17
- warn("\u0420\u0430\u0437\u043C\u0435\u0440 \u043F\u0440\u043E\u043F\u0430 src (".concat(src.length, ") \u0431\u043E\u043B\u044C\u0448\u0435 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E (").concat(MAX_GRID_LENGTH, ")"));
16
+ warn("\u0414\u043B\u0438\u043D\u0430 \u043C\u0430\u0441\u0441\u0438\u0432\u0430 src (".concat(src.length, ") \u0431\u043E\u043B\u044C\u0448\u0435 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0439 (").concat(MAX_GRID_LENGTH, ")"));
18
17
  }
19
18
 
20
- var count = Math.max(MIN_GRID_LENGTH, Math.min(MAX_GRID_LENGTH, src.length));
21
19
  return createScopedElement(Avatar, _extends({}, restProps, {
22
- vkuiClass: classNames("GridAvatar", "GridAvatar--images-".concat(count))
20
+ vkuiClass: classNames("GridAvatar")
23
21
  }), createScopedElement("div", {
24
- vkuiClass: "GridAvatar__in"
22
+ vkuiClass: "GridAvatar__in",
23
+ "aria-hidden": "true"
25
24
  }, src.slice(0, MAX_GRID_LENGTH).map(function (src, i) {
26
25
  return createScopedElement("div", {
27
26
  key: i,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/GridAvatar/GridAvatar.tsx"],"names":["Avatar","classNames","warnOnce","MIN_GRID_LENGTH","MAX_GRID_LENGTH","warn","GridAvatar","src","restProps","process","env","NODE_ENV","length","count","Math","max","min","slice","map","i","backgroundImage"],"mappings":";;;;AACA,OAAOA,MAAP;AACA,SAASC,UAAT;AACA,SAASC,QAAT;AAWA,IAAMC,eAAe,GAAG,CAAxB;AACA,IAAMC,eAAe,GAAG,CAAxB;AAEA,IAAMC,IAAI,GAAGH,QAAQ,CAAC,YAAD,CAArB;AAEA,OAAO,IAAMI,UAAqC,GAAG,SAAxCA,UAAwC,OAG9B;AAAA,sBAFrBC,GAEqB;AAAA,MAFrBA,GAEqB,yBAFf,EAEe;AAAA,MADlBC,SACkB;;AACrB,MAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0CJ,GAAG,CAACK,MAAJ,GAAaR,eAA3D,EAA4E;AAC1EC,IAAAA,IAAI,oFACmBE,GAAG,CAACK,MADvB,oIACwDR,eADxD,OAAJ;AAGD;;AAED,MAAMS,KAAK,GAAGC,IAAI,CAACC,GAAL,CACZZ,eADY,EAEZW,IAAI,CAACE,GAAL,CAASZ,eAAT,EAA0BG,GAAG,CAACK,MAA9B,CAFY,CAAd;AAKA,SACE,oBAAC,MAAD,eACMJ,SADN;AAEE,IAAA,SAAS,EAAEP,UAAU,CAAC,YAAD,+BAAqCY,KAArC;AAFvB,MAIE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGN,GAAG,CAACU,KAAJ,CAAU,CAAV,EAAab,eAAb,EAA8Bc,GAA9B,CAAkC,UAACX,GAAD,EAAMY,CAAN,EAAY;AAC7C,WACE;AACE,MAAA,GAAG,EAAEA,CADP;AAEE,MAAA,SAAS,EAAC,kBAFZ;AAGE,MAAA,KAAK,EAAE;AAAEC,QAAAA,eAAe,gBAASb,GAAT;AAAjB;AAHT,MADF;AAOD,GARA,CADH,CAJF,CADF;AAkBD,CAjCM","sourcesContent":["import * as React from \"react\";\nimport Avatar, { AvatarProps } from \"../Avatar/Avatar\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { HasRootRef } from \"../../types\";\nimport \"./GridAvatar.css\";\n\nexport interface GridAvatarProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n Pick<AvatarProps, \"size\" | \"shadow\" | \"badge\"> {\n src?: string[];\n}\n\nconst MIN_GRID_LENGTH = 1;\nconst MAX_GRID_LENGTH = 4;\n\nconst warn = warnOnce(\"GridAvatar\");\n\nexport const GridAvatar: React.FC<GridAvatarProps> = ({\n src = [],\n ...restProps\n}: GridAvatarProps) => {\n if (process.env.NODE_ENV === \"development\" && src.length > MAX_GRID_LENGTH) {\n warn(\n `Размер пропа src (${src.length}) больше максимального (${MAX_GRID_LENGTH})`\n );\n }\n\n const count = Math.max(\n MIN_GRID_LENGTH,\n Math.min(MAX_GRID_LENGTH, src.length)\n );\n\n return (\n <Avatar\n {...restProps}\n vkuiClass={classNames(\"GridAvatar\", `GridAvatar--images-${count}`)}\n >\n <div vkuiClass=\"GridAvatar__in\">\n {src.slice(0, MAX_GRID_LENGTH).map((src, i) => {\n return (\n <div\n key={i}\n vkuiClass=\"GridAvatar__item\"\n style={{ backgroundImage: `url(${src})` }}\n ></div>\n );\n })}\n </div>\n </Avatar>\n );\n};\n"],"file":"GridAvatar.js"}
1
+ {"version":3,"sources":["../../../src/components/GridAvatar/GridAvatar.tsx"],"names":["Avatar","classNames","warnOnce","MAX_GRID_LENGTH","warn","GridAvatar","src","restProps","process","env","NODE_ENV","length","slice","map","i","backgroundImage"],"mappings":";;;;AACA,OAAOA,MAAP;AACA,SAASC,UAAT;AACA,SAASC,QAAT;AAWA,OAAO,IAAMC,eAAe,GAAG,CAAxB;AAEP,IAAMC,IAAI,GAAGF,QAAQ,CAAC,YAAD,CAArB;AACA,OAAO,IAAMG,UAAqC,GAAG,SAAxCA,UAAwC,OAG/C;AAAA,sBAFJC,GAEI;AAAA,MAFJA,GAEI,yBAFE,EAEF;AAAA,MADDC,SACC;;AACJ,MAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0CJ,GAAG,CAACK,MAAJ,GAAaR,eAA3D,EAA4E;AAC1EC,IAAAA,IAAI,0FACoBE,GAAG,CAACK,MADxB,8HACwDR,eADxD,OAAJ;AAGD;;AAED,SACE,oBAAC,MAAD,eAAYI,SAAZ;AAAuB,IAAA,SAAS,EAAEN,UAAU,CAAC,YAAD;AAA5C,MACE;AAAK,IAAA,SAAS,EAAC,gBAAf;AAAgC,mBAAY;AAA5C,KACGK,GAAG,CAACM,KAAJ,CAAU,CAAV,EAAaT,eAAb,EAA8BU,GAA9B,CAAkC,UAACP,GAAD,EAAMQ,CAAN;AAAA,WACjC;AACE,MAAA,GAAG,EAAEA,CADP;AAEE,MAAA,SAAS,EAAC,kBAFZ;AAGE,MAAA,KAAK,EAAE;AAAEC,QAAAA,eAAe,gBAAST,GAAT;AAAjB;AAHT,MADiC;AAAA,GAAlC,CADH,CADF,CADF;AAaD,CAvBM","sourcesContent":["import * as React from \"react\";\nimport Avatar, { AvatarProps } from \"../Avatar/Avatar\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { HasRootRef } from \"../../types\";\nimport \"./GridAvatar.css\";\n\nexport interface GridAvatarProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n Pick<AvatarProps, \"size\" | \"shadow\" | \"badge\"> {\n src?: string[];\n}\n\nexport const MAX_GRID_LENGTH = 4;\n\nconst warn = warnOnce(\"GridAvatar\");\nexport const GridAvatar: React.FC<GridAvatarProps> = ({\n src = [],\n ...restProps\n}) => {\n if (process.env.NODE_ENV === \"development\" && src.length > MAX_GRID_LENGTH) {\n warn(\n `Длина массива src (${src.length}) больше максимальной (${MAX_GRID_LENGTH})`\n );\n }\n\n return (\n <Avatar {...restProps} vkuiClass={classNames(\"GridAvatar\")}>\n <div vkuiClass=\"GridAvatar__in\" aria-hidden=\"true\">\n {src.slice(0, MAX_GRID_LENGTH).map((src, i) => (\n <div\n key={i}\n vkuiClass=\"GridAvatar__item\"\n style={{ backgroundImage: `url(${src})` }}\n />\n ))}\n </div>\n </Avatar>\n );\n};\n"],"file":"GridAvatar.js"}
@@ -39,7 +39,8 @@ var Group = function Group(props) {
39
39
  vkuiClass: "Group__inner"
40
40
  }, header, children, hasReactNode(description) && createScopedElement(Caption, {
41
41
  vkuiClass: "Group__description"
42
- }, description)), separator !== "hide" && createScopedElement(Separator, {
42
+ }, description)), separator !== "hide" && createScopedElement(Separator // eslint-disable-next-line vkui/no-object-expression-in-arguments
43
+ , {
43
44
  vkuiClass: classNames("Group__separator", {
44
45
  "Group__separator--force": separator === "show"
45
46
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Group/Group.tsx"],"names":["React","getClassName","classNames","usePlatform","Separator","hasReactNode","Caption","withAdaptivity","SizeType","ModalRootContext","Group","props","header","description","children","separator","getRootRef","mode","sizeX","restProps","useContext","isInsideModal","platform","computedMode","COMPACT","defaultProps"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AAEA,SAASC,WAAT;AACA,OAAOC,SAAP;AACA,SAASC,YAAT;AACA,SAASC,OAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,OAAOC,gBAAP;;AAwBA,IAAMC,KAA2B,GAAG,SAA9BA,KAA8B,CAACC,KAAD,EAAuB;AACzD,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,WAFF,GASIF,KATJ,CAEEE,WAFF;AAAA,MAGEC,QAHF,GASIH,KATJ,CAGEG,QAHF;AAAA,MAIEC,SAJF,GASIJ,KATJ,CAIEI,SAJF;AAAA,MAKEC,UALF,GASIL,KATJ,CAKEK,UALF;AAAA,MAMEC,IANF,GASIN,KATJ,CAMEM,IANF;AAAA,MAOEC,KAPF,GASIP,KATJ,CAOEO,KAPF;AAAA,MAQKC,SARL,4BASIR,KATJ;;AAUA,0BAA0BX,KAAK,CAACoB,UAAN,CAAiBX,gBAAjB,CAA1B;AAAA,MAAQY,aAAR,qBAAQA,aAAR;;AACA,MAAMC,QAAQ,GAAGnB,WAAW,EAA5B;AAEA,MAAIoB,YAAgC,GAAGN,IAAvC;;AAEA,MAAI,CAACA,IAAL,EAAW;AACTM,IAAAA,YAAY,GACVL,KAAK,KAAKV,QAAQ,CAACgB,OAAnB,IAA8BH,aAA9B,GAA8C,OAA9C,GAAwD,MAD1D;AAED;;AAED,SACE,4CACMF,SADN;AAEE,IAAA,GAAG,EAAEH,UAFP;AAGE,IAAA,SAAS,EAAEd,UAAU,CACnBD,YAAY,CAAC,OAAD,EAAUqB,QAAV,CADO,yBAEHJ,KAFG,oBAGTK,YAHS;AAHvB,MASE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGX,MADH,EAEGE,QAFH,EAGGT,YAAY,CAACQ,WAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAJJ,CATF,EAiBGE,SAAS,KAAK,MAAd,IACC,oBAAC,SAAD;AACE,IAAA,SAAS,EAAEb,UAAU,CAAC,kBAAD,EAAqB;AACxC,iCAA2Ba,SAAS,KAAK;AADD,KAArB,CADvB;AAIE,IAAA,QAAQ,EAAEQ,YAAY,KAAK;AAJ7B,IAlBJ,CADF;AA4BD,CAjDD;;AAmDAb,KAAK,CAACe,YAAN,GAAqB;AACnBV,EAAAA,SAAS,EAAE;AADQ,CAArB,C,CAIA;;AACA,eAAeR,cAAc,CAACG,KAAD,EAAQ;AAAEQ,EAAAA,KAAK,EAAE;AAAT,CAAR,CAA7B","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Separator from \"../Separator/Separator\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport ModalRootContext from \"../ModalRoot/ModalRootContext\";\nimport \"./Group.css\";\n\nexport interface GroupProps\n extends HasRootRef<HTMLElement>,\n React.HTMLAttributes<HTMLElement>,\n AdaptivityProps {\n header?: React.ReactNode;\n description?: React.ReactNode;\n /**\n show - разделитель всегда показывается,\n hide – разделитель всегда спрятан,\n auto – разделитель рисуется автоматически между соседними группами.\n */\n separator?: \"show\" | \"hide\" | \"auto\";\n /**\n * Режим отображения. Если установлен 'card', выглядит как карточка c\n * обводкой и внешними отступами. Если 'plain' — без отступов и обводки.\n * По умолчанию режим отображения зависит от `sizeX`. В модальных окнах\n * по умолчанию 'plain'.\n */\n mode?: \"plain\" | \"card\";\n}\n\nconst Group: React.FC<GroupProps> = (props: GroupProps) => {\n const {\n header,\n description,\n children,\n separator,\n getRootRef,\n mode,\n sizeX,\n ...restProps\n } = props;\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n let computedMode: GroupProps[\"mode\"] = mode;\n\n if (!mode) {\n computedMode =\n sizeX === SizeType.COMPACT || isInsideModal ? \"plain\" : \"card\";\n }\n\n return (\n <section\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Group\", platform),\n `Group--sizeX-${sizeX}`,\n `Group--${computedMode}`\n )}\n >\n <div vkuiClass=\"Group__inner\">\n {header}\n {children}\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Group__description\">{description}</Caption>\n )}\n </div>\n\n {separator !== \"hide\" && (\n <Separator\n vkuiClass={classNames(\"Group__separator\", {\n \"Group__separator--force\": separator === \"show\",\n })}\n expanded={computedMode === \"card\"}\n />\n )}\n </section>\n );\n};\n\nGroup.defaultProps = {\n separator: \"auto\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Group, { sizeX: true });\n"],"file":"Group.js"}
1
+ {"version":3,"sources":["../../../src/components/Group/Group.tsx"],"names":["React","getClassName","classNames","usePlatform","Separator","hasReactNode","Caption","withAdaptivity","SizeType","ModalRootContext","Group","props","header","description","children","separator","getRootRef","mode","sizeX","restProps","useContext","isInsideModal","platform","computedMode","COMPACT","defaultProps"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AAEA,SAASC,WAAT;AACA,OAAOC,SAAP;AACA,SAASC,YAAT;AACA,SAASC,OAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,OAAOC,gBAAP;;AAwBA,IAAMC,KAA2B,GAAG,SAA9BA,KAA8B,CAACC,KAAD,EAAuB;AACzD,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,WAFF,GASIF,KATJ,CAEEE,WAFF;AAAA,MAGEC,QAHF,GASIH,KATJ,CAGEG,QAHF;AAAA,MAIEC,SAJF,GASIJ,KATJ,CAIEI,SAJF;AAAA,MAKEC,UALF,GASIL,KATJ,CAKEK,UALF;AAAA,MAMEC,IANF,GASIN,KATJ,CAMEM,IANF;AAAA,MAOEC,KAPF,GASIP,KATJ,CAOEO,KAPF;AAAA,MAQKC,SARL,4BASIR,KATJ;;AAUA,0BAA0BX,KAAK,CAACoB,UAAN,CAAiBX,gBAAjB,CAA1B;AAAA,MAAQY,aAAR,qBAAQA,aAAR;;AACA,MAAMC,QAAQ,GAAGnB,WAAW,EAA5B;AAEA,MAAIoB,YAAgC,GAAGN,IAAvC;;AAEA,MAAI,CAACA,IAAL,EAAW;AACTM,IAAAA,YAAY,GACVL,KAAK,KAAKV,QAAQ,CAACgB,OAAnB,IAA8BH,aAA9B,GAA8C,OAA9C,GAAwD,MAD1D;AAED;;AAED,SACE,4CACMF,SADN;AAEE,IAAA,GAAG,EAAEH,UAFP;AAGE,IAAA,SAAS,EAAEd,UAAU,CACnBD,YAAY,CAAC,OAAD,EAAUqB,QAAV,CADO,yBAEHJ,KAFG,oBAGTK,YAHS;AAHvB,MASE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGX,MADH,EAEGE,QAFH,EAGGT,YAAY,CAACQ,WAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAJJ,CATF,EAiBGE,SAAS,KAAK,MAAd,IACC,oBAAC,SAAD,CACE;AADF;AAEE,IAAA,SAAS,EAAEb,UAAU,CAAC,kBAAD,EAAqB;AACxC,iCAA2Ba,SAAS,KAAK;AADD,KAArB,CAFvB;AAKE,IAAA,QAAQ,EAAEQ,YAAY,KAAK;AAL7B,IAlBJ,CADF;AA6BD,CAlDD;;AAoDAb,KAAK,CAACe,YAAN,GAAqB;AACnBV,EAAAA,SAAS,EAAE;AADQ,CAArB,C,CAIA;;AACA,eAAeR,cAAc,CAACG,KAAD,EAAQ;AAAEQ,EAAAA,KAAK,EAAE;AAAT,CAAR,CAA7B","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Separator from \"../Separator/Separator\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport ModalRootContext from \"../ModalRoot/ModalRootContext\";\nimport \"./Group.css\";\n\nexport interface GroupProps\n extends HasRootRef<HTMLElement>,\n React.HTMLAttributes<HTMLElement>,\n AdaptivityProps {\n header?: React.ReactNode;\n description?: React.ReactNode;\n /**\n show - разделитель всегда показывается,\n hide – разделитель всегда спрятан,\n auto – разделитель рисуется автоматически между соседними группами.\n */\n separator?: \"show\" | \"hide\" | \"auto\";\n /**\n * Режим отображения. Если установлен 'card', выглядит как карточка c\n * обводкой и внешними отступами. Если 'plain' — без отступов и обводки.\n * По умолчанию режим отображения зависит от `sizeX`. В модальных окнах\n * по умолчанию 'plain'.\n */\n mode?: \"plain\" | \"card\";\n}\n\nconst Group: React.FC<GroupProps> = (props: GroupProps) => {\n const {\n header,\n description,\n children,\n separator,\n getRootRef,\n mode,\n sizeX,\n ...restProps\n } = props;\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n let computedMode: GroupProps[\"mode\"] = mode;\n\n if (!mode) {\n computedMode =\n sizeX === SizeType.COMPACT || isInsideModal ? \"plain\" : \"card\";\n }\n\n return (\n <section\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Group\", platform),\n `Group--sizeX-${sizeX}`,\n `Group--${computedMode}`\n )}\n >\n <div vkuiClass=\"Group__inner\">\n {header}\n {children}\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Group__description\">{description}</Caption>\n )}\n </div>\n\n {separator !== \"hide\" && (\n <Separator\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Group__separator\", {\n \"Group__separator--force\": separator === \"show\",\n })}\n expanded={computedMode === \"card\"}\n />\n )}\n </section>\n );\n};\n\nGroup.defaultProps = {\n separator: \"auto\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Group, { sizeX: true });\n"],"file":"Group.js"}
@@ -12,9 +12,9 @@ import { hasReactNode, isPrimitiveReactNode } from "../../lib/utils";
12
12
  import { Platform } from "../../lib/platform";
13
13
  import Headline from "../Typography/Headline/Headline";
14
14
  import { Caption } from "../Typography/Caption/Caption";
15
- import Title from "../Typography/Title/Title";
15
+ import { Title } from "../Typography/Title/Title";
16
16
  import Text from "../Typography/Text/Text";
17
- import Subhead from "../Typography/Subhead/Subhead";
17
+ import { Subhead } from "../Typography/Subhead/Subhead";
18
18
 
19
19
  var HeaderContent = function HeaderContent(_ref) {
20
20
  var platform = _ref.platform,
@@ -96,7 +96,8 @@ var Header = function Header(_ref4) {
96
96
 
97
97
  var platform = usePlatform();
98
98
  return createScopedElement("header", _extends({}, restProps, {
99
- ref: getRootRef,
99
+ ref: getRootRef // eslint-disable-next-line vkui/no-object-expression-in-arguments
100
+ ,
100
101
  vkuiClass: classNames(getClassName("Header", platform), "Header--mode-".concat(mode), {
101
102
  "Header--pi": isPrimitiveReactNode(indicator)
102
103
  })
@@ -108,6 +109,7 @@ var Header = function Header(_ref4) {
108
109
  mode: mode,
109
110
  platform: platform
110
111
  }, createScopedElement("span", {
112
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
111
113
  vkuiClass: classNames("Header__content-in", {
112
114
  "Header__content-in--multiline": multiline
113
115
  })
@@ -116,7 +118,8 @@ var Header = function Header(_ref4) {
116
118
  weight: mode === "primary" || mode === "secondary" ? "1" : undefined
117
119
  }, indicator)), hasReactNode(subtitle) && createScopedElement(HeaderSubtitle, {
118
120
  vkuiClass: "Header__subtitle",
119
- Component: "span"
121
+ Component: "span",
122
+ mode: mode
120
123
  }, subtitle)), hasReactNode(aside) && createScopedElement(HeaderAside, {
121
124
  vkuiClass: "Header__aside",
122
125
  Component: "span",
@@ -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","undefined","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 weight=\"2\" 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 {...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 weight=\"1\" 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 {...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\" ? \"1\" : undefined\n }\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","undefined","defaultProps"],"mappings":";;;;;;;AACA,SAASA,YAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AAEA,SAASC,YAAT,EAAuBC,oBAAvB;AACA,SAASC,QAAT;AACA,OAAOC,QAAP;AACA,SAASC,OAAT;AACA,SAASC,KAAT;AACA,OAAOC,IAAP;AACA,SAASC,OAAT;;AAuBA,IAAMC,aAA2C,GAAG,SAA9CA,aAA8C,OAI9C;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,IAEI,QAFJA,IAEI;AAAA,MADDC,SACC;;AACJ,MAAIF,QAAQ,KAAKP,QAAQ,CAACU,GAA1B,EAA+B;AAC7B,YAAQF,IAAR;AACE,WAAK,SAAL;AACA,WAAK,UAAL;AACE,eAAO,oBAAC,KAAD;AAAO,UAAA,MAAM,EAAC,GAAd;AAAkB,UAAA,KAAK,EAAC;AAAxB,WAAgCC,SAAhC,EAAP;;AACF,WAAK,WAAL;AACE,eAAO,oBAAC,OAAD;AAAS,UAAA,MAAM,EAAC,GAAhB;AAAoB,UAAA,IAAI;AAAxB,WAA6BA,SAA7B,EAAP;AALJ;AAOD;;AAED,MAAIF,QAAQ,KAAKP,QAAQ,CAACW,KAA1B,EAAiC;AAC/B,YAAQH,IAAR;AACE,WAAK,SAAL;AACE,eAAO,oBAAC,QAAD;AAAU,UAAA,MAAM,EAAC;AAAjB,WAA+BC,SAA/B,EAAP;;AACF,WAAK,WAAL;AACA,WAAK,UAAL;AACE,eAAO,oBAAC,OAAD,EAAaA,SAAb,CAAP;AALJ;AAOD;;AAED,UAAQD,IAAR;AACE,SAAK,SAAL;AACA,SAAK,UAAL;AACE,aAAO,oBAAC,QAAD;AAAU,QAAA,MAAM,EAAC;AAAjB,SAA8BC,SAA9B,EAAP;;AACF,SAAK,WAAL;AACE,aAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,IAAI;AAAxB,SAA6BA,SAA7B,EAAP;AALJ;;AAQA,SAAO,IAAP;AACD,CAlCD;;AAsCA,IAAMG,WAAuC,GAAG,SAA1CA,WAA0C,QAG1C;AAAA,MAFJL,QAEI,SAFJA,QAEI;AAAA,MADDE,SACC;;AACJ,SAAOF,QAAQ,KAAKP,QAAQ,CAACW,KAAtB,GACL,oBAAC,OAAD,EAAaF,SAAb,CADK,GAGL,oBAAC,IAAD;AAAM,IAAA,MAAM,EAAC;AAAb,KAA2BA,SAA3B,EAHF;AAKD,CATD;;AAcA,IAAMI,cAA6C,GAAG,SAAhDA,cAAgD,QAGhD;AAAA,MAFJL,IAEI,SAFJA,IAEI;AAAA,MADDC,SACC;;AACJ,SAAOD,IAAI,KAAK,WAAT,GACL,oBAAC,OAAD,EAAaC,SAAb,CADK,GAGL,oBAAC,OAAD,EAAaA,SAAb,CAHF;AAKD,CATD;;AAWA,IAAMK,MAA6B,GAAG,SAAhCA,MAAgC,QASnB;AAAA,MARjBN,IAQiB,SARjBA,IAQiB;AAAA,MAPjBO,QAOiB,SAPjBA,QAOiB;AAAA,MANjBC,QAMiB,SANjBA,QAMiB;AAAA,MALjBC,SAKiB,SALjBA,SAKiB;AAAA,MAJjBC,KAIiB,SAJjBA,KAIiB;AAAA,MAHjBC,UAGiB,SAHjBA,UAGiB;AAAA,MAFjBC,SAEiB,SAFjBA,SAEiB;AAAA,MADdX,SACc;;AACjB,MAAMF,QAAQ,GAAGV,WAAW,EAA5B;AAEA,SACE,2CACMY,SADN;AAEE,IAAA,GAAG,EAAEU,UAFP,CAGE;AAHF;AAIE,IAAA,SAAS,EAAEvB,UAAU,CACnBD,YAAY,CAAC,QAAD,EAAWY,QAAX,CADO,yBAEHC,IAFG,GAGnB;AAAE,oBAAcT,oBAAoB,CAACkB,SAAD;AAApC,KAHmB;AAJvB,MAUE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,aAAD;AACE,IAAA,SAAS,EAAC,iBADZ;AAEE,IAAA,SAAS,EAAC,MAFZ;AAGE,IAAA,IAAI,EAAET,IAHR;AAIE,IAAA,QAAQ,EAAED;AAJZ,KAME;AACE;AACA,IAAA,SAAS,EAAEX,UAAU,CAAC,oBAAD,EAAuB;AAC1C,uCAAiCwB;AADS,KAAvB;AAFvB,KAMGL,QANH,CANF,EAcGjB,YAAY,CAACmB,SAAD,CAAZ,IACC,oBAAC,OAAD;AACE,IAAA,SAAS,EAAC,mBADZ;AAEE,IAAA,MAAM,EACJT,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,WAA/B,GAA6C,GAA7C,GAAmDa;AAHvD,KAMGJ,SANH,CAfJ,CADF,EA2BGnB,YAAY,CAACkB,QAAD,CAAZ,IACC,oBAAC,cAAD;AACE,IAAA,SAAS,EAAC,kBADZ;AAEE,IAAA,SAAS,EAAC,MAFZ;AAGE,IAAA,IAAI,EAAER;AAHR,KAKGQ,QALH,CA5BJ,CAVF,EAgDGlB,YAAY,CAACoB,KAAD,CAAZ,IACC,oBAAC,WAAD;AACE,IAAA,SAAS,EAAC,eADZ;AAEE,IAAA,SAAS,EAAC,MAFZ;AAGE,IAAA,QAAQ,EAAEX;AAHZ,KAKGW,KALH,CAjDJ,CADF;AA4DD,CAxED;;AA0EAJ,MAAM,CAACQ,YAAP,GAAsB;AACpBd,EAAAA,IAAI,EAAE;AADc,CAAtB,C,CAIA;;AACA,eAAeM,MAAf","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 weight=\"2\" 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 {...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 weight=\"1\" 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 {...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 // eslint-disable-next-line vkui/no-object-expression-in-arguments\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 // eslint-disable-next-line vkui/no-object-expression-in-arguments\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\" ? \"1\" : undefined\n }\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <HeaderSubtitle\n vkuiClass=\"Header__subtitle\"\n Component=\"span\"\n mode={mode}\n >\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"}
@@ -9,7 +9,7 @@ import { usePlatform } from "../../hooks/usePlatform";
9
9
  import { hasReactNode } from "../../lib/utils";
10
10
  import { Caption } from "../Typography/Caption/Caption";
11
11
  import Tappable from "../Tappable/Tappable";
12
- import Subhead from "../Typography/Subhead/Subhead";
12
+ import { Subhead } from "../Typography/Subhead/Subhead";
13
13
  import Avatar from "../Avatar/Avatar";
14
14
 
15
15
  var CellTypography = function CellTypography(_ref) {
@@ -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,SAASC,OAAT;AACA,OAAOC,QAAP;AACA,OAAOC,OAAP;AACA,OAAOC,MAAP;;AAQA,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;AAAf,KAAuBE,SAAvB,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;AAAS,IAAA,SAAS,EAAC;AAAnB,KAA+CA,QAA/C,CAPJ,CARF,CATF,CADF;AA+BD,CA5CM","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\" {...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 vkuiClass=\"HorizontalCell__subtitle\">{subtitle}</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,SAASC,OAAT;AACA,OAAOC,QAAP;AACA,SAASC,OAAT;AACA,OAAOC,MAAP;;AAQA,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;AAAf,KAAuBE,SAAvB,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;AAAS,IAAA,SAAS,EAAC;AAAnB,KAA+CA,QAA/C,CAPJ,CARF,CATF,CADF;AA+BD,CA5CM","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\" {...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 vkuiClass=\"HorizontalCell__subtitle\">{subtitle}</Caption>\n )}\n </div>\n </Tappable>\n </div>\n );\n};\n"],"file":"HorizontalCell.js"}
@@ -15,5 +15,4 @@ export interface HorizontalScrollProps extends React.HTMLAttributes<HTMLDivEleme
15
15
  showArrows?: boolean | "always";
16
16
  scrollAnimationDuration?: number;
17
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;
18
+ export declare const HorizontalScroll: 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>;
@@ -84,7 +84,7 @@ function doScroll(_ref) {
84
84
  })();
85
85
  }
86
86
 
87
- var HorizontalScroll = function HorizontalScroll(_ref2) {
87
+ var HorizontalScrollComponent = function HorizontalScrollComponent(_ref2) {
88
88
  var children = _ref2.children,
89
89
  getScrollToLeft = _ref2.getScrollToLeft,
90
90
  getScrollToRight = _ref2.getScrollToRight,
@@ -109,8 +109,7 @@ var HorizontalScroll = function HorizontalScroll(_ref2) {
109
109
  var isCustomScrollingRef = React.useRef(false);
110
110
  var scrollerRef = useExternRef(getRef);
111
111
  var animationQueue = React.useRef([]);
112
-
113
- function scrollTo(getScrollPosition) {
112
+ var scrollTo = React.useCallback(function (getScrollPosition) {
114
113
  var scrollElement = scrollerRef.current;
115
114
  animationQueue.current.push(function () {
116
115
  var _scrollElement$firstE;
@@ -136,8 +135,19 @@ var HorizontalScroll = function HorizontalScroll(_ref2) {
136
135
  if (animationQueue.current.length === 1) {
137
136
  animationQueue.current[0]();
138
137
  }
139
- }
140
-
138
+ }, [scrollAnimationDuration, scrollerRef]);
139
+ var scrollToLeft = React.useCallback(function () {
140
+ var getScrollPosition = getScrollToLeft !== null && getScrollToLeft !== void 0 ? getScrollToLeft : function (i) {
141
+ return i - scrollerRef.current.offsetWidth;
142
+ };
143
+ scrollTo(getScrollPosition);
144
+ }, [getScrollToLeft, scrollTo, scrollerRef]);
145
+ var scrollToRight = React.useCallback(function () {
146
+ var getScrollPosition = getScrollToRight !== null && getScrollToRight !== void 0 ? getScrollToRight : function (i) {
147
+ return i + scrollerRef.current.offsetWidth;
148
+ };
149
+ scrollTo(getScrollPosition);
150
+ }, [getScrollToRight, scrollTo, scrollerRef]);
141
151
  var onscroll = React.useCallback(function () {
142
152
  if (showArrows && hasMouse && scrollerRef.current && !isCustomScrollingRef.current) {
143
153
  var scrollElement = scrollerRef.current;
@@ -153,31 +163,23 @@ var HorizontalScroll = function HorizontalScroll(_ref2) {
153
163
  }, [scrollEvent, scrollerRef]);
154
164
  React.useEffect(onscroll, [scrollerRef, children, onscroll]);
155
165
  return createScopedElement("div", _extends({}, restProps, {
166
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
156
167
  vkuiClass: classNames("HorizontalScroll", _defineProperty({}, "HorizontalScroll--withConstArrows", showArrows === "always"))
157
168
  }), showArrows && hasMouse && canScrollLeft && createScopedElement(HorizontalScrollArrow, {
158
169
  direction: "left",
159
- onClick: function onClick() {
160
- if (getScrollToLeft) {
161
- scrollTo(getScrollToLeft);
162
- }
163
- }
170
+ onClick: scrollToLeft
164
171
  }), showArrows && hasMouse && canScrollRight && createScopedElement(HorizontalScrollArrow, {
165
172
  direction: "right",
166
- onClick: function onClick() {
167
- if (getScrollToRight) {
168
- scrollTo(getScrollToRight);
169
- }
170
- }
173
+ onClick: scrollToRight
171
174
  }), createScopedElement("div", {
172
175
  vkuiClass: "HorizontalScroll__in",
173
176
  ref: scrollerRef
174
177
  }, createScopedElement("div", {
175
178
  vkuiClass: "HorizontalScroll__in-wrapper"
176
179
  }, children)));
177
- }; // eslint-disable-next-line import/no-default-export
178
-
180
+ };
179
181
 
180
- export default withAdaptivity(HorizontalScroll, {
182
+ export var HorizontalScroll = withAdaptivity(HorizontalScrollComponent, {
181
183
  hasMouse: true
182
184
  });
183
185
  //# sourceMappingURL=HorizontalScroll.js.map
@@ -1 +1 @@
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
+ {"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","HorizontalScrollComponent","children","getScrollToLeft","getScrollToRight","showArrows","hasMouse","getRef","restProps","useState","canScrollLeft","setCanScrollLeft","canScrollRight","setCanScrollRight","isCustomScrollingRef","useRef","scrollerRef","scrollTo","useCallback","current","push","firstElementChild","scrollWidth","scrollToLeft","i","scrollToRight","onscroll","scrollEvent","useEffect","add","HorizontalScroll"],"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 HorizontalScrollComponent: 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}) => {\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 scrollTo = React.useCallback(\n (getScrollPosition: ScrollPositionHandler) => {\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:\n scrollElement?.firstElementChild?.scrollWidth || 0,\n scrollAnimationDuration,\n })\n );\n if (animationQueue.current.length === 1) {\n animationQueue.current[0]();\n }\n },\n [scrollAnimationDuration, scrollerRef]\n );\n\n const scrollToLeft = React.useCallback(() => {\n const getScrollPosition =\n getScrollToLeft ?? ((i: number) => i - scrollerRef.current!.offsetWidth);\n scrollTo(getScrollPosition);\n }, [getScrollToLeft, scrollTo, scrollerRef]);\n\n const scrollToRight = React.useCallback(() => {\n const getScrollPosition =\n getScrollToRight ?? ((i: number) => i + scrollerRef.current!.offsetWidth);\n scrollTo(getScrollPosition);\n }, [getScrollToRight, scrollTo, scrollerRef]);\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 // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"HorizontalScroll\", {\n [\"HorizontalScroll--withConstArrows\"]: showArrows === \"always\",\n })}\n >\n {showArrows && hasMouse && canScrollLeft && (\n <HorizontalScrollArrow direction=\"left\" onClick={scrollToLeft} />\n )}\n {showArrows && hasMouse && canScrollRight && (\n <HorizontalScrollArrow direction=\"right\" onClick={scrollToRight} />\n )}\n <div vkuiClass=\"HorizontalScroll__in\" ref={scrollerRef}>\n <div vkuiClass=\"HorizontalScroll__in-wrapper\">{children}</div>\n </div>\n </div>\n );\n};\n\nexport const HorizontalScroll = withAdaptivity(HorizontalScrollComponent, {\n hasMouse: true,\n});\n"],"file":"HorizontalScroll.js"}
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["header", "children"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
- import Subhead from "../Typography/Subhead/Subhead";
5
+ import { Subhead } from "../Typography/Subhead/Subhead";
6
6
  import { getClassName } from "../../helpers/getClassName";
7
7
  import { usePlatform } from "../../hooks/usePlatform";
8
8
  import Headline from "../Typography/Headline/Headline";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/InfoRow/InfoRow.tsx"],"names":["Subhead","getClassName","usePlatform","Headline","hasReactNode","InfoRow","header","children","restProps","platform"],"mappings":";;;;AACA,OAAOA,OAAP;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,OAAOC,QAAP;AACA,SAASC,YAAT;;AAOA,IAAMC,OAA8C,GAAG,SAAjDA,OAAiD,OAInC;AAAA,MAHlBC,MAGkB,QAHlBA,MAGkB;AAAA,MAFlBC,QAEkB,QAFlBA,QAEkB;AAAA,MADfC,SACe;;AAClB,MAAMC,QAAQ,GAAGP,WAAW,EAA5B;AAEA,SACE,oBAAC,QAAD,eACMM,SADN;AAEE,IAAA,SAAS,EAAEP,YAAY,CAAC,SAAD,EAAYQ,QAAZ,CAFzB;AAGE,IAAA,MAAM,EAAC;AAHT,MAKGL,YAAY,CAACE,MAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,MADH,CANJ,EAUGC,QAVH,CADF;AAcD,CArBD,C,CAuBA;;;AACA,eAAeF,OAAf","sourcesContent":["import * as React from \"react\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./InfoRow.css\";\n\nexport interface InfoRowProps extends React.HTMLAttributes<HTMLDivElement> {\n header: React.ReactNode;\n}\n\nconst InfoRow: React.FunctionComponent<InfoRowProps> = ({\n header,\n children,\n ...restProps\n}: InfoRowProps) => {\n const platform = usePlatform();\n\n return (\n <Headline\n {...restProps}\n vkuiClass={getClassName(\"InfoRow\", platform)}\n weight=\"regular\"\n >\n {hasReactNode(header) && (\n <Subhead Component=\"span\" vkuiClass=\"InfoRow__header\">\n {header}\n </Subhead>\n )}\n {children}\n </Headline>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default InfoRow;\n"],"file":"InfoRow.js"}
1
+ {"version":3,"sources":["../../../src/components/InfoRow/InfoRow.tsx"],"names":["Subhead","getClassName","usePlatform","Headline","hasReactNode","InfoRow","header","children","restProps","platform"],"mappings":";;;;AACA,SAASA,OAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,OAAOC,QAAP;AACA,SAASC,YAAT;;AAOA,IAAMC,OAA8C,GAAG,SAAjDA,OAAiD,OAInC;AAAA,MAHlBC,MAGkB,QAHlBA,MAGkB;AAAA,MAFlBC,QAEkB,QAFlBA,QAEkB;AAAA,MADfC,SACe;;AAClB,MAAMC,QAAQ,GAAGP,WAAW,EAA5B;AAEA,SACE,oBAAC,QAAD,eACMM,SADN;AAEE,IAAA,SAAS,EAAEP,YAAY,CAAC,SAAD,EAAYQ,QAAZ,CAFzB;AAGE,IAAA,MAAM,EAAC;AAHT,MAKGL,YAAY,CAACE,MAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,MADH,CANJ,EAUGC,QAVH,CADF;AAcD,CArBD,C,CAuBA;;;AACA,eAAeF,OAAf","sourcesContent":["import * as React from \"react\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./InfoRow.css\";\n\nexport interface InfoRowProps extends React.HTMLAttributes<HTMLDivElement> {\n header: React.ReactNode;\n}\n\nconst InfoRow: React.FunctionComponent<InfoRowProps> = ({\n header,\n children,\n ...restProps\n}: InfoRowProps) => {\n const platform = usePlatform();\n\n return (\n <Headline\n {...restProps}\n vkuiClass={getClassName(\"InfoRow\", platform)}\n weight=\"regular\"\n >\n {hasReactNode(header) && (\n <Subhead Component=\"span\" vkuiClass=\"InfoRow__header\">\n {header}\n </Subhead>\n )}\n {children}\n </Headline>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default InfoRow;\n"],"file":"InfoRow.js"}