@vkontakte/vkui 4.27.1 → 4.28.1

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 (730) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +11910 -4711
  4. package/.cache/ts/src/components/Button/Button.d.ts +1 -1
  5. package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  6. package/.cache/ts/src/components/Calendar/Calendar.d.ts +21 -0
  7. package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +22 -0
  8. package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +22 -0
  9. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  10. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +16 -0
  11. package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +11 -0
  12. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -2
  13. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  14. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
  15. package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  16. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +10 -1
  17. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
  18. package/.cache/ts/src/components/DateInput/DateInput.d.ts +12 -0
  19. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  20. package/.cache/ts/src/components/Div/Div.d.ts +1 -2
  21. package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
  22. package/.cache/ts/src/components/InputLike/InputLike.d.ts +10 -0
  23. package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +3 -0
  24. package/.cache/ts/src/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  25. package/.cache/ts/src/components/Pagination/Pagination.d.ts +42 -0
  26. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  27. package/.cache/ts/src/components/RichCell/RichCell.d.ts +3 -2
  28. package/.cache/ts/src/components/Select/Select.d.ts +1 -1
  29. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +5 -1
  30. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
  31. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
  32. package/.cache/ts/src/components/Tappable/Tappable.d.ts +3 -1
  33. package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +8 -4
  34. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +6 -1
  35. package/.cache/ts/src/components/Typography/Title/Title.d.ts +3 -1
  36. package/.cache/ts/src/components/View/ViewInfinite.d.ts +2 -2
  37. package/.cache/ts/src/helpers/typography.d.ts +1 -0
  38. package/.cache/ts/src/hooks/useBooleanState.d.ts +6 -0
  39. package/.cache/ts/src/hooks/useCalendar.d.ts +18 -0
  40. package/.cache/ts/src/hooks/useDateInput.d.ts +30 -0
  41. package/.cache/ts/src/hooks/useKeyboardInputTracker.d.ts +2 -0
  42. package/.cache/ts/src/hooks/useOrientationChange.d.ts +7 -0
  43. package/.cache/ts/src/hooks/usePagination.d.ts +34 -0
  44. package/.cache/ts/src/index.d.ts +12 -2
  45. package/.cache/ts/src/lib/calendar.d.ts +14 -0
  46. package/.cache/ts/src/lib/utils.d.ts +2 -1
  47. package/.cache/ts/src/tokenized/index.d.ts +14 -0
  48. package/.cache/ts/src/unstable/index.d.ts +6 -6
  49. package/CONTRIBUTING.md +3 -2
  50. package/CSS_GUIDE.md +145 -0
  51. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -7
  52. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  53. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +3 -6
  54. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  55. package/dist/cjs/components/Alert/Alert.js +5 -8
  56. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  57. package/dist/cjs/components/Banner/Banner.js +1 -3
  58. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  59. package/dist/cjs/components/Button/Button.d.ts +1 -1
  60. package/dist/cjs/components/Button/Button.js +7 -11
  61. package/dist/cjs/components/Button/Button.js.map +1 -1
  62. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  63. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +38 -0
  64. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -0
  65. package/dist/cjs/components/Calendar/Calendar.d.ts +21 -0
  66. package/dist/cjs/components/Calendar/Calendar.js +160 -0
  67. package/dist/cjs/components/Calendar/Calendar.js.map +1 -0
  68. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +22 -0
  69. package/dist/cjs/components/CalendarDay/CalendarDay.js +109 -0
  70. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -0
  71. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +22 -0
  72. package/dist/cjs/components/CalendarDays/CalendarDays.js +118 -0
  73. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -0
  74. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  75. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +143 -0
  76. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -0
  77. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +16 -0
  78. package/dist/cjs/components/CalendarRange/CalendarRange.js +219 -0
  79. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -0
  80. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +11 -0
  81. package/dist/cjs/components/CalendarTime/CalendarTime.js +92 -0
  82. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -0
  83. package/dist/cjs/components/Checkbox/Checkbox.js +2 -5
  84. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  85. package/dist/cjs/components/Chip/Chip.js +2 -4
  86. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  87. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +1 -2
  88. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +7 -11
  89. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  90. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  91. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +40 -21
  92. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  93. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
  94. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +3 -5
  95. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  96. package/dist/cjs/components/ContentCard/ContentCard.js +5 -7
  97. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  98. package/dist/cjs/components/Counter/Counter.js +3 -3
  99. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  100. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  101. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  102. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +10 -1
  103. package/dist/cjs/components/CustomSelect/CustomSelect.js +47 -17
  104. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  105. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
  106. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +14 -5
  107. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  108. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +3 -5
  109. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  110. package/dist/cjs/components/DateInput/DateInput.d.ts +12 -0
  111. package/dist/cjs/components/DateInput/DateInput.js +290 -0
  112. package/dist/cjs/components/DateInput/DateInput.js.map +1 -0
  113. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  114. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +310 -0
  115. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -0
  116. package/dist/cjs/components/Div/Div.d.ts +1 -2
  117. package/dist/cjs/components/Div/Div.js +2 -5
  118. package/dist/cjs/components/Div/Div.js.map +1 -1
  119. package/dist/cjs/components/Footer/Footer.js +2 -4
  120. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  121. package/dist/cjs/components/FormItem/FormItem.js +2 -5
  122. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  123. package/dist/cjs/components/FormStatus/FormStatus.js +3 -8
  124. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  125. package/dist/cjs/components/Group/Group.js +3 -5
  126. package/dist/cjs/components/Group/Group.js.map +1 -1
  127. package/dist/cjs/components/Header/Header.js +10 -23
  128. package/dist/cjs/components/Header/Header.js.map +1 -1
  129. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +5 -10
  130. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  131. package/dist/cjs/components/IconButton/IconButton.d.ts +1 -1
  132. package/dist/cjs/components/InfoRow/InfoRow.js +1 -2
  133. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  134. package/dist/cjs/components/InputLike/InputLike.d.ts +10 -0
  135. package/dist/cjs/components/InputLike/InputLike.js +71 -0
  136. package/dist/cjs/components/InputLike/InputLike.js.map +1 -0
  137. package/dist/cjs/components/InputLike/InputLikeDivider.d.ts +3 -0
  138. package/dist/cjs/components/InputLike/InputLikeDivider.js +27 -0
  139. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -0
  140. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  141. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js +14 -0
  142. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
  143. package/dist/cjs/components/ModalPage/ModalPage.js +5 -5
  144. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  145. package/dist/cjs/components/Pagination/Pagination.d.ts +42 -0
  146. package/dist/cjs/components/Pagination/Pagination.js +152 -0
  147. package/dist/cjs/components/Pagination/Pagination.js.map +1 -0
  148. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  149. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +2 -4
  150. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  151. package/dist/cjs/components/PromoBanner/PromoBanner.js +3 -7
  152. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  153. package/dist/cjs/components/Radio/Radio.js +2 -5
  154. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  155. package/dist/cjs/components/Removable/Removable.js +8 -4
  156. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  157. package/dist/cjs/components/RichCell/RichCell.d.ts +3 -2
  158. package/dist/cjs/components/RichCell/RichCell.js +0 -1
  159. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  160. package/dist/cjs/components/Select/Select.d.ts +1 -1
  161. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +5 -1
  162. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +11 -5
  163. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  164. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +1 -1
  165. package/dist/cjs/components/SimpleCell/SimpleCell.js +0 -1
  166. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  167. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
  168. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +2 -5
  169. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  170. package/dist/cjs/components/Spacing/Spacing.js +2 -2
  171. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  172. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +4 -7
  173. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  174. package/dist/cjs/components/Tappable/Tappable.d.ts +3 -1
  175. package/dist/cjs/components/Tappable/Tappable.js +11 -11
  176. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  177. package/dist/cjs/components/TextTooltip/TextTooltip.js +1 -2
  178. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  179. package/dist/cjs/components/Tooltip/Tooltip.js +1 -2
  180. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  181. package/dist/cjs/components/Typography/Caption/Caption.d.ts +8 -4
  182. package/dist/cjs/components/Typography/Caption/Caption.js +12 -14
  183. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  184. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +6 -1
  185. package/dist/cjs/components/Typography/Subhead/Subhead.js +15 -8
  186. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  187. package/dist/cjs/components/Typography/Title/Title.d.ts +3 -1
  188. package/dist/cjs/components/Typography/Title/Title.js +4 -2
  189. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  190. package/dist/cjs/components/UsersStack/UsersStack.js +3 -5
  191. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  192. package/dist/cjs/components/View/ViewInfinite.d.ts +2 -2
  193. package/dist/cjs/components/View/ViewInfinite.js +12 -15
  194. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  195. package/dist/cjs/helpers/typography.d.ts +1 -0
  196. package/dist/cjs/helpers/typography.js +25 -0
  197. package/dist/cjs/helpers/typography.js.map +1 -0
  198. package/dist/cjs/hooks/useBooleanState.d.ts +6 -0
  199. package/dist/cjs/hooks/useBooleanState.js +42 -0
  200. package/dist/cjs/hooks/useBooleanState.js.map +1 -0
  201. package/dist/cjs/hooks/useCalendar.d.ts +18 -0
  202. package/dist/cjs/hooks/useCalendar.js +78 -0
  203. package/dist/cjs/hooks/useCalendar.js.map +1 -0
  204. package/dist/cjs/hooks/useDateInput.d.ts +30 -0
  205. package/dist/cjs/hooks/useDateInput.js +180 -0
  206. package/dist/cjs/hooks/useDateInput.js.map +1 -0
  207. package/dist/cjs/hooks/useKeyboardInputTracker.d.ts +2 -0
  208. package/dist/cjs/hooks/useKeyboardInputTracker.js +15 -4
  209. package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
  210. package/dist/cjs/hooks/useOrientationChange.d.ts +7 -0
  211. package/dist/cjs/hooks/useOrientationChange.js +56 -0
  212. package/dist/cjs/hooks/useOrientationChange.js.map +1 -0
  213. package/dist/cjs/hooks/usePagination.d.ts +34 -0
  214. package/dist/cjs/hooks/usePagination.js +81 -0
  215. package/dist/cjs/hooks/usePagination.js.map +1 -0
  216. package/dist/cjs/index.d.ts +12 -2
  217. package/dist/cjs/index.js +68 -4
  218. package/dist/cjs/index.js.map +1 -1
  219. package/dist/cjs/lib/calendar.d.ts +14 -0
  220. package/dist/cjs/lib/calendar.js +142 -0
  221. package/dist/cjs/lib/calendar.js.map +1 -0
  222. package/dist/cjs/lib/utils.d.ts +2 -1
  223. package/dist/cjs/lib/utils.js +7 -0
  224. package/dist/cjs/lib/utils.js.map +1 -1
  225. package/dist/cjs/tokenized/index.d.ts +14 -0
  226. package/dist/cjs/tokenized/index.js +56 -0
  227. package/dist/cjs/tokenized/index.js.map +1 -1
  228. package/dist/cjs/unstable/index.d.ts +6 -6
  229. package/dist/cjs/unstable/index.js +6 -8
  230. package/dist/cjs/unstable/index.js.map +1 -1
  231. package/dist/components/ActionSheet/ActionSheet.js +2 -5
  232. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  233. package/dist/components/ActionSheetItem/ActionSheetItem.js +2 -5
  234. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  235. package/dist/components/Alert/Alert.js +3 -6
  236. package/dist/components/Alert/Alert.js.map +1 -1
  237. package/dist/components/Banner/Banner.js +1 -3
  238. package/dist/components/Banner/Banner.js.map +1 -1
  239. package/dist/components/Button/Button.d.ts +1 -1
  240. package/dist/components/Button/Button.js +6 -10
  241. package/dist/components/Button/Button.js.map +1 -1
  242. package/dist/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  243. package/dist/components/ButtonGroup/ButtonGroup.js +23 -0
  244. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -0
  245. package/dist/components/Calendar/Calendar.d.ts +21 -0
  246. package/dist/components/Calendar/Calendar.js +133 -0
  247. package/dist/components/Calendar/Calendar.js.map +1 -0
  248. package/dist/components/CalendarDay/CalendarDay.d.ts +22 -0
  249. package/dist/components/CalendarDay/CalendarDay.js +91 -0
  250. package/dist/components/CalendarDay/CalendarDay.js.map +1 -0
  251. package/dist/components/CalendarDays/CalendarDays.d.ts +22 -0
  252. package/dist/components/CalendarDays/CalendarDays.js +94 -0
  253. package/dist/components/CalendarDays/CalendarDays.js.map +1 -0
  254. package/dist/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  255. package/dist/components/CalendarHeader/CalendarHeader.js +118 -0
  256. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -0
  257. package/dist/components/CalendarRange/CalendarRange.d.ts +16 -0
  258. package/dist/components/CalendarRange/CalendarRange.js +196 -0
  259. package/dist/components/CalendarRange/CalendarRange.js.map +1 -0
  260. package/dist/components/CalendarTime/CalendarTime.d.ts +11 -0
  261. package/dist/components/CalendarTime/CalendarTime.js +73 -0
  262. package/dist/components/CalendarTime/CalendarTime.js.map +1 -0
  263. package/dist/components/Checkbox/Checkbox.js +1 -4
  264. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  265. package/dist/components/Chip/Chip.js +1 -3
  266. package/dist/components/Chip/Chip.js.map +1 -1
  267. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -2
  268. package/dist/components/ChipsSelect/ChipsSelect.js +4 -7
  269. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  270. package/dist/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  271. package/dist/components/ConfigProvider/ConfigProvider.js +36 -20
  272. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  273. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
  274. package/dist/components/ConfigProvider/ConfigProviderContext.js +2 -3
  275. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  276. package/dist/components/ContentCard/ContentCard.js +3 -5
  277. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  278. package/dist/components/Counter/Counter.js +2 -2
  279. package/dist/components/Counter/Counter.js.map +1 -1
  280. package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  281. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  282. package/dist/components/CustomSelect/CustomSelect.d.ts +10 -1
  283. package/dist/components/CustomSelect/CustomSelect.js +44 -15
  284. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  285. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
  286. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +14 -5
  287. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  288. package/dist/components/CustomSelectOption/CustomSelectOption.js +2 -4
  289. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  290. package/dist/components/DateInput/DateInput.d.ts +12 -0
  291. package/dist/components/DateInput/DateInput.js +261 -0
  292. package/dist/components/DateInput/DateInput.js.map +1 -0
  293. package/dist/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  294. package/dist/components/DateRangeInput/DateRangeInput.js +281 -0
  295. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -0
  296. package/dist/components/Div/Div.d.ts +1 -2
  297. package/dist/components/Div/Div.js +1 -3
  298. package/dist/components/Div/Div.js.map +1 -1
  299. package/dist/components/Footer/Footer.js +1 -3
  300. package/dist/components/Footer/Footer.js.map +1 -1
  301. package/dist/components/FormItem/FormItem.js +1 -4
  302. package/dist/components/FormItem/FormItem.js.map +1 -1
  303. package/dist/components/FormStatus/FormStatus.js +2 -7
  304. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  305. package/dist/components/Group/Group.js +2 -4
  306. package/dist/components/Group/Group.js.map +1 -1
  307. package/dist/components/Header/Header.js +7 -20
  308. package/dist/components/Header/Header.js.map +1 -1
  309. package/dist/components/HorizontalCell/HorizontalCell.js +3 -8
  310. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  311. package/dist/components/IconButton/IconButton.d.ts +1 -1
  312. package/dist/components/InfoRow/InfoRow.js +1 -2
  313. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  314. package/dist/components/InputLike/InputLike.d.ts +10 -0
  315. package/dist/components/InputLike/InputLike.js +52 -0
  316. package/dist/components/InputLike/InputLike.js.map +1 -0
  317. package/dist/components/InputLike/InputLikeDivider.d.ts +3 -0
  318. package/dist/components/InputLike/InputLikeDivider.js +13 -0
  319. package/dist/components/InputLike/InputLikeDivider.js.map +1 -0
  320. package/dist/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  321. package/dist/components/LocaleProviderContext/LocaleProviderContext.js +3 -0
  322. package/dist/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
  323. package/dist/components/ModalPage/ModalPage.js +4 -5
  324. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  325. package/dist/components/Pagination/Pagination.d.ts +42 -0
  326. package/dist/components/Pagination/Pagination.js +129 -0
  327. package/dist/components/Pagination/Pagination.js.map +1 -0
  328. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  329. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
  330. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  331. package/dist/components/PromoBanner/PromoBanner.js +1 -5
  332. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  333. package/dist/components/Radio/Radio.js +1 -4
  334. package/dist/components/Radio/Radio.js.map +1 -1
  335. package/dist/components/Removable/Removable.js +8 -4
  336. package/dist/components/Removable/Removable.js.map +1 -1
  337. package/dist/components/RichCell/RichCell.d.ts +3 -2
  338. package/dist/components/RichCell/RichCell.js +0 -1
  339. package/dist/components/RichCell/RichCell.js.map +1 -1
  340. package/dist/components/Select/Select.d.ts +1 -1
  341. package/dist/components/SelectMimicry/SelectMimicry.d.ts +5 -1
  342. package/dist/components/SelectMimicry/SelectMimicry.js +10 -5
  343. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  344. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  345. package/dist/components/SimpleCell/SimpleCell.js +0 -1
  346. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  347. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
  348. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +1 -3
  349. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  350. package/dist/components/Spacing/Spacing.js +2 -2
  351. package/dist/components/Spacing/Spacing.js.map +1 -1
  352. package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -6
  353. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  354. package/dist/components/Tappable/Tappable.d.ts +3 -1
  355. package/dist/components/Tappable/Tappable.js +10 -11
  356. package/dist/components/Tappable/Tappable.js.map +1 -1
  357. package/dist/components/TextTooltip/TextTooltip.js +1 -2
  358. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  359. package/dist/components/Tooltip/Tooltip.js +1 -2
  360. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  361. package/dist/components/Typography/Caption/Caption.d.ts +8 -4
  362. package/dist/components/Typography/Caption/Caption.js +10 -14
  363. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  364. package/dist/components/Typography/Subhead/Subhead.d.ts +6 -1
  365. package/dist/components/Typography/Subhead/Subhead.js +13 -7
  366. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  367. package/dist/components/Typography/Title/Title.d.ts +3 -1
  368. package/dist/components/Typography/Title/Title.js +3 -2
  369. package/dist/components/Typography/Title/Title.js.map +1 -1
  370. package/dist/components/UsersStack/UsersStack.js +2 -4
  371. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  372. package/dist/components/View/ViewInfinite.d.ts +2 -2
  373. package/dist/components/View/ViewInfinite.js +10 -11
  374. package/dist/components/View/ViewInfinite.js.map +1 -1
  375. package/dist/components.css +5 -5
  376. package/dist/components.css.map +1 -1
  377. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -5
  378. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  379. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +2 -5
  380. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  381. package/dist/cssm/components/Alert/Alert.js +3 -6
  382. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  383. package/dist/cssm/components/Banner/Banner.js +1 -3
  384. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  385. package/dist/cssm/components/Button/Button.css +1 -1
  386. package/dist/cssm/components/Button/Button.d.ts +1 -1
  387. package/dist/cssm/components/Button/Button.js +6 -10
  388. package/dist/cssm/components/Button/Button.js.map +1 -1
  389. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -0
  390. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  391. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +24 -0
  392. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -0
  393. package/dist/cssm/components/Calendar/Calendar.css +1 -0
  394. package/dist/cssm/components/Calendar/Calendar.d.ts +21 -0
  395. package/dist/cssm/components/Calendar/Calendar.js +134 -0
  396. package/dist/cssm/components/Calendar/Calendar.js.map +1 -0
  397. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -0
  398. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +22 -0
  399. package/dist/cssm/components/CalendarDay/CalendarDay.js +92 -0
  400. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -0
  401. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -0
  402. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +22 -0
  403. package/dist/cssm/components/CalendarDays/CalendarDays.js +95 -0
  404. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -0
  405. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -0
  406. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  407. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +119 -0
  408. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -0
  409. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -0
  410. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +16 -0
  411. package/dist/cssm/components/CalendarRange/CalendarRange.js +197 -0
  412. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -0
  413. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -0
  414. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +11 -0
  415. package/dist/cssm/components/CalendarTime/CalendarTime.js +74 -0
  416. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -0
  417. package/dist/cssm/components/Checkbox/Checkbox.js +1 -4
  418. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  419. package/dist/cssm/components/Chip/Chip.js +1 -3
  420. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  421. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -2
  422. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +4 -7
  423. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  424. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  425. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +36 -20
  426. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  427. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
  428. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +2 -3
  429. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  430. package/dist/cssm/components/ContentCard/ContentCard.js +3 -5
  431. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  432. package/dist/cssm/components/Counter/Counter.js +2 -2
  433. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  434. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  435. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  436. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  437. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +10 -1
  438. package/dist/cssm/components/CustomSelect/CustomSelect.js +44 -15
  439. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  440. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
  441. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
  442. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +14 -5
  443. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  444. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +2 -4
  445. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  446. package/dist/cssm/components/DateInput/DateInput.css +1 -0
  447. package/dist/cssm/components/DateInput/DateInput.d.ts +12 -0
  448. package/dist/cssm/components/DateInput/DateInput.js +262 -0
  449. package/dist/cssm/components/DateInput/DateInput.js.map +1 -0
  450. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -0
  451. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  452. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +282 -0
  453. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -0
  454. package/dist/cssm/components/Div/Div.css +1 -1
  455. package/dist/cssm/components/Div/Div.d.ts +1 -2
  456. package/dist/cssm/components/Div/Div.js +1 -3
  457. package/dist/cssm/components/Div/Div.js.map +1 -1
  458. package/dist/cssm/components/Footer/Footer.js +1 -3
  459. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  460. package/dist/cssm/components/FormField/FormField.css +1 -1
  461. package/dist/cssm/components/FormItem/FormItem.js +1 -4
  462. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  463. package/dist/cssm/components/FormStatus/FormStatus.js +2 -7
  464. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  465. package/dist/cssm/components/Group/Group.js +2 -4
  466. package/dist/cssm/components/Group/Group.js.map +1 -1
  467. package/dist/cssm/components/Header/Header.js +7 -20
  468. package/dist/cssm/components/Header/Header.js.map +1 -1
  469. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -8
  470. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  471. package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
  472. package/dist/cssm/components/InfoRow/InfoRow.js +1 -2
  473. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  474. package/dist/cssm/components/InputLike/InputLike.css +1 -0
  475. package/dist/cssm/components/InputLike/InputLike.d.ts +10 -0
  476. package/dist/cssm/components/InputLike/InputLike.js +53 -0
  477. package/dist/cssm/components/InputLike/InputLike.js.map +1 -0
  478. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -0
  479. package/dist/cssm/components/InputLike/InputLikeDivider.d.ts +3 -0
  480. package/dist/cssm/components/InputLike/InputLikeDivider.js +14 -0
  481. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -0
  482. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  483. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js +3 -0
  484. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
  485. package/dist/cssm/components/ModalPage/ModalPage.js +4 -5
  486. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  487. package/dist/cssm/components/Pagination/Pagination.css +1 -0
  488. package/dist/cssm/components/Pagination/Pagination.d.ts +42 -0
  489. package/dist/cssm/components/Pagination/Pagination.js +130 -0
  490. package/dist/cssm/components/Pagination/Pagination.js.map +1 -0
  491. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  492. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
  493. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  494. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -5
  495. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  496. package/dist/cssm/components/Radio/Radio.js +1 -4
  497. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  498. package/dist/cssm/components/Removable/Removable.js +8 -4
  499. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  500. package/dist/cssm/components/RichCell/RichCell.d.ts +3 -2
  501. package/dist/cssm/components/RichCell/RichCell.js +0 -1
  502. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  503. package/dist/cssm/components/Select/Select.css +1 -1
  504. package/dist/cssm/components/Select/Select.d.ts +1 -1
  505. package/dist/cssm/components/SelectMimicry/SelectMimicry.css +1 -0
  506. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +5 -1
  507. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +11 -5
  508. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  509. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
  510. package/dist/cssm/components/SimpleCell/SimpleCell.js +0 -1
  511. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  512. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
  513. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +1 -3
  514. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  515. package/dist/cssm/components/Spacing/Spacing.js +2 -2
  516. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  517. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -6
  518. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  519. package/dist/cssm/components/Tappable/Tappable.d.ts +3 -1
  520. package/dist/cssm/components/Tappable/Tappable.js +10 -11
  521. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  522. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -2
  523. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  524. package/dist/cssm/components/Tooltip/Tooltip.js +1 -2
  525. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  526. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  527. package/dist/cssm/components/Typography/Caption/Caption.d.ts +8 -4
  528. package/dist/cssm/components/Typography/Caption/Caption.js +10 -14
  529. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  530. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  531. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +6 -1
  532. package/dist/cssm/components/Typography/Subhead/Subhead.js +13 -7
  533. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  534. package/dist/cssm/components/Typography/Title/Title.d.ts +3 -1
  535. package/dist/cssm/components/Typography/Title/Title.js +3 -2
  536. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  537. package/dist/cssm/components/UsersStack/UsersStack.js +2 -4
  538. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  539. package/dist/cssm/components/View/ViewInfinite.d.ts +2 -2
  540. package/dist/cssm/components/View/ViewInfinite.js +10 -11
  541. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  542. package/dist/cssm/helpers/typography.d.ts +1 -0
  543. package/dist/cssm/helpers/typography.js +18 -0
  544. package/dist/cssm/helpers/typography.js.map +1 -0
  545. package/dist/cssm/hooks/useBooleanState.d.ts +6 -0
  546. package/dist/cssm/hooks/useBooleanState.js +27 -0
  547. package/dist/cssm/hooks/useBooleanState.js.map +1 -0
  548. package/dist/cssm/hooks/useCalendar.d.ts +18 -0
  549. package/dist/cssm/hooks/useCalendar.js +64 -0
  550. package/dist/cssm/hooks/useCalendar.js.map +1 -0
  551. package/dist/cssm/hooks/useDateInput.d.ts +30 -0
  552. package/dist/cssm/hooks/useDateInput.js +163 -0
  553. package/dist/cssm/hooks/useDateInput.js.map +1 -0
  554. package/dist/cssm/hooks/useKeyboardInputTracker.d.ts +2 -0
  555. package/dist/cssm/hooks/useKeyboardInputTracker.js +11 -4
  556. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  557. package/dist/cssm/hooks/useOrientationChange.d.ts +7 -0
  558. package/dist/cssm/hooks/useOrientationChange.js +42 -0
  559. package/dist/cssm/hooks/useOrientationChange.js.map +1 -0
  560. package/dist/cssm/hooks/usePagination.d.ts +34 -0
  561. package/dist/cssm/hooks/usePagination.js +67 -0
  562. package/dist/cssm/hooks/usePagination.js.map +1 -0
  563. package/dist/cssm/index.d.ts +12 -2
  564. package/dist/cssm/index.js +11 -3
  565. package/dist/cssm/index.js.map +1 -1
  566. package/dist/cssm/lib/calendar.d.ts +14 -0
  567. package/dist/cssm/lib/calendar.js +111 -0
  568. package/dist/cssm/lib/calendar.js.map +1 -0
  569. package/dist/cssm/lib/utils.d.ts +2 -1
  570. package/dist/cssm/lib/utils.js +3 -0
  571. package/dist/cssm/lib/utils.js.map +1 -1
  572. package/dist/cssm/styles/components.css +5 -5
  573. package/dist/cssm/styles/themes.css +1 -1
  574. package/dist/cssm/tokenized/index.d.ts +14 -0
  575. package/dist/cssm/tokenized/index.js +7 -0
  576. package/dist/cssm/tokenized/index.js.map +1 -1
  577. package/dist/cssm/unstable/index.d.ts +6 -6
  578. package/dist/cssm/unstable/index.js +3 -3
  579. package/dist/cssm/unstable/index.js.map +1 -1
  580. package/dist/helpers/typography.d.ts +1 -0
  581. package/dist/helpers/typography.js +18 -0
  582. package/dist/helpers/typography.js.map +1 -0
  583. package/dist/hooks/useBooleanState.d.ts +6 -0
  584. package/dist/hooks/useBooleanState.js +27 -0
  585. package/dist/hooks/useBooleanState.js.map +1 -0
  586. package/dist/hooks/useCalendar.d.ts +18 -0
  587. package/dist/hooks/useCalendar.js +64 -0
  588. package/dist/hooks/useCalendar.js.map +1 -0
  589. package/dist/hooks/useDateInput.d.ts +30 -0
  590. package/dist/hooks/useDateInput.js +163 -0
  591. package/dist/hooks/useDateInput.js.map +1 -0
  592. package/dist/hooks/useKeyboardInputTracker.d.ts +2 -0
  593. package/dist/hooks/useKeyboardInputTracker.js +11 -4
  594. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  595. package/dist/hooks/useOrientationChange.d.ts +7 -0
  596. package/dist/hooks/useOrientationChange.js +42 -0
  597. package/dist/hooks/useOrientationChange.js.map +1 -0
  598. package/dist/hooks/usePagination.d.ts +34 -0
  599. package/dist/hooks/usePagination.js +67 -0
  600. package/dist/hooks/usePagination.js.map +1 -0
  601. package/dist/index.d.ts +12 -2
  602. package/dist/index.js +11 -3
  603. package/dist/index.js.map +1 -1
  604. package/dist/lib/calendar.d.ts +14 -0
  605. package/dist/lib/calendar.js +111 -0
  606. package/dist/lib/calendar.js.map +1 -0
  607. package/dist/lib/utils.d.ts +2 -1
  608. package/dist/lib/utils.js +3 -0
  609. package/dist/lib/utils.js.map +1 -1
  610. package/dist/tokenized/index.d.ts +14 -0
  611. package/dist/tokenized/index.js +7 -0
  612. package/dist/tokenized/index.js.map +1 -1
  613. package/dist/unstable/index.d.ts +6 -6
  614. package/dist/unstable/index.js +3 -3
  615. package/dist/unstable/index.js.map +1 -1
  616. package/dist/vkui.css +6 -6
  617. package/dist/vkui.css.map +1 -1
  618. package/package.json +14 -11
  619. package/src/components/ActionSheet/ActionSheet.tsx +3 -6
  620. package/src/components/ActionSheetItem/ActionSheetItem.tsx +3 -11
  621. package/src/components/Alert/Alert.tsx +3 -7
  622. package/src/components/Alert/Readme.md +4 -4
  623. package/src/components/AppRoot/Readme.md +2 -2
  624. package/src/components/Banner/Banner.tsx +1 -1
  625. package/src/components/Button/Button.css +26 -1
  626. package/src/components/Button/Button.tsx +6 -9
  627. package/src/components/ButtonGroup/ButtonGroup.css +52 -0
  628. package/src/components/ButtonGroup/ButtonGroup.tsx +48 -0
  629. package/src/components/ButtonGroup/Readme.md +311 -0
  630. package/src/components/Calendar/Calendar.css +31 -0
  631. package/src/components/Calendar/Calendar.tsx +184 -0
  632. package/src/components/Calendar/Readme.md +124 -0
  633. package/src/components/CalendarDay/CalendarDay.css +85 -0
  634. package/src/components/CalendarDay/CalendarDay.tsx +114 -0
  635. package/src/components/CalendarDays/CalendarDays.css +31 -0
  636. package/src/components/CalendarDays/CalendarDays.tsx +131 -0
  637. package/src/components/CalendarHeader/CalendarHeader.css +50 -0
  638. package/src/components/CalendarHeader/CalendarHeader.tsx +167 -0
  639. package/src/components/CalendarRange/CalendarRange.css +27 -0
  640. package/src/components/CalendarRange/CalendarRange.tsx +278 -0
  641. package/src/components/CalendarRange/Readme.md +85 -0
  642. package/src/components/CalendarTime/CalendarTime.css +18 -0
  643. package/src/components/CalendarTime/CalendarTime.tsx +88 -0
  644. package/src/components/Checkbox/Checkbox.tsx +2 -9
  645. package/src/components/Chip/Chip.tsx +2 -8
  646. package/src/components/ChipsSelect/ChipsSelect.tsx +6 -7
  647. package/src/components/ConfigProvider/ConfigProvider.tsx +36 -18
  648. package/src/components/ConfigProvider/ConfigProviderContext.tsx +9 -13
  649. package/src/components/ContentCard/ContentCard.tsx +3 -10
  650. package/src/components/Counter/Counter.tsx +2 -2
  651. package/src/components/CustomScrollView/CustomScrollView.tsx +1 -1
  652. package/src/components/CustomSelect/CustomSelect.css +0 -15
  653. package/src/components/CustomSelect/CustomSelect.tsx +46 -7
  654. package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +13 -1
  655. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +12 -3
  656. package/src/components/CustomSelectOption/CustomSelectOption.tsx +3 -7
  657. package/src/components/CustomSelectOption/Readme.md +1 -1
  658. package/src/components/DateInput/DateInput.css +20 -0
  659. package/src/components/DateInput/DateInput.tsx +317 -0
  660. package/src/components/DateInput/Readme.md +116 -0
  661. package/src/components/DateRangeInput/DateRangeInput.css +16 -0
  662. package/src/components/DateRangeInput/DateRangeInput.tsx +350 -0
  663. package/src/components/DateRangeInput/Readme.md +96 -0
  664. package/src/components/Div/Div.css +1 -8
  665. package/src/components/Div/Div.tsx +2 -5
  666. package/src/components/Footer/Footer.tsx +2 -8
  667. package/src/components/Footer/Readme.md +1 -1
  668. package/src/components/FormField/FormField.css +33 -0
  669. package/src/components/FormItem/FormItem.tsx +3 -9
  670. package/src/components/FormStatus/FormStatus.tsx +3 -9
  671. package/src/components/Gallery/Readme.md +1 -1
  672. package/src/components/Group/Group.tsx +2 -4
  673. package/src/components/Header/Header.tsx +8 -11
  674. package/src/components/HorizontalCell/HorizontalCell.tsx +4 -12
  675. package/src/components/InfoRow/InfoRow.tsx +1 -1
  676. package/src/components/InputLike/InputLike.css +25 -0
  677. package/src/components/InputLike/InputLike.tsx +72 -0
  678. package/src/components/InputLike/InputLikeDivider.css +4 -0
  679. package/src/components/InputLike/InputLikeDivider.tsx +12 -0
  680. package/src/components/LocaleProviderContext/LocaleProviderContext.tsx +5 -0
  681. package/src/components/ModalPage/ModalPage.tsx +10 -4
  682. package/src/components/Pagination/Pagination.css +62 -0
  683. package/src/components/Pagination/Pagination.tsx +196 -0
  684. package/src/components/Pagination/Readme.md +110 -0
  685. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +2 -8
  686. package/src/components/PopoutWrapper/Readme.md +1 -1
  687. package/src/components/Popper/Readme.md +1 -1
  688. package/src/components/PromoBanner/PromoBanner.tsx +3 -5
  689. package/src/components/Radio/Radio.tsx +2 -9
  690. package/src/components/Removable/Removable.tsx +9 -7
  691. package/src/components/RichCell/Readme.md +4 -4
  692. package/src/components/RichCell/RichCell.tsx +3 -6
  693. package/src/components/RichTooltip/Readme.md +1 -1
  694. package/src/components/Select/Select.css +5 -0
  695. package/src/components/SelectMimicry/SelectMimicry.css +10 -0
  696. package/src/components/SelectMimicry/SelectMimicry.tsx +13 -3
  697. package/src/components/SimpleCell/SimpleCell.tsx +1 -5
  698. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +0 -3
  699. package/src/components/Spacing/Spacing.tsx +2 -2
  700. package/src/components/SubnavigationButton/SubnavigationButton.tsx +3 -9
  701. package/src/components/Tabbar/Readme.md +1 -1
  702. package/src/components/Tappable/Tappable.tsx +12 -3
  703. package/src/components/TextTooltip/Readme.md +1 -1
  704. package/src/components/TextTooltip/TextTooltip.tsx +2 -6
  705. package/src/components/Tooltip/Tooltip.tsx +2 -6
  706. package/src/components/Typography/Caption/Caption.css +61 -19
  707. package/src/components/Typography/Caption/Caption.tsx +24 -15
  708. package/src/components/Typography/Caption/Readme.md +26 -48
  709. package/src/components/Typography/Subhead/Readme.md +18 -24
  710. package/src/components/Typography/Subhead/Subhead.css +22 -7
  711. package/src/components/Typography/Subhead/Subhead.tsx +25 -7
  712. package/src/components/Typography/Title/Title.tsx +6 -3
  713. package/src/components/UsersStack/Readme.md +1 -1
  714. package/src/components/UsersStack/UsersStack.tsx +3 -4
  715. package/src/components/View/Readme.md +1 -1
  716. package/src/components/View/ViewInfinite.tsx +3 -4
  717. package/src/helpers/typography.ts +24 -0
  718. package/src/hooks/useBooleanState.ts +19 -0
  719. package/src/hooks/useCalendar.ts +78 -0
  720. package/src/hooks/useDateInput.ts +213 -0
  721. package/src/hooks/useKeyboardInputTracker.ts +25 -8
  722. package/src/hooks/useOrientationChange.ts +39 -0
  723. package/src/hooks/usePagination.ts +96 -0
  724. package/src/index.ts +12 -2
  725. package/src/lib/calendar.ts +123 -0
  726. package/src/lib/utils.ts +4 -1
  727. package/src/styles/components.css +14 -0
  728. package/src/tokenized/index.ts +21 -0
  729. package/src/unstable/index.ts +6 -6
  730. package/postcss.config.js +0 -54
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["React","DropdownIcon","classNames","ChipsInput","chipsInputDefaultProps","CustomSelectOption","useChipsSelect","withAdaptivity","noop","useDOM","Caption","prefixClass","useExternRef","useGlobalEventListener","defaultFilterFn","CustomSelectDropdown","FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","emptyText","creatableText","onChangeStart","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","renderOption","option","restProps","ChipsSelect","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport ChipsInput, {\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport CustomSelectOption, {\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающиего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype focusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: focusActionType = \"next\";\nconst FOCUS_ACTION_PREV: focusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelect = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: focusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames({\n [\"ChipsSelect__open\"]: opened,\n [\"ChipsSelect__open--popupDirectionTop\"]: isPopperDirectionTop,\n })}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ChipsSelect__empty\">\n {emptyText}\n </Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(ChipsSelect, { sizeY: true });\n"],"file":"ChipsSelect.js"}
1
+ {"version":3,"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["React","DropdownIcon","classNames","ChipsInput","chipsInputDefaultProps","CustomSelectOption","useChipsSelect","withAdaptivity","noop","useDOM","Caption","prefixClass","useExternRef","useGlobalEventListener","defaultFilterFn","CustomSelectDropdown","FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","emptyText","creatableText","onChangeStart","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","renderOption","option","restProps","ChipsSelectComponent","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter","ChipsSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport ChipsInput, {\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport CustomSelectOption, {\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающиего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype focusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: focusActionType = \"next\";\nconst FOCUS_ACTION_PREV: focusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelectComponent = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: focusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames({\n [\"ChipsSelect__open\"]: opened,\n [\"ChipsSelect__open--popupDirectionTop\"]: isPopperDirectionTop,\n })}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption vkuiClass=\"ChipsSelect__empty\">{emptyText}</Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\nexport const ChipsSelect = withAdaptivity(ChipsSelectComponent, {\n sizeY: true,\n});\n"],"file":"ChipsSelect.js"}
@@ -7,6 +7,10 @@ export interface ConfigProviderProps extends Partial<ConfigProviderContextInterf
7
7
  * Цветовая схема приложения
8
8
  */
9
9
  scheme?: AppearanceScheme;
10
+ /**
11
+ Локаль ([список](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry))
12
+ */
13
+ locale?: string;
10
14
  }
11
15
  declare const ConfigProvider: React.FC<ConfigProviderProps>;
12
16
  export default ConfigProvider;
@@ -1,17 +1,17 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- var _excluded = ["children"];
5
2
  import { createScopedElement } from "../../lib/jsxRuntime";
6
3
  import * as React from "react";
4
+ import vkBridge from "@vkontakte/vk-bridge";
7
5
  import { canUseDOM, useDOM } from "../../lib/dom";
8
- import { ConfigProviderContext, defaultConfigProviderProps } from "./ConfigProviderContext";
6
+ import { ConfigProviderContext, WebviewType } from "./ConfigProviderContext";
9
7
  import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
10
8
  import { useObjectMemo } from "../../hooks/useObjectMemo";
11
9
  import { noop } from "../../lib/utils";
12
10
  import { warnOnce } from "../../lib/warnOnce";
13
11
  import { normalizeScheme, Scheme } from "../../helpers/scheme";
14
12
  import { AppearanceProvider, generateVKUITokensClassName } from "../AppearanceProvider/AppearanceProvider";
13
+ import { LocaleProviderContext } from "../LocaleProviderContext/LocaleProviderContext";
14
+ import { platform as resolvePlatform } from "../../lib/platform";
15
15
  var warn = warnOnce("ConfigProvider");
16
16
 
17
17
  function useSchemeDetector(node, _scheme) {
@@ -55,14 +55,22 @@ var deriveAppearance = function deriveAppearance(scheme) {
55
55
 
56
56
  var ConfigProvider = function ConfigProvider(_ref) {
57
57
  var children = _ref.children,
58
- props = _objectWithoutProperties(_ref, _excluded);
59
-
60
- var config = _objectSpread(_objectSpread({}, defaultConfigProviderProps), props);
61
-
62
- var platform = config.platform,
63
- appearance = config.appearance;
64
- var scheme = normalizeScheme({
65
- scheme: config.scheme,
58
+ _ref$webviewType = _ref.webviewType,
59
+ webviewType = _ref$webviewType === void 0 ? WebviewType.VKAPPS : _ref$webviewType,
60
+ _ref$isWebView = _ref.isWebView,
61
+ isWebView = _ref$isWebView === void 0 ? vkBridge.isWebView() : _ref$isWebView,
62
+ _ref$transitionMotion = _ref.transitionMotionEnabled,
63
+ transitionMotionEnabled = _ref$transitionMotion === void 0 ? true : _ref$transitionMotion,
64
+ _ref$platform = _ref.platform,
65
+ platform = _ref$platform === void 0 ? resolvePlatform() : _ref$platform,
66
+ _ref$hasNewTokens = _ref.hasNewTokens,
67
+ hasNewTokens = _ref$hasNewTokens === void 0 ? false : _ref$hasNewTokens,
68
+ appearance = _ref.appearance,
69
+ scheme = _ref.scheme,
70
+ _ref$locale = _ref.locale,
71
+ locale = _ref$locale === void 0 ? "ru" : _ref$locale;
72
+ var normalizedScheme = normalizeScheme({
73
+ scheme: scheme,
66
74
  platform: platform,
67
75
  appearance: appearance
68
76
  });
@@ -72,7 +80,7 @@ var ConfigProvider = function ConfigProvider(_ref) {
72
80
 
73
81
  var target = document === null || document === void 0 ? void 0 : document.body;
74
82
  useIsomorphicLayoutEffect(function () {
75
- if (scheme === "inherit") {
83
+ if (normalizedScheme === "inherit") {
76
84
  return noop;
77
85
  }
78
86
 
@@ -80,12 +88,12 @@ var ConfigProvider = function ConfigProvider(_ref) {
80
88
  warn('<body scheme> was set before VKUI mount - did you forget scheme="inherit"?');
81
89
  }
82
90
 
83
- target === null || target === void 0 ? void 0 : target.setAttribute("scheme", scheme);
91
+ target === null || target === void 0 ? void 0 : target.setAttribute("scheme", normalizedScheme);
84
92
  return function () {
85
93
  return target === null || target === void 0 ? void 0 : target.removeAttribute("scheme");
86
94
  };
87
- }, [scheme]);
88
- var realScheme = useSchemeDetector(target, scheme);
95
+ }, [normalizedScheme]);
96
+ var realScheme = useSchemeDetector(target, normalizedScheme);
89
97
  var derivedAppearance = deriveAppearance(realScheme);
90
98
  useIsomorphicLayoutEffect(function () {
91
99
  var VKUITokensClassName = generateVKUITokensClassName(platform, derivedAppearance);
@@ -94,14 +102,22 @@ var ConfigProvider = function ConfigProvider(_ref) {
94
102
  target === null || target === void 0 ? void 0 : target.classList.remove(VKUITokensClassName);
95
103
  };
96
104
  }, [platform, derivedAppearance]);
97
- var configContext = useObjectMemo(_objectSpread({
98
- appearance: derivedAppearance
99
- }, config));
105
+ var configContext = useObjectMemo({
106
+ webviewType: webviewType,
107
+ isWebView: isWebView,
108
+ transitionMotionEnabled: transitionMotionEnabled,
109
+ hasNewTokens: hasNewTokens,
110
+ platform: platform,
111
+ scheme: scheme,
112
+ appearance: appearance || derivedAppearance
113
+ });
100
114
  return createScopedElement(ConfigProviderContext.Provider, {
101
115
  value: configContext
116
+ }, createScopedElement(LocaleProviderContext.Provider, {
117
+ value: locale
102
118
  }, createScopedElement(AppearanceProvider, {
103
119
  appearance: configContext.appearance
104
- }, children));
120
+ }, children)));
105
121
  }; // eslint-disable-next-line import/no-default-export
106
122
 
107
123
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProvider.tsx"],"names":["React","canUseDOM","useDOM","ConfigProviderContext","defaultConfigProviderProps","useIsomorphicLayoutEffect","useObjectMemo","noop","warnOnce","normalizeScheme","Scheme","AppearanceProvider","generateVKUITokensClassName","warn","useSchemeDetector","node","_scheme","inherit","getScheme","useCallback","undefined","getAttribute","useState","resolvedScheme","setScheme","useEffect","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","deriveAppearance","scheme","SPACE_GRAY","VKCOM_DARK","ConfigProvider","children","props","config","platform","appearance","document","target","body","process","env","NODE_ENV","hasAttribute","setAttribute","removeAttribute","realScheme","derivedAppearance","VKUITokensClassName","classList","add","remove","configContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { canUseDOM, useDOM } from \"../../lib/dom\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n defaultConfigProviderProps,\n} from \"./ConfigProviderContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n normalizeScheme,\n AppearanceScheme,\n Scheme,\n} from \"../../helpers/scheme\";\nimport {\n AppearanceProvider,\n generateVKUITokensClassName,\n} from \"../AppearanceProvider/AppearanceProvider\";\n\nexport interface ConfigProviderProps\n extends Partial<ConfigProviderContextInterface> {\n /**\n * @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance\n * Цветовая схема приложения\n */\n scheme?: AppearanceScheme;\n}\n\nconst warn = warnOnce(\"ConfigProvider\");\n\nfunction useSchemeDetector(\n node: HTMLElement | undefined | null,\n _scheme: Scheme | \"inherit\"\n) {\n const inherit = _scheme === \"inherit\";\n const getScheme = React.useCallback(() => {\n if (!inherit || !canUseDOM || !node) {\n return undefined;\n }\n return node.getAttribute(\"scheme\") as Scheme;\n }, [inherit, node]);\n const [resolvedScheme, setScheme] = React.useState(getScheme());\n\n React.useEffect(() => {\n if (!inherit || !node) {\n return noop;\n }\n setScheme(getScheme());\n const observer = new MutationObserver(() => setScheme(getScheme()));\n observer.observe(node, { attributes: true, attributeFilter: [\"scheme\"] });\n return () => observer.disconnect();\n }, [getScheme, inherit, node]);\n\n return _scheme === \"inherit\" ? resolvedScheme : _scheme;\n}\n\nconst deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK\n ? \"dark\"\n : \"light\";\n\nconst ConfigProvider: React.FC<ConfigProviderProps> = ({\n children,\n ...props\n}) => {\n const config = { ...defaultConfigProviderProps, ...props };\n const { platform, appearance } = config;\n const scheme = normalizeScheme({\n scheme: config.scheme,\n platform: platform,\n appearance: appearance,\n });\n const { document } = useDOM();\n const target = document?.body;\n\n useIsomorphicLayoutEffect(() => {\n if (scheme === \"inherit\") {\n return noop;\n }\n if (\n process.env.NODE_ENV === \"development\" &&\n target?.hasAttribute(\"scheme\")\n ) {\n warn(\n '<body scheme> was set before VKUI mount - did you forget scheme=\"inherit\"?'\n );\n }\n target?.setAttribute(\"scheme\", scheme);\n return () => target?.removeAttribute(\"scheme\");\n }, [scheme]);\n\n const realScheme = useSchemeDetector(target, scheme);\n const derivedAppearance = deriveAppearance(realScheme);\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(\n platform,\n derivedAppearance\n );\n\n target?.classList.add(VKUITokensClassName);\n\n return () => {\n target?.classList.remove(VKUITokensClassName);\n };\n }, [platform, derivedAppearance]);\n\n const configContext = useObjectMemo({\n appearance: derivedAppearance,\n ...config,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <AppearanceProvider appearance={configContext.appearance}>\n {children}\n </AppearanceProvider>\n </ConfigProviderContext.Provider>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ConfigProvider;\n"],"file":"ConfigProvider.js"}
1
+ {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProvider.tsx"],"names":["React","vkBridge","canUseDOM","useDOM","ConfigProviderContext","WebviewType","useIsomorphicLayoutEffect","useObjectMemo","noop","warnOnce","normalizeScheme","Scheme","AppearanceProvider","generateVKUITokensClassName","LocaleProviderContext","platform","resolvePlatform","warn","useSchemeDetector","node","_scheme","inherit","getScheme","useCallback","undefined","getAttribute","useState","resolvedScheme","setScheme","useEffect","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","deriveAppearance","scheme","SPACE_GRAY","VKCOM_DARK","ConfigProvider","children","webviewType","VKAPPS","isWebView","transitionMotionEnabled","hasNewTokens","appearance","locale","normalizedScheme","document","target","body","process","env","NODE_ENV","hasAttribute","setAttribute","removeAttribute","realScheme","derivedAppearance","VKUITokensClassName","classList","add","remove","configContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { canUseDOM, useDOM } from \"../../lib/dom\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n WebviewType,\n} from \"./ConfigProviderContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n normalizeScheme,\n AppearanceScheme,\n Scheme,\n} from \"../../helpers/scheme\";\nimport {\n AppearanceProvider,\n generateVKUITokensClassName,\n} from \"../AppearanceProvider/AppearanceProvider\";\nimport { LocaleProviderContext } from \"../LocaleProviderContext/LocaleProviderContext\";\nimport { platform as resolvePlatform } from \"../../lib/platform\";\n\nexport interface ConfigProviderProps\n extends Partial<ConfigProviderContextInterface> {\n /**\n * @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance\n * Цветовая схема приложения\n */\n scheme?: AppearanceScheme;\n /**\n Локаль ([список](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry))\n */\n locale?: string;\n}\n\nconst warn = warnOnce(\"ConfigProvider\");\n\nfunction useSchemeDetector(\n node: HTMLElement | undefined | null,\n _scheme: Scheme | \"inherit\"\n) {\n const inherit = _scheme === \"inherit\";\n const getScheme = React.useCallback(() => {\n if (!inherit || !canUseDOM || !node) {\n return undefined;\n }\n return node.getAttribute(\"scheme\") as Scheme;\n }, [inherit, node]);\n const [resolvedScheme, setScheme] = React.useState(getScheme());\n\n React.useEffect(() => {\n if (!inherit || !node) {\n return noop;\n }\n setScheme(getScheme());\n const observer = new MutationObserver(() => setScheme(getScheme()));\n observer.observe(node, { attributes: true, attributeFilter: [\"scheme\"] });\n return () => observer.disconnect();\n }, [getScheme, inherit, node]);\n\n return _scheme === \"inherit\" ? resolvedScheme : _scheme;\n}\n\nconst deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK\n ? \"dark\"\n : \"light\";\n\nconst ConfigProvider: React.FC<ConfigProviderProps> = ({\n children,\n webviewType = WebviewType.VKAPPS,\n isWebView = vkBridge.isWebView(),\n transitionMotionEnabled = true,\n platform = resolvePlatform(),\n hasNewTokens = false,\n appearance,\n scheme,\n locale = \"ru\",\n}) => {\n const normalizedScheme = normalizeScheme({\n scheme,\n platform,\n appearance,\n });\n const { document } = useDOM();\n const target = document?.body;\n\n useIsomorphicLayoutEffect(() => {\n if (normalizedScheme === \"inherit\") {\n return noop;\n }\n if (\n process.env.NODE_ENV === \"development\" &&\n target?.hasAttribute(\"scheme\")\n ) {\n warn(\n '<body scheme> was set before VKUI mount - did you forget scheme=\"inherit\"?'\n );\n }\n target?.setAttribute(\"scheme\", normalizedScheme);\n return () => target?.removeAttribute(\"scheme\");\n }, [normalizedScheme]);\n\n const realScheme = useSchemeDetector(target, normalizedScheme);\n const derivedAppearance = deriveAppearance(realScheme);\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(\n platform,\n derivedAppearance\n );\n\n target?.classList.add(VKUITokensClassName);\n\n return () => {\n target?.classList.remove(VKUITokensClassName);\n };\n }, [platform, derivedAppearance]);\n\n const configContext = useObjectMemo({\n webviewType,\n isWebView,\n transitionMotionEnabled,\n hasNewTokens,\n platform,\n scheme,\n appearance: appearance || derivedAppearance,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <LocaleProviderContext.Provider value={locale}>\n <AppearanceProvider appearance={configContext.appearance}>\n {children}\n </AppearanceProvider>\n </LocaleProviderContext.Provider>\n </ConfigProviderContext.Provider>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ConfigProvider;\n"],"file":"ConfigProvider.js"}
@@ -33,11 +33,4 @@ export interface ConfigProviderContextInterface {
33
33
  platform: PlatformType;
34
34
  hasNewTokens: boolean;
35
35
  }
36
- export declare const defaultConfigProviderProps: {
37
- webviewType: WebviewType;
38
- isWebView: boolean;
39
- transitionMotionEnabled: boolean;
40
- platform: string;
41
- hasNewTokens: boolean;
42
- };
43
36
  export declare const ConfigProviderContext: React.Context<ConfigProviderContextInterface>;
@@ -8,7 +8,7 @@ export var WebviewType;
8
8
  WebviewType["INTERNAL"] = "internal";
9
9
  })(WebviewType || (WebviewType = {}));
10
10
 
11
- export var defaultConfigProviderProps = {
11
+ export var ConfigProviderContext = /*#__PURE__*/React.createContext({
12
12
  webviewType: WebviewType.VKAPPS,
13
13
  isWebView: vkBridge.isWebView(),
14
14
  transitionMotionEnabled: true,
@@ -16,6 +16,5 @@ export var defaultConfigProviderProps = {
16
16
  hasNewTokens: false // appearance is auto-detected by default
17
17
  // appearance: Appearance.LIGHT,
18
18
 
19
- };
20
- export var ConfigProviderContext = /*#__PURE__*/React.createContext(defaultConfigProviderProps);
19
+ });
21
20
  //# sourceMappingURL=ConfigProviderContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProviderContext.tsx"],"names":["React","vkBridge","platform","WebviewType","defaultConfigProviderProps","webviewType","VKAPPS","isWebView","transitionMotionEnabled","hasNewTokens","ConfigProviderContext","createContext"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAyC,sBAAzC;AACA,SAAuBC,QAAvB;AAEA,WAAYC,WAAZ;;WAAYA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,KAAAA,W;;AAkCZ,OAAO,IAAMC,0BAA0B,GAAG;AACxCC,EAAAA,WAAW,EAAEF,WAAW,CAACG,MADe;AAExCC,EAAAA,SAAS,EAAEN,QAAQ,CAACM,SAAT,EAF6B;AAGxCC,EAAAA,uBAAuB,EAAE,IAHe;AAIxCN,EAAAA,QAAQ,EAAEA,QAAQ,EAJsB;AAKxCO,EAAAA,YAAY,EAAE,KAL0B,CAMxC;AACA;;AAPwC,CAAnC;AAUP,OAAO,IAAMC,qBAAqB,gBAChCV,KAAK,CAACW,aAAN,CACEP,0BADF,CADK","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { PlatformType, platform } from \"../../lib/platform\";\n\nexport enum WebviewType {\n VKAPPS = \"vkapps\",\n INTERNAL = \"internal\",\n}\n\nexport interface ConfigProviderContextInterface {\n /**\n * Подсказывает приложению, обёрнутому в `ConfigProvider`, где открыто приложение: внутри webview или в мобильном браузере\n */\n isWebView: boolean;\n /**\n * Тип вебвью.<br>\n * В случае `WebviewType.VKAPPS` интерфейс будет адаптирован для отображения в вебвью Mini Apps (системные контролы в правой части шапки)\n */\n webviewType: WebviewType.INTERNAL | WebviewType.VKAPPS;\n /**\n * Тип приложения\n */\n app?: string;\n /**\n * Тип цветовой схемы – `light` или `dark`\n */\n appearance?: AppearanceType;\n /**\n * Включена ли анимация переходов между экранами в `Root` и `View`\n */\n transitionMotionEnabled: boolean;\n /**\n * Платформа\n */\n platform: PlatformType;\n hasNewTokens: boolean;\n}\n\nexport const defaultConfigProviderProps = {\n webviewType: WebviewType.VKAPPS,\n isWebView: vkBridge.isWebView(),\n transitionMotionEnabled: true,\n platform: platform(),\n hasNewTokens: false,\n // appearance is auto-detected by default\n // appearance: Appearance.LIGHT,\n};\n\nexport const ConfigProviderContext =\n React.createContext<ConfigProviderContextInterface>(\n defaultConfigProviderProps\n );\n"],"file":"ConfigProviderContext.js"}
1
+ {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProviderContext.tsx"],"names":["React","vkBridge","platform","WebviewType","ConfigProviderContext","createContext","webviewType","VKAPPS","isWebView","transitionMotionEnabled","hasNewTokens"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAyC,sBAAzC;AACA,SAAuBC,QAAvB;AAEA,WAAYC,WAAZ;;WAAYA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,KAAAA,W;;AAkCZ,OAAO,IAAMC,qBAAqB,gBAChCJ,KAAK,CAACK,aAAN,CAAoD;AAClDC,EAAAA,WAAW,EAAEH,WAAW,CAACI,MADyB;AAElDC,EAAAA,SAAS,EAAEP,QAAQ,CAACO,SAAT,EAFuC;AAGlDC,EAAAA,uBAAuB,EAAE,IAHyB;AAIlDP,EAAAA,QAAQ,EAAEA,QAAQ,EAJgC;AAKlDQ,EAAAA,YAAY,EAAE,KALoC,CAMlD;AACA;;AAPkD,CAApD,CADK","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { PlatformType, platform } from \"../../lib/platform\";\n\nexport enum WebviewType {\n VKAPPS = \"vkapps\",\n INTERNAL = \"internal\",\n}\n\nexport interface ConfigProviderContextInterface {\n /**\n * Подсказывает приложению, обёрнутому в `ConfigProvider`, где открыто приложение: внутри webview или в мобильном браузере\n */\n isWebView: boolean;\n /**\n * Тип вебвью.<br>\n * В случае `WebviewType.VKAPPS` интерфейс будет адаптирован для отображения в вебвью Mini Apps (системные контролы в правой части шапки)\n */\n webviewType: WebviewType.INTERNAL | WebviewType.VKAPPS;\n /**\n * Тип приложения\n */\n app?: string;\n /**\n * Тип цветовой схемы – `light` или `dark`\n */\n appearance?: AppearanceType;\n /**\n * Включена ли анимация переходов между экранами в `Root` и `View`\n */\n transitionMotionEnabled: boolean;\n /**\n * Платформа\n */\n platform: PlatformType;\n hasNewTokens: boolean;\n}\n\nexport const ConfigProviderContext =\n React.createContext<ConfigProviderContextInterface>({\n webviewType: WebviewType.VKAPPS,\n isWebView: vkBridge.isWebView(),\n transitionMotionEnabled: true,\n platform: platform(),\n hasNewTokens: false,\n // appearance is auto-detected by default\n // appearance: Appearance.LIGHT,\n });\n"],"file":"ConfigProviderContext.js"}
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  var _excluded = ["subtitle", "header", "text", "caption", "className", "mode", "style", "getRootRef", "getRef", "maxHeight", "image", "src", "srcSet", "alt", "width", "height", "crossOrigin", "decoding", "loading", "referrerPolicy", "sizes", "useMap"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import { Card } from "../Card/Card";
6
- import Caption from "../Typography/Caption/Caption";
6
+ import { Caption } from "../Typography/Caption/Caption";
7
7
  import Title from "../Typography/Title/Title";
8
8
  import Text from "../Typography/Text/Text";
9
9
  import Tappable from "../Tappable/Tappable";
@@ -82,7 +82,7 @@ var ContentCard = function ContentCard(props) {
82
82
  }, hasReactNode(subtitle) && createScopedElement(Caption, {
83
83
  caps: true,
84
84
  vkuiClass: "ContentCard__text",
85
- weight: "semibold",
85
+ weight: "1",
86
86
  level: "3"
87
87
  }, subtitle), hasReactNode(header) && createScopedElement(Title, {
88
88
  vkuiClass: "ContentCard__text",
@@ -92,9 +92,7 @@ var ContentCard = function ContentCard(props) {
92
92
  vkuiClass: "ContentCard__text",
93
93
  weight: "regular"
94
94
  }, text), hasReactNode(caption) && createScopedElement(Caption, {
95
- vkuiClass: "ContentCard__text",
96
- weight: "regular",
97
- level: "1"
95
+ vkuiClass: "ContentCard__text"
98
96
  }, caption))));
99
97
  };
100
98
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"names":["Card","Caption","Title","Text","Tappable","getClassName","usePlatform","hasReactNode","warnOnce","classNames","warn","ContentCard","props","subtitle","header","text","caption","className","mode","style","getRootRef","getRef","maxHeight","image","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","restProps","platform","source","process","env","NODE_ENV","disabled","onClick","href","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Card, CardProps } from \"../Card/Card\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./ContentCard.css\";\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n Omit<TappableProps, \"getRootRef\" | \"crossOrigin\">,\n Omit<\n React.ImgHTMLAttributes<HTMLImageElement>,\n keyof React.HTMLAttributes<HTMLImageElement>\n >,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком\n */\n subtitle?: React.ReactNode;\n /**\n Заголовок\n */\n header?: React.ReactNode;\n /**\n Текст\n */\n text?: React.ReactNode;\n /**\n Нижний текст\n */\n caption?: React.ReactNode;\n /**\n @deprecated будет удалено в 5.0.0. Используйте src\n */\n image?: string;\n /**\n Максимальная высота изображения\n */\n maxHeight?: number;\n mode?: CardProps[\"mode\"];\n}\n\nconst warn = warnOnce(\"ContentCard\");\nconst ContentCard: React.FC<ContentCardProps> = (props: ContentCardProps) => {\n const {\n subtitle,\n header,\n text,\n caption,\n // card props\n className,\n mode,\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n image,\n src,\n srcSet,\n alt,\n width,\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const source = image || src;\n\n if (image && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство image устарело и будет удалено в 5.0.0. Используйте src\");\n }\n\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n vkuiClass={classNames(getClassName(\"ContentCard\", platform), {\n \"ContentCard--disabled\": restProps.disabled,\n })}\n style={style}\n className={className}\n >\n <Tappable\n {...restProps}\n disabled={restProps.disabled || (!restProps.onClick && !restProps.href)}\n hasHover={false}\n hasActive={false}\n vkuiClass=\"ContentCard__tappable\"\n >\n {(source || srcSet) && (\n <img\n ref={getRef}\n vkuiClass=\"ContentCard__img\"\n src={source}\n srcSet={srcSet}\n alt={alt}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n useMap={useMap}\n height={height}\n style={{ maxHeight }}\n width=\"100%\"\n />\n )}\n <div vkuiClass=\"ContentCard__body\">\n {hasReactNode(subtitle) && (\n <Caption\n caps\n vkuiClass=\"ContentCard__text\"\n weight=\"semibold\"\n level=\"3\"\n >\n {subtitle}\n </Caption>\n )}\n {hasReactNode(header) && (\n <Title vkuiClass=\"ContentCard__text\" weight=\"3\" level=\"1\">\n {header}\n </Title>\n )}\n {hasReactNode(text) && (\n <Text vkuiClass=\"ContentCard__text\" weight=\"regular\">\n {text}\n </Text>\n )}\n {hasReactNode(caption) && (\n <Caption vkuiClass=\"ContentCard__text\" weight=\"regular\" level=\"1\">\n {caption}\n </Caption>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n\nContentCard.defaultProps = {\n mode: \"shadow\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ContentCard;\n"],"file":"ContentCard.js"}
1
+ {"version":3,"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"names":["Card","Caption","Title","Text","Tappable","getClassName","usePlatform","hasReactNode","warnOnce","classNames","warn","ContentCard","props","subtitle","header","text","caption","className","mode","style","getRootRef","getRef","maxHeight","image","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","restProps","platform","source","process","env","NODE_ENV","disabled","onClick","href","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Card, CardProps } from \"../Card/Card\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./ContentCard.css\";\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n Omit<TappableProps, \"getRootRef\" | \"crossOrigin\">,\n Omit<\n React.ImgHTMLAttributes<HTMLImageElement>,\n keyof React.HTMLAttributes<HTMLImageElement>\n >,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком\n */\n subtitle?: React.ReactNode;\n /**\n Заголовок\n */\n header?: React.ReactNode;\n /**\n Текст\n */\n text?: React.ReactNode;\n /**\n Нижний текст\n */\n caption?: React.ReactNode;\n /**\n @deprecated будет удалено в 5.0.0. Используйте src\n */\n image?: string;\n /**\n Максимальная высота изображения\n */\n maxHeight?: number;\n mode?: CardProps[\"mode\"];\n}\n\nconst warn = warnOnce(\"ContentCard\");\nconst ContentCard: React.FC<ContentCardProps> = (props: ContentCardProps) => {\n const {\n subtitle,\n header,\n text,\n caption,\n // card props\n className,\n mode,\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n image,\n src,\n srcSet,\n alt,\n width,\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const source = image || src;\n\n if (image && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство image устарело и будет удалено в 5.0.0. Используйте src\");\n }\n\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n vkuiClass={classNames(getClassName(\"ContentCard\", platform), {\n \"ContentCard--disabled\": restProps.disabled,\n })}\n style={style}\n className={className}\n >\n <Tappable\n {...restProps}\n disabled={restProps.disabled || (!restProps.onClick && !restProps.href)}\n hasHover={false}\n hasActive={false}\n vkuiClass=\"ContentCard__tappable\"\n >\n {(source || srcSet) && (\n <img\n ref={getRef}\n vkuiClass=\"ContentCard__img\"\n src={source}\n srcSet={srcSet}\n alt={alt}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n useMap={useMap}\n height={height}\n style={{ maxHeight }}\n width=\"100%\"\n />\n )}\n <div vkuiClass=\"ContentCard__body\">\n {hasReactNode(subtitle) && (\n <Caption caps vkuiClass=\"ContentCard__text\" weight=\"1\" level=\"3\">\n {subtitle}\n </Caption>\n )}\n {hasReactNode(header) && (\n <Title vkuiClass=\"ContentCard__text\" weight=\"3\" level=\"1\">\n {header}\n </Title>\n )}\n {hasReactNode(text) && (\n <Text vkuiClass=\"ContentCard__text\" weight=\"regular\">\n {text}\n </Text>\n )}\n {hasReactNode(caption) && (\n <Caption vkuiClass=\"ContentCard__text\">{caption}</Caption>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n\nContentCard.defaultProps = {\n mode: \"shadow\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ContentCard;\n"],"file":"ContentCard.js"}
@@ -7,7 +7,7 @@ import * as React from "react";
7
7
  import { classNames } from "../../lib/classNames";
8
8
  import { getClassName } from "../../helpers/getClassName";
9
9
  import { usePlatform } from "../../hooks/usePlatform";
10
- import Caption from "../Typography/Caption/Caption";
10
+ import { Caption } from "../Typography/Caption/Caption";
11
11
  import Text from "../Typography/Text/Text";
12
12
  import { VKCOM } from "../../lib/platform";
13
13
  import { hasReactNode } from "../../lib/utils";
@@ -20,7 +20,7 @@ var CounterTypography = function CounterTypography(_ref) {
20
20
 
21
21
  return size === "s" ? createScopedElement(Caption, _extends({
22
22
  level: "2",
23
- weight: platform === VKCOM ? "medium" : "regular"
23
+ weight: platform === VKCOM ? "1" : undefined
24
24
  }, restProps)) : createScopedElement(Text, _extends({
25
25
  weight: "medium"
26
26
  }, restProps));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Counter/Counter.tsx"],"names":["React","classNames","getClassName","usePlatform","Caption","Text","VKCOM","hasReactNode","CounterTypography","size","platform","restProps","Counter","props","mode","children","Children","count","defaultProps","memo"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,OAAOC,OAAP;AACA,OAAOC,IAAP;AACA,SAASC,KAAT;AACA,SAASC,YAAT;AAEA;;AAcA,IAAMC,iBAAmD,GAAG,SAAtDA,iBAAsD,OAItD;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADDC,SACC;;AACJ,SAAOF,IAAI,KAAK,GAAT,GACL,oBAAC,OAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAEC,QAAQ,KAAKJ,KAAb,GAAqB,QAArB,GAAgC;AAF1C,KAGMK,SAHN,EADK,GAOL,oBAAC,IAAD;AAAM,IAAA,MAAM,EAAC;AAAb,KAA0BA,SAA1B,EAPF;AASD,CAdD;;AAgBA,IAAMC,OAA+B,GAAG,SAAlCA,OAAkC,CAACC,KAAD,EAAyB;AAC/D,MAAQC,IAAR,GAA+CD,KAA/C,CAAQC,IAAR;AAAA,MAAcL,IAAd,GAA+CI,KAA/C,CAAcJ,IAAd;AAAA,MAAoBM,QAApB,GAA+CF,KAA/C,CAAoBE,QAApB;AAAA,MAAiCJ,SAAjC,4BAA+CE,KAA/C;;AACA,MAAMH,QAAQ,GAAGP,WAAW,EAA5B;;AAEA,MAAIH,KAAK,CAACgB,QAAN,CAAeC,KAAf,CAAqBF,QAArB,MAAmC,CAAvC,EAA0C;AACxC,WAAO,IAAP;AACD;;AAED,SACE,yCACMJ,SADN;AAEE,IAAA,SAAS,EAAEV,UAAU,CACnBC,YAAY,CAAC,SAAD,EAAYQ,QAAZ,CADO,qBAEPI,IAFO,wBAGLL,IAHK;AAFvB,MAQGF,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,iBAAD;AACE,IAAA,QAAQ,EAAEL,QADZ;AAEE,IAAA,IAAI,EAAED,IAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGM,QALH,CATJ,CADF;AAoBD,CA5BD;;AA8BAH,OAAO,CAACM,YAAR,GAAuB;AACrBJ,EAAAA,IAAI,EAAE,WADe;AAErBL,EAAAA,IAAI,EAAE;AAFe,CAAvB,C,CAKA;;AACA,4BAAeT,KAAK,CAACmB,IAAN,CAAWP,OAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Text from \"../Typography/Text/Text\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { HasComponent, HasPlatform } from \"../../types\";\nimport \"./Counter.css\";\n\nexport interface CounterProps extends React.HTMLAttributes<HTMLSpanElement> {\n /**\n * Тип счетчика. При использовании компонента в качестве значения свойства `after` у `Button` эти значения игнорируются\n */\n mode?: \"secondary\" | \"primary\" | \"prominent\";\n size?: \"s\" | \"m\";\n}\n\ntype CounterTypographyProps = Pick<CounterProps, \"size\"> &\n HasPlatform &\n HasComponent;\n\nconst CounterTypography: React.FC<CounterTypographyProps> = ({\n size,\n platform,\n ...restProps\n}) => {\n return size === \"s\" ? (\n <Caption\n level=\"2\"\n weight={platform === VKCOM ? \"medium\" : \"regular\"}\n {...restProps}\n />\n ) : (\n <Text weight=\"medium\" {...restProps} />\n );\n};\n\nconst Counter: React.FC<CounterProps> = (props: CounterProps) => {\n const { mode, size, children, ...restProps } = props;\n const platform = usePlatform();\n\n if (React.Children.count(children) === 0) {\n return null;\n }\n\n return (\n <span\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Counter\", platform),\n `Counter--${mode}`,\n `Counter--s-${size}`\n )}\n >\n {hasReactNode(children) && (\n <CounterTypography\n platform={platform}\n size={size}\n vkuiClass=\"Counter__in\"\n >\n {children}\n </CounterTypography>\n )}\n </span>\n );\n};\n\nCounter.defaultProps = {\n mode: \"secondary\",\n size: \"m\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(Counter);\n"],"file":"Counter.js"}
1
+ {"version":3,"sources":["../../../../src/components/Counter/Counter.tsx"],"names":["React","classNames","getClassName","usePlatform","Caption","Text","VKCOM","hasReactNode","CounterTypography","size","platform","restProps","undefined","Counter","props","mode","children","Children","count","defaultProps","memo"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,OAAT;AACA,OAAOC,IAAP;AACA,SAASC,KAAT;AACA,SAASC,YAAT;AAEA;;AAcA,IAAMC,iBAAmD,GAAG,SAAtDA,iBAAsD,OAItD;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADDC,SACC;;AACJ,SAAOF,IAAI,KAAK,GAAT,GACL,oBAAC,OAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAEC,QAAQ,KAAKJ,KAAb,GAAqB,GAArB,GAA2BM;AAFrC,KAGMD,SAHN,EADK,GAOL,oBAAC,IAAD;AAAM,IAAA,MAAM,EAAC;AAAb,KAA0BA,SAA1B,EAPF;AASD,CAdD;;AAgBA,IAAME,OAA+B,GAAG,SAAlCA,OAAkC,CAACC,KAAD,EAAyB;AAC/D,MAAQC,IAAR,GAA+CD,KAA/C,CAAQC,IAAR;AAAA,MAAcN,IAAd,GAA+CK,KAA/C,CAAcL,IAAd;AAAA,MAAoBO,QAApB,GAA+CF,KAA/C,CAAoBE,QAApB;AAAA,MAAiCL,SAAjC,4BAA+CG,KAA/C;;AACA,MAAMJ,QAAQ,GAAGP,WAAW,EAA5B;;AAEA,MAAIH,KAAK,CAACiB,QAAN,CAAeC,KAAf,CAAqBF,QAArB,MAAmC,CAAvC,EAA0C;AACxC,WAAO,IAAP;AACD;;AAED,SACE,yCACML,SADN;AAEE,IAAA,SAAS,EAAEV,UAAU,CACnBC,YAAY,CAAC,SAAD,EAAYQ,QAAZ,CADO,qBAEPK,IAFO,wBAGLN,IAHK;AAFvB,MAQGF,YAAY,CAACS,QAAD,CAAZ,IACC,oBAAC,iBAAD;AACE,IAAA,QAAQ,EAAEN,QADZ;AAEE,IAAA,IAAI,EAAED,IAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGO,QALH,CATJ,CADF;AAoBD,CA5BD;;AA8BAH,OAAO,CAACM,YAAR,GAAuB;AACrBJ,EAAAA,IAAI,EAAE,WADe;AAErBN,EAAAA,IAAI,EAAE;AAFe,CAAvB,C,CAKA;;AACA,4BAAeT,KAAK,CAACoB,IAAN,CAAWP,OAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Text from \"../Typography/Text/Text\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { HasComponent, HasPlatform } from \"../../types\";\nimport \"./Counter.css\";\n\nexport interface CounterProps extends React.HTMLAttributes<HTMLSpanElement> {\n /**\n * Тип счетчика. При использовании компонента в качестве значения свойства `after` у `Button` эти значения игнорируются\n */\n mode?: \"secondary\" | \"primary\" | \"prominent\";\n size?: \"s\" | \"m\";\n}\n\ntype CounterTypographyProps = Pick<CounterProps, \"size\"> &\n HasPlatform &\n HasComponent;\n\nconst CounterTypography: React.FC<CounterTypographyProps> = ({\n size,\n platform,\n ...restProps\n}) => {\n return size === \"s\" ? (\n <Caption\n level=\"2\"\n weight={platform === VKCOM ? \"1\" : undefined}\n {...restProps}\n />\n ) : (\n <Text weight=\"medium\" {...restProps} />\n );\n};\n\nconst Counter: React.FC<CounterProps> = (props: CounterProps) => {\n const { mode, size, children, ...restProps } = props;\n const platform = usePlatform();\n\n if (React.Children.count(children) === 0) {\n return null;\n }\n\n return (\n <span\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Counter\", platform),\n `Counter--${mode}`,\n `Counter--s-${size}`\n )}\n >\n {hasReactNode(children) && (\n <CounterTypography\n platform={platform}\n size={size}\n vkuiClass=\"Counter__in\"\n >\n {children}\n </CounterTypography>\n )}\n </span>\n );\n};\n\nCounter.defaultProps = {\n mode: \"secondary\",\n size: \"m\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(Counter);\n"],"file":"Counter.js"}
@@ -3,7 +3,7 @@ import { DOMProps } from "../../lib/dom";
3
3
  import "./CustomScrollView.css";
4
4
  interface Props extends DOMProps {
5
5
  windowResize?: boolean;
6
- boxRef: React.Ref<HTMLDivElement>;
6
+ boxRef?: React.Ref<HTMLDivElement>;
7
7
  className?: HTMLDivElement["className"];
8
8
  }
9
9
  declare const _default: React.ComponentType<Props>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"names":["React","withDOM","multiRef","setRef","CustomScrollView","NaN","e","props","boxRef","createRef","box","current","barY","trackerY","clientHeight","scrollHeight","ratio","trackerHeight","Math","max","style","display","height","setTrackerPositionFromScroll","scrollTop","preventDefault","startY","clientY","trackerTop","lastTrackerTop","document","addEventListener","onMove","onUp","diff","position","min","setScrollPositionFromTracker","removeEventListener","chooseTransformProp","resize","windowResize","window","prop","undefined","transformProp","progress","setTrackerPosition","children","className","onDragStart","scroll","Component"],"mappings":";;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAAmBC,OAAnB;AACA,SAASC,QAAT,EAAmBC,MAAnB;AACA;;IAQMC,gB;;;;;;;;;;;;;;;;4DACYC,G;;qEACS,C;;mEACF,C;;oEACC,C;;mEACD,C;;oEACC,E;;6DAEP,C;;iEACI,C;;0DAEEH,QAAQ,CAAiB,UAACI,CAAD;AAAA,aAC9CH,MAAM,CAACG,CAAD,EAAI,MAAKC,KAAL,CAAWC,MAAf,CADwC;AAAA,KAAjB,C;;wEAGPR,KAAK,CAACS,SAAN,E;;4EACIT,KAAK,CAACS,SAAN,E;;6DAiCnB,YAAM;AACb,UAAI,CAAC,MAAKC,GAAL,CAASC,OAAV,IAAqB,CAAC,MAAKC,IAAL,CAAUD,OAAhC,IAA2C,CAAC,MAAKE,QAAL,CAAcF,OAA9D,EAAuE;AACrE;AACD;;AACD,UAAMG,YAAY,GAAG,MAAKJ,GAAL,CAASC,OAAT,CAAiBG,YAAtC;AACA,UAAMC,YAAY,GAAG,MAAKL,GAAL,CAASC,OAAT,CAAiBI,YAAtC;AACA,UAAIC,KAAK,GAAGF,YAAY,GAAGC,YAA3B;AACA,UAAIE,aAAa,GAAGC,IAAI,CAACC,GAAL,CAASL,YAAY,GAAGE,KAAxB,EAA+B,EAA/B,CAApB;AAEA,YAAKA,KAAL,GAAaA,KAAb;AACA,YAAKF,YAAL,GAAoBA,YAApB;AACA,YAAKC,YAAL,GAAoBA,YAApB;AACA,YAAKE,aAAL,GAAqBA,aAArB;;AAEA,UAAID,KAAK,IAAI,CAAb,EAAgB;AACd,cAAKJ,IAAL,CAAUD,OAAV,CAAkBS,KAAlB,CAAwBC,OAAxB,GAAkC,MAAlC;AACD,OAFD,MAEO;AACL,cAAKT,IAAL,CAAUD,OAAV,CAAkBS,KAAlB,CAAwBC,OAAxB,GAAkC,EAAlC;AACA,cAAKR,QAAL,CAAcF,OAAd,CAAsBS,KAAtB,CAA4BE,MAA5B,aAAwCL,aAAxC;;AACA,cAAKM,4BAAL,CAAkC,MAAKb,GAAL,CAASC,OAAT,CAAiBa,SAAnD;AACD;AACF,K;;6DAEQ,YAAM;AACb,UAAI,MAAKR,KAAL,IAAc,CAAd,IAAmB,CAAC,MAAKN,GAAL,CAASC,OAAjC,EAA0C;AACxC;AACD;;AAED,YAAKY,4BAAL,CAAkC,MAAKb,GAAL,CAASC,OAAT,CAAiBa,SAAnD;AACD,K;;kEA0Ba,UAAClB,CAAD,EAAyB;AACrCA,MAAAA,CAAC,CAACmB,cAAF;AACA,YAAKC,MAAL,GAAcpB,CAAC,CAACqB,OAAhB;AACA,YAAKC,UAAL,GAAkB,MAAKC,cAAvB;;AAEA,YAAKtB,KAAL,CAAWuB,QAAX,CAAqBC,gBAArB,CAAsC,WAAtC,EAAmD,MAAKC,MAAxD;;AACA,YAAKzB,KAAL,CAAWuB,QAAX,CAAqBC,gBAArB,CAAsC,SAAtC,EAAiD,MAAKE,IAAtD;AACD,K;;6DAEQ,UAAC3B,CAAD,EAAmB;AAC1BA,MAAAA,CAAC,CAACmB,cAAF;AACA,UAAMS,IAAI,GAAG5B,CAAC,CAACqB,OAAF,GAAY,MAAKD,MAA9B;AACA,UAAMS,QAAQ,GAAGjB,IAAI,CAACkB,GAAL,CACflB,IAAI,CAACC,GAAL,CAAS,MAAKS,UAAL,GAAkBM,IAA3B,EAAiC,CAAjC,CADe,EAEf,MAAKpB,YAAL,GAAoB,MAAKG,aAFV,CAAjB;;AAKA,YAAKoB,4BAAL,CAAkCF,QAAlC;AACD,K;;2DAEM,UAAC7B,CAAD,EAAmB;AACxBA,MAAAA,CAAC,CAACmB,cAAF;;AACA,YAAKlB,KAAL,CAAWuB,QAAX,CAAqBQ,mBAArB,CAAyC,WAAzC,EAAsD,MAAKN,MAA3D;;AACA,YAAKzB,KAAL,CAAWuB,QAAX,CAAqBQ,mBAArB,CAAyC,SAAzC,EAAoD,MAAKL,IAAzD;AACD,K;;;;;;;WA9GD,6BAAoB;AAClB,WAAKM,mBAAL;AAEA,WAAKC,MAAL;;AAEA,UAAI,KAAKjC,KAAL,CAAWkC,YAAf,EAA6B;AAC3B,aAAKlC,KAAL,CAAWmC,MAAX,CAAmBX,gBAAnB,CAAoC,QAApC,EAA8C,KAAKS,MAAnD;AACD;AACF;;;WAED,8BAAqB;AACnB,WAAKA,MAAL;AACD;;;WAED,gCAAuB;AACrB,WAAKjC,KAAL,CAAWmC,MAAX,CAAmBJ,mBAAnB,CAAuC,QAAvC,EAAiD,KAAKE,MAAtD;AACD;;;WAED,+BAAsB;AAAA;;AACpB,UAAIpB,KAAK,4BAAG,KAAKP,QAAL,CAAcF,OAAjB,0DAAG,sBAAuBS,KAAnC;AACA,UAAIuB,IAAI,GAAG,EAAX;;AACA,UAAIvB,KAAK,KAAKwB,SAAd,EAAyB;AACvB,YAAI,eAAexB,KAAnB,EAA0B;AACxBuB,UAAAA,IAAI,GAAG,WAAP;AACD,SAFD,MAEO,IAAI,qBAAqBvB,KAAzB,EAAgC;AACrCuB,UAAAA,IAAI,GAAG,iBAAP;AACD;AACF;;AACD,WAAKE,aAAL,GAAqBF,IAArB;AACD;;;WAiCD,4BAAmBnB,SAAnB,EAAsC;AACpC,WAAKK,cAAL,GAAsBL,SAAtB;;AACA,UAAI,KAAKX,QAAL,CAAcF,OAAd,KAA0B,IAA9B,EAAoC;AACjC,aAAKE,QAAL,CAAcF,OAAd,CAAsBS,KAAvB,CACE,KAAKyB,aADP,2BAEoBrB,SAFpB;AAGD;AACF;;;WAED,sCAA6BA,SAA7B,EAAgD;AAC9C,UAAMsB,QAAQ,GAAGtB,SAAS,IAAI,KAAKT,YAAL,GAAoB,KAAKD,YAA7B,CAA1B;AACA,WAAKiC,kBAAL,CACE,CAAC,KAAKjC,YAAL,GAAoB,KAAKG,aAA1B,IAA2C6B,QAD7C;AAGD;;;WAED,sCAA6BlB,UAA7B,EAAiD;AAC/C,UAAMkB,QAAQ,GAAGlB,UAAU,IAAI,KAAKd,YAAL,GAAoB,KAAKG,aAA7B,CAA3B;;AACA,UAAI,KAAKP,GAAL,CAASC,OAAT,KAAqB,IAAzB,EAA+B;AAC7B,aAAKD,GAAL,CAASC,OAAT,CAAiBa,SAAjB,GACE,CAAC,KAAKT,YAAL,GAAoB,KAAKD,YAA1B,IAA0CgC,QAD5C;AAED;AACF;;;WA4BD,kBAAS;AACP,wBAAgC,KAAKvC,KAArC;AAAA,UAAQyC,QAAR,eAAQA,QAAR;AAAA,UAAkBC,SAAlB,eAAkBA,SAAlB;AAEA,aACE;AAAK,QAAA,SAAS,EAAC,kBAAf;AAAkC,QAAA,SAAS,EAAEA;AAA7C,SACE;AAAK,QAAA,SAAS,EAAC,wBAAf;AAAwC,QAAA,GAAG,EAAE,KAAKrC;AAAlD,SACE;AACE,QAAA,SAAS,EAAC,4BADZ;AAEE,QAAA,GAAG,EAAE,KAAKC,QAFZ;AAGE,QAAA,WAAW,EAAE,KAAKqC;AAHpB,QADF,CADF,EASE;AACE,QAAA,SAAS,EAAC,uBADZ;AAEE,QAAA,QAAQ,EAAE,CAAC,CAFb;AAGE,QAAA,GAAG,EAAE,KAAKxC,GAHZ;AAIE,QAAA,QAAQ,EAAE,KAAKyC;AAJjB,SAMGH,QANH,CATF,CADF;AAoBD;;;;EAxJ4BhD,KAAK,CAACoD,S,GA2JrC;;;AACA,eAAenD,OAAO,CAACG,gBAAD,CAAtB","sourcesContent":["import * as React from \"react\";\nimport { DOMProps, withDOM } from \"../../lib/dom\";\nimport { multiRef, setRef } from \"../../lib/utils\";\nimport \"./CustomScrollView.css\";\n\ninterface Props extends DOMProps {\n windowResize?: boolean;\n boxRef: React.Ref<HTMLDivElement>;\n className?: HTMLDivElement[\"className\"];\n}\n\nclass CustomScrollView extends React.Component<Props> {\n private ratio = NaN;\n private lastTrackerTop = 0;\n private clientHeight = 0;\n private trackerHeight = 0;\n private scrollHeight = 0;\n private transformProp = \"\";\n\n private startY = 0;\n private trackerTop = 0;\n\n private readonly box = multiRef<HTMLDivElement>((e) =>\n setRef(e, this.props.boxRef)\n );\n private readonly barY = React.createRef<HTMLDivElement>();\n private readonly trackerY = React.createRef<HTMLDivElement>();\n\n componentDidMount() {\n this.chooseTransformProp();\n\n this.resize();\n\n if (this.props.windowResize) {\n this.props.window!.addEventListener(\"resize\", this.resize);\n }\n }\n\n componentDidUpdate() {\n this.resize();\n }\n\n componentWillUnmount() {\n this.props.window!.removeEventListener(\"resize\", this.resize);\n }\n\n chooseTransformProp() {\n let style = this.trackerY.current?.style;\n let prop = \"\";\n if (style !== undefined) {\n if (\"transform\" in style) {\n prop = \"transform\";\n } else if (\"webkitTransform\" in style) {\n prop = \"webkitTransform\";\n }\n }\n this.transformProp = prop;\n }\n\n resize = () => {\n if (!this.box.current || !this.barY.current || !this.trackerY.current) {\n return;\n }\n const clientHeight = this.box.current.clientHeight;\n const scrollHeight = this.box.current.scrollHeight;\n let ratio = clientHeight / scrollHeight;\n let trackerHeight = Math.max(clientHeight * ratio, 40);\n\n this.ratio = ratio;\n this.clientHeight = clientHeight;\n this.scrollHeight = scrollHeight;\n this.trackerHeight = trackerHeight;\n\n if (ratio >= 1) {\n this.barY.current.style.display = \"none\";\n } else {\n this.barY.current.style.display = \"\";\n this.trackerY.current.style.height = `${trackerHeight}px`;\n this.setTrackerPositionFromScroll(this.box.current.scrollTop);\n }\n };\n\n scroll = () => {\n if (this.ratio >= 1 || !this.box.current) {\n return;\n }\n\n this.setTrackerPositionFromScroll(this.box.current.scrollTop);\n };\n\n setTrackerPosition(scrollTop: number) {\n this.lastTrackerTop = scrollTop;\n if (this.trackerY.current !== null) {\n (this.trackerY.current.style as any)[\n this.transformProp\n ] = `translate(0, ${scrollTop}px)`;\n }\n }\n\n setTrackerPositionFromScroll(scrollTop: number) {\n const progress = scrollTop / (this.scrollHeight - this.clientHeight);\n this.setTrackerPosition(\n (this.clientHeight - this.trackerHeight) * progress\n );\n }\n\n setScrollPositionFromTracker(trackerTop: number) {\n const progress = trackerTop / (this.clientHeight - this.trackerHeight);\n if (this.box.current !== null) {\n this.box.current.scrollTop =\n (this.scrollHeight - this.clientHeight) * progress;\n }\n }\n\n onDragStart = (e: React.MouseEvent) => {\n e.preventDefault();\n this.startY = e.clientY;\n this.trackerTop = this.lastTrackerTop;\n\n this.props.document!.addEventListener(\"mousemove\", this.onMove);\n this.props.document!.addEventListener(\"mouseup\", this.onUp);\n };\n\n onMove = (e: MouseEvent) => {\n e.preventDefault();\n const diff = e.clientY - this.startY;\n const position = Math.min(\n Math.max(this.trackerTop + diff, 0),\n this.clientHeight - this.trackerHeight\n );\n\n this.setScrollPositionFromTracker(position);\n };\n\n onUp = (e: MouseEvent) => {\n e.preventDefault();\n this.props.document!.removeEventListener(\"mousemove\", this.onMove);\n this.props.document!.removeEventListener(\"mouseup\", this.onUp);\n };\n\n render() {\n const { children, className } = this.props;\n\n return (\n <div vkuiClass=\"CustomScrollView\" className={className}>\n <div vkuiClass=\"CustomScrollView__barY\" ref={this.barY}>\n <div\n vkuiClass=\"CustomScrollView__trackerY\"\n ref={this.trackerY}\n onMouseDown={this.onDragStart}\n />\n </div>\n\n <div\n vkuiClass=\"CustomScrollView__box\"\n tabIndex={-1}\n ref={this.box}\n onScroll={this.scroll}\n >\n {children}\n </div>\n </div>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withDOM(CustomScrollView);\n"],"file":"CustomScrollView.js"}
1
+ {"version":3,"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"names":["React","withDOM","multiRef","setRef","CustomScrollView","NaN","e","props","boxRef","createRef","box","current","barY","trackerY","clientHeight","scrollHeight","ratio","trackerHeight","Math","max","style","display","height","setTrackerPositionFromScroll","scrollTop","preventDefault","startY","clientY","trackerTop","lastTrackerTop","document","addEventListener","onMove","onUp","diff","position","min","setScrollPositionFromTracker","removeEventListener","chooseTransformProp","resize","windowResize","window","prop","undefined","transformProp","progress","setTrackerPosition","children","className","onDragStart","scroll","Component"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DOMProps, withDOM } from \"../../lib/dom\";\nimport { multiRef, setRef } from \"../../lib/utils\";\nimport \"./CustomScrollView.css\";\n\ninterface Props extends DOMProps {\n windowResize?: boolean;\n boxRef?: React.Ref<HTMLDivElement>;\n className?: HTMLDivElement[\"className\"];\n}\n\nclass CustomScrollView extends React.Component<Props> {\n private ratio = NaN;\n private lastTrackerTop = 0;\n private clientHeight = 0;\n private trackerHeight = 0;\n private scrollHeight = 0;\n private transformProp = \"\";\n\n private startY = 0;\n private trackerTop = 0;\n\n private readonly box = multiRef<HTMLDivElement>((e) =>\n setRef(e, this.props.boxRef)\n );\n private readonly barY = React.createRef<HTMLDivElement>();\n private readonly trackerY = React.createRef<HTMLDivElement>();\n\n componentDidMount() {\n this.chooseTransformProp();\n\n this.resize();\n\n if (this.props.windowResize) {\n this.props.window!.addEventListener(\"resize\", this.resize);\n }\n }\n\n componentDidUpdate() {\n this.resize();\n }\n\n componentWillUnmount() {\n this.props.window!.removeEventListener(\"resize\", this.resize);\n }\n\n chooseTransformProp() {\n let style = this.trackerY.current?.style;\n let prop = \"\";\n if (style !== undefined) {\n if (\"transform\" in style) {\n prop = \"transform\";\n } else if (\"webkitTransform\" in style) {\n prop = \"webkitTransform\";\n }\n }\n this.transformProp = prop;\n }\n\n resize = () => {\n if (!this.box.current || !this.barY.current || !this.trackerY.current) {\n return;\n }\n const clientHeight = this.box.current.clientHeight;\n const scrollHeight = this.box.current.scrollHeight;\n let ratio = clientHeight / scrollHeight;\n let trackerHeight = Math.max(clientHeight * ratio, 40);\n\n this.ratio = ratio;\n this.clientHeight = clientHeight;\n this.scrollHeight = scrollHeight;\n this.trackerHeight = trackerHeight;\n\n if (ratio >= 1) {\n this.barY.current.style.display = \"none\";\n } else {\n this.barY.current.style.display = \"\";\n this.trackerY.current.style.height = `${trackerHeight}px`;\n this.setTrackerPositionFromScroll(this.box.current.scrollTop);\n }\n };\n\n scroll = () => {\n if (this.ratio >= 1 || !this.box.current) {\n return;\n }\n\n this.setTrackerPositionFromScroll(this.box.current.scrollTop);\n };\n\n setTrackerPosition(scrollTop: number) {\n this.lastTrackerTop = scrollTop;\n if (this.trackerY.current !== null) {\n (this.trackerY.current.style as any)[\n this.transformProp\n ] = `translate(0, ${scrollTop}px)`;\n }\n }\n\n setTrackerPositionFromScroll(scrollTop: number) {\n const progress = scrollTop / (this.scrollHeight - this.clientHeight);\n this.setTrackerPosition(\n (this.clientHeight - this.trackerHeight) * progress\n );\n }\n\n setScrollPositionFromTracker(trackerTop: number) {\n const progress = trackerTop / (this.clientHeight - this.trackerHeight);\n if (this.box.current !== null) {\n this.box.current.scrollTop =\n (this.scrollHeight - this.clientHeight) * progress;\n }\n }\n\n onDragStart = (e: React.MouseEvent) => {\n e.preventDefault();\n this.startY = e.clientY;\n this.trackerTop = this.lastTrackerTop;\n\n this.props.document!.addEventListener(\"mousemove\", this.onMove);\n this.props.document!.addEventListener(\"mouseup\", this.onUp);\n };\n\n onMove = (e: MouseEvent) => {\n e.preventDefault();\n const diff = e.clientY - this.startY;\n const position = Math.min(\n Math.max(this.trackerTop + diff, 0),\n this.clientHeight - this.trackerHeight\n );\n\n this.setScrollPositionFromTracker(position);\n };\n\n onUp = (e: MouseEvent) => {\n e.preventDefault();\n this.props.document!.removeEventListener(\"mousemove\", this.onMove);\n this.props.document!.removeEventListener(\"mouseup\", this.onUp);\n };\n\n render() {\n const { children, className } = this.props;\n\n return (\n <div vkuiClass=\"CustomScrollView\" className={className}>\n <div vkuiClass=\"CustomScrollView__barY\" ref={this.barY}>\n <div\n vkuiClass=\"CustomScrollView__trackerY\"\n ref={this.trackerY}\n onMouseDown={this.onDragStart}\n />\n </div>\n\n <div\n vkuiClass=\"CustomScrollView__box\"\n tabIndex={-1}\n ref={this.box}\n onScroll={this.scroll}\n >\n {children}\n </div>\n </div>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withDOM(CustomScrollView);\n"],"file":"CustomScrollView.js"}
@@ -1 +1 @@
1
- .vkuiCustomSelect{width:100%;position:relative;display:block}.vkuiCustomSelect__control{display:none}.vkuiCustomSelect__empty{padding:12px 0}.vkuiCustomSelect__fetching{display:flex;align-items:center;justify-content:center}.vkuiCustomSelect__empty{text-align:center;color:#818c99;color:var(--text_secondary)}.vkuiCustomSelect__open.vkuiSelect--mimicry:focus .vkuiFormField__border{border-color:rgba(0,0,0,.12);border-color:var(--field_border)}.vkuiCustomSelect__open:not(.vkuiCustomSelect__open--popupDirectionTop) .vkuiFormField__border{border-bottom-left-radius:0;border-bottom-right-radius:0}.vkuiCustomSelect__open.vkuiCustomSelect__open--popupDirectionTop .vkuiFormField__border{border-top-left-radius:0;border-top-right-radius:0}
1
+ .vkuiCustomSelect{width:100%;position:relative;display:block}.vkuiCustomSelect__control{display:none}.vkuiCustomSelect__empty{padding:12px 0}.vkuiCustomSelect__fetching{display:flex;align-items:center;justify-content:center}.vkuiCustomSelect__empty{text-align:center;color:#818c99;color:var(--text_secondary)}