@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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/CalendarHeader/CalendarHeader.tsx"],"names":["React","setMonth","setYear","subMonths","addMonths","Icon20ChevronLeftOutline","Icon20ChevronRightOutline","Icon12Dropdown","Tappable","classNames","CustomSelect","SelectType","CustomSelectOption","SizeType","getMonths","getYears","LocaleProviderContext","Text","renderOption","option","children","props","CalendarHeader","viewDate","onChange","prevMonth","nextMonth","disablePickers","onNextMonth","onPrevMonth","className","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","locale","useContext","onMonthsChange","useCallback","event","Number","target","value","onYearChange","months","useMemo","currentYear","getFullYear","years","formatter","Intl","DateTimeFormat","year","month","format","getMonth","COMPACT","Plain"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { setMonth, setYear, subMonths, addMonths } from \"date-fns\";\nimport {\n Icon20ChevronLeftOutline,\n Icon20ChevronRightOutline,\n Icon12Dropdown,\n} from \"@vkontakte/icons\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport CustomSelect, {\n CustomSelectProps,\n SelectType,\n} from \"../CustomSelect/CustomSelect\";\nimport CustomSelectOption from \"../CustomSelectOption/CustomSelectOption\";\nimport { SizeType } from \"../../hoc/withAdaptivity\";\nimport { getMonths, getYears } from \"../../lib/calendar\";\nimport { LocaleProviderContext } from \"../LocaleProviderContext/LocaleProviderContext\";\nimport Text from \"../Typography/Text/Text\";\nimport \"./CalendarHeader.css\";\n\nexport interface CalendarHeaderProps\n extends Pick<React.HTMLAttributes<HTMLDivElement>, \"className\"> {\n viewDate: Date;\n prevMonth?: boolean;\n nextMonth?: boolean;\n disablePickers?: boolean;\n prevMonthAriaLabel?: string;\n nextMonthAriaLabel?: string;\n changeMonthAriaLabel?: string;\n changeYearAriaLabel?: string;\n onChange(viewDate: Date): void;\n onNextMonth?(): void;\n onPrevMonth?(): void;\n}\n\nconst renderOption: CustomSelectProps[\"renderOption\"] = ({\n option,\n children,\n ...props\n}) => {\n return (\n <CustomSelectOption {...props}>\n <span vkuiClass=\"CalendarHeader__month_name\">{children}</span>\n </CustomSelectOption>\n );\n};\n\nexport const CalendarHeader: React.FC<CalendarHeaderProps> = ({\n viewDate,\n onChange,\n prevMonth = true,\n nextMonth = true,\n disablePickers = false,\n onNextMonth,\n onPrevMonth,\n className,\n prevMonthAriaLabel = \"Предыдущий месяц\",\n nextMonthAriaLabel = \"Следующий месяц\",\n changeMonthAriaLabel = \"Изменить месяц\",\n changeYearAriaLabel = \"Изменить год\",\n}) => {\n const locale = React.useContext(LocaleProviderContext);\n const onMonthsChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange(setMonth(viewDate, Number(event.target.value))),\n [onChange, viewDate]\n );\n const onYearChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange(setYear(viewDate, Number(event.target.value))),\n [onChange, viewDate]\n );\n\n const months = React.useMemo(() => getMonths(locale), [locale]);\n\n const currentYear = viewDate.getFullYear();\n\n const years = React.useMemo(() => getYears(currentYear, 100), [currentYear]);\n\n const formatter = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n month: \"long\",\n });\n\n return (\n <div vkuiClass=\"CalendarHeader\" className={className}>\n {prevMonth && (\n <Tappable\n vkuiClass={classNames(\n \"CalendarHeader__nav-icon\",\n \"CalendarHeader__nav-icon-prev\"\n )}\n onClick={onPrevMonth}\n aria-label={`${prevMonthAriaLabel}, ${formatter.format(\n subMonths(viewDate, 1)\n )}`}\n >\n <Icon20ChevronLeftOutline width={30} height={30} />\n </Tappable>\n )}\n <div vkuiClass=\"CalendarHeader__pickers\">\n {disablePickers ? (\n <React.Fragment>\n <Text\n weight=\"medium\"\n vkuiClass=\"CalendarHeader__pickers-placeholder\"\n >\n {new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(viewDate)}\n </Text>\n <Text\n weight=\"medium\"\n vkuiClass=\"CalendarHeader__pickers-placeholder\"\n >\n {new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(viewDate)}\n </Text>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <CustomSelect\n value={viewDate.getMonth()}\n options={months}\n renderOption={renderOption}\n dropdownOffsetDistance={4}\n fixDropdownWidth={false}\n sizeY={SizeType.COMPACT}\n icon={<Icon12Dropdown />}\n onChange={onMonthsChange}\n forceDropdownPortal={false}\n selectType={SelectType.Plain}\n aria-label={changeMonthAriaLabel}\n />\n <CustomSelect\n value={viewDate.getFullYear()}\n options={years}\n dropdownOffsetDistance={4}\n fixDropdownWidth={false}\n sizeY={SizeType.COMPACT}\n icon={<Icon12Dropdown />}\n onChange={onYearChange}\n forceDropdownPortal={false}\n selectType={SelectType.Plain}\n aria-label={changeYearAriaLabel}\n />\n </React.Fragment>\n )}\n </div>\n {nextMonth && (\n <Tappable\n vkuiClass={classNames(\n \"CalendarHeader__nav-icon\",\n \"CalendarHeader__nav-icon-next\"\n )}\n onClick={onNextMonth}\n aria-label={`${nextMonthAriaLabel}, ${formatter.format(\n addMonths(viewDate, 1)\n )}`}\n >\n <Icon20ChevronRightOutline width={30} height={30} />\n </Tappable>\n )}\n </div>\n );\n};\n"],"file":"CalendarHeader.js"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import { CalendarHeaderProps } from "../CalendarHeader/CalendarHeader";
3
+ import { HasRootRef } from "../../types";
4
+ import "./CalendarRange.css";
5
+ export interface CalendarRangeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, Pick<CalendarHeaderProps, "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel">, HasRootRef<HTMLDivElement> {
6
+ value?: Array<Date | null>;
7
+ disablePast?: boolean;
8
+ disableFuture?: boolean;
9
+ disablePickers?: boolean;
10
+ changeDayAriaLabel?: string;
11
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
12
+ onChange?(value?: Array<Date | null>): void;
13
+ shouldDisableDate?(value: Date): boolean;
14
+ onClose?(): void;
15
+ }
16
+ export declare const CalendarRange: React.FC<CalendarRangeProps>;
@@ -0,0 +1,196 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["value", "onChange", "disablePast", "disableFuture", "shouldDisableDate", "onClose", "weekStartsOn", "getRootRef", "disablePickers", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "changeDayAriaLabel"];
5
+ import { createScopedElement } from "../../lib/jsxRuntime";
6
+ import * as React from "react";
7
+ import { addMonths, isSameMonth, isSameDay, isBefore, isAfter, startOfDay, endOfDay, isWithinInterval } from "date-fns";
8
+ import { CalendarHeader } from "../CalendarHeader/CalendarHeader";
9
+ import { CalendarDays } from "../CalendarDays/CalendarDays";
10
+ import { navigateDate, setTimeEqual, isLastDay, isFirstDay } from "../../lib/calendar";
11
+ import { useCalendar } from "../../hooks/useCalendar";
12
+
13
+ var getIsDaySelected = function getIsDaySelected(day, value) {
14
+ if (!(value !== null && value !== void 0 && value[0]) || !value[1]) {
15
+ return false;
16
+ }
17
+
18
+ return Boolean(isWithinInterval(day, {
19
+ start: startOfDay(value[0]),
20
+ end: endOfDay(value[1])
21
+ }));
22
+ };
23
+
24
+ export var CalendarRange = function CalendarRange(_ref) {
25
+ var value = _ref.value,
26
+ onChange = _ref.onChange,
27
+ disablePast = _ref.disablePast,
28
+ disableFuture = _ref.disableFuture,
29
+ shouldDisableDate = _ref.shouldDisableDate,
30
+ onClose = _ref.onClose,
31
+ _ref$weekStartsOn = _ref.weekStartsOn,
32
+ weekStartsOn = _ref$weekStartsOn === void 0 ? 1 : _ref$weekStartsOn,
33
+ getRootRef = _ref.getRootRef,
34
+ disablePickers = _ref.disablePickers,
35
+ prevMonthAriaLabel = _ref.prevMonthAriaLabel,
36
+ nextMonthAriaLabel = _ref.nextMonthAriaLabel,
37
+ changeMonthAriaLabel = _ref.changeMonthAriaLabel,
38
+ changeYearAriaLabel = _ref.changeYearAriaLabel,
39
+ _ref$changeDayAriaLab = _ref.changeDayAriaLabel,
40
+ changeDayAriaLabel = _ref$changeDayAriaLab === void 0 ? "Изменить день" : _ref$changeDayAriaLab,
41
+ props = _objectWithoutProperties(_ref, _excluded);
42
+
43
+ var _useCalendar = useCalendar({
44
+ value: value,
45
+ disableFuture: disableFuture,
46
+ disablePast: disablePast,
47
+ shouldDisableDate: shouldDisableDate
48
+ }),
49
+ viewDate = _useCalendar.viewDate,
50
+ setViewDate = _useCalendar.setViewDate,
51
+ setPrevMonth = _useCalendar.setPrevMonth,
52
+ setNextMonth = _useCalendar.setNextMonth,
53
+ focusedDay = _useCalendar.focusedDay,
54
+ setFocusedDay = _useCalendar.setFocusedDay,
55
+ isDayFocused = _useCalendar.isDayFocused,
56
+ isDayDisabled = _useCalendar.isDayDisabled,
57
+ resetSelectedDay = _useCalendar.resetSelectedDay;
58
+
59
+ var _React$useState = React.useState(),
60
+ _React$useState2 = _slicedToArray(_React$useState, 2),
61
+ hintedDate = _React$useState2[0],
62
+ setHintedDate = _React$useState2[1];
63
+
64
+ var secondViewDate = addMonths(viewDate, 1);
65
+ var handleKeyDown = React.useCallback(function (event) {
66
+ if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(event.key)) {
67
+ event.preventDefault();
68
+ }
69
+
70
+ var newFocusedDay = navigateDate(focusedDay !== null && focusedDay !== void 0 ? focusedDay : value === null || value === void 0 ? void 0 : value[1], event.key);
71
+
72
+ if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate) && !isSameMonth(newFocusedDay, addMonths(viewDate, 1))) {
73
+ setViewDate(newFocusedDay);
74
+ }
75
+
76
+ setFocusedDay(newFocusedDay);
77
+ }, [focusedDay, setFocusedDay, setViewDate, value, viewDate]);
78
+ var getNewValue = React.useCallback(function (date) {
79
+ if (!value) {
80
+ return [date, null];
81
+ }
82
+
83
+ var start = value[0];
84
+ var end = value[1];
85
+
86
+ if (start && isSameDay(date, start) || end && isSameDay(date, end)) {
87
+ return [setTimeEqual(date, start), setTimeEqual(date, end)];
88
+ } else if (start && isBefore(date, start)) {
89
+ return [setTimeEqual(date, start), end];
90
+ } else if (start && isAfter(date, start)) {
91
+ return [start, setTimeEqual(date, end)];
92
+ }
93
+
94
+ return value;
95
+ }, [value]);
96
+ var onDayChange = React.useCallback(function (date) {
97
+ onChange === null || onChange === void 0 ? void 0 : onChange(getNewValue(date));
98
+ setHintedDate(undefined);
99
+ }, [onChange, getNewValue]);
100
+ var isDaySelected = React.useCallback(function (day) {
101
+ return getIsDaySelected(day, value);
102
+ }, [value]);
103
+ var isDayActive = React.useCallback(function (day) {
104
+ return Boolean((value === null || value === void 0 ? void 0 : value[0]) && isSameDay(day, value[0]) || (value === null || value === void 0 ? void 0 : value[1]) && isSameDay(day, value[1]));
105
+ }, [value]);
106
+ var isDaySelectionEnd = React.useCallback(function (day, dayOfWeek) {
107
+ return Boolean(isLastDay(day, dayOfWeek) || (value === null || value === void 0 ? void 0 : value[1]) && isSameDay(day, value[1]));
108
+ }, [value]);
109
+ var isHintedDaySelectionEnd = React.useCallback(function (day, dayOfWeek) {
110
+ return Boolean(isLastDay(day, dayOfWeek) || (hintedDate === null || hintedDate === void 0 ? void 0 : hintedDate[1]) && isSameDay(day, hintedDate[1]));
111
+ }, [hintedDate]);
112
+ var isDaySelectionStart = React.useCallback(function (day, dayOfWeek) {
113
+ return Boolean(isFirstDay(day, dayOfWeek) || (value === null || value === void 0 ? void 0 : value[0]) && isSameDay(day, value[0]));
114
+ }, [value]);
115
+ var isHintedDaySelectionStart = React.useCallback(function (day, dayOfWeek) {
116
+ return Boolean(isFirstDay(day, dayOfWeek) || (hintedDate === null || hintedDate === void 0 ? void 0 : hintedDate[0]) && isSameDay(day, hintedDate[0]));
117
+ }, [hintedDate]);
118
+ var onDayEnter = React.useCallback(function (date) {
119
+ return setHintedDate(getNewValue(date));
120
+ }, [setHintedDate, getNewValue]);
121
+ var onDayLeave = React.useCallback(function () {
122
+ return setHintedDate(undefined);
123
+ }, [setHintedDate]);
124
+ var isDayHinted = React.useCallback(function (day) {
125
+ return getIsDaySelected(day, hintedDate);
126
+ }, [hintedDate]);
127
+ return createScopedElement("div", _extends({}, props, {
128
+ ref: getRootRef,
129
+ vkuiClass: "CalendarRange"
130
+ }), createScopedElement("div", {
131
+ vkuiClass: "CalendarRange__inner"
132
+ }, createScopedElement(CalendarHeader, {
133
+ viewDate: viewDate,
134
+ onChange: setViewDate,
135
+ nextMonth: false,
136
+ onPrevMonth: setPrevMonth,
137
+ disablePickers: disablePickers,
138
+ vkuiClass: "CalendarRange__header",
139
+ prevMonthAriaLabel: prevMonthAriaLabel,
140
+ nextMonthAriaLabel: nextMonthAriaLabel,
141
+ changeMonthAriaLabel: changeMonthAriaLabel,
142
+ changeYearAriaLabel: changeYearAriaLabel
143
+ }), createScopedElement(CalendarDays, {
144
+ viewDate: viewDate,
145
+ value: value,
146
+ weekStartsOn: weekStartsOn,
147
+ onKeyDown: handleKeyDown,
148
+ isDayFocused: isDayFocused,
149
+ onDayChange: onDayChange,
150
+ isDaySelected: isDaySelected,
151
+ isDayActive: isDayActive,
152
+ isDaySelectionEnd: isDaySelectionEnd,
153
+ isDaySelectionStart: isDaySelectionStart,
154
+ isDayHinted: isDayHinted,
155
+ onDayEnter: onDayEnter,
156
+ onDayLeave: onDayLeave,
157
+ isHintedDaySelectionEnd: isHintedDaySelectionEnd,
158
+ isHintedDaySelectionStart: isHintedDaySelectionStart,
159
+ isDayDisabled: isDayDisabled,
160
+ "aria-label": changeDayAriaLabel
161
+ })), createScopedElement("div", {
162
+ vkuiClass: "CalendarRange__inner"
163
+ }, createScopedElement(CalendarHeader, {
164
+ viewDate: secondViewDate,
165
+ onChange: setViewDate,
166
+ prevMonth: false,
167
+ onNextMonth: setNextMonth,
168
+ disablePickers: disablePickers,
169
+ vkuiClass: "CalendarRange__header",
170
+ prevMonthAriaLabel: prevMonthAriaLabel,
171
+ nextMonthAriaLabel: nextMonthAriaLabel,
172
+ changeMonthAriaLabel: changeMonthAriaLabel,
173
+ changeYearAriaLabel: changeYearAriaLabel
174
+ }), createScopedElement(CalendarDays, {
175
+ viewDate: secondViewDate,
176
+ value: value,
177
+ weekStartsOn: weekStartsOn,
178
+ "aria-label": changeDayAriaLabel,
179
+ onKeyDown: handleKeyDown,
180
+ isDayFocused: isDayFocused,
181
+ onDayChange: onDayChange,
182
+ isDaySelected: isDaySelected,
183
+ isDayActive: isDayActive,
184
+ isDaySelectionEnd: isDaySelectionEnd,
185
+ isDaySelectionStart: isDaySelectionStart,
186
+ isDayHinted: isDayHinted,
187
+ onDayEnter: onDayEnter,
188
+ onDayLeave: onDayLeave,
189
+ isHintedDaySelectionEnd: isHintedDaySelectionEnd,
190
+ isHintedDaySelectionStart: isHintedDaySelectionStart,
191
+ isDayDisabled: isDayDisabled,
192
+ tabIndex: 0,
193
+ onBlur: resetSelectedDay
194
+ })));
195
+ };
196
+ //# sourceMappingURL=CalendarRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/CalendarRange/CalendarRange.tsx"],"names":["React","addMonths","isSameMonth","isSameDay","isBefore","isAfter","startOfDay","endOfDay","isWithinInterval","CalendarHeader","CalendarDays","navigateDate","setTimeEqual","isLastDay","isFirstDay","useCalendar","getIsDaySelected","day","value","Boolean","start","end","CalendarRange","onChange","disablePast","disableFuture","shouldDisableDate","onClose","weekStartsOn","getRootRef","disablePickers","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","props","viewDate","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","useState","hintedDate","setHintedDate","secondViewDate","handleKeyDown","useCallback","event","includes","key","preventDefault","newFocusedDay","getNewValue","date","onDayChange","undefined","isDaySelected","isDayActive","isDaySelectionEnd","dayOfWeek","isHintedDaySelectionEnd","isDaySelectionStart","isHintedDaySelectionStart","onDayEnter","onDayLeave","isDayHinted"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n addMonths,\n isSameMonth,\n isSameDay,\n isBefore,\n isAfter,\n startOfDay,\n endOfDay,\n isWithinInterval,\n} from \"date-fns\";\nimport {\n CalendarHeader,\n CalendarHeaderProps,\n} from \"../CalendarHeader/CalendarHeader\";\nimport { CalendarDays } from \"../CalendarDays/CalendarDays\";\nimport {\n navigateDate,\n setTimeEqual,\n isLastDay,\n isFirstDay,\n} from \"../../lib/calendar\";\nimport { useCalendar } from \"../../hooks/useCalendar\";\nimport { HasRootRef } from \"../../types\";\nimport \"./CalendarRange.css\";\n\nexport interface CalendarRangeProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\">,\n Pick<\n CalendarHeaderProps,\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n >,\n HasRootRef<HTMLDivElement> {\n value?: Array<Date | null>;\n disablePast?: boolean;\n disableFuture?: boolean;\n disablePickers?: boolean;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n onChange?(value?: Array<Date | null>): void;\n shouldDisableDate?(value: Date): boolean;\n onClose?(): void;\n}\n\nconst getIsDaySelected = (day: Date, value?: Array<Date | null>) => {\n if (!value?.[0] || !value[1]) {\n return false;\n }\n\n return Boolean(\n isWithinInterval(day, {\n start: startOfDay(value[0]),\n end: endOfDay(value[1]),\n })\n );\n};\n\nexport const CalendarRange: React.FC<CalendarRangeProps> = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeDayAriaLabel = \"Изменить день\",\n ...props\n}) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({ value, disableFuture, disablePast, shouldDisableDate });\n const [hintedDate, setHintedDate] = React.useState<Array<Date | null>>();\n const secondViewDate = addMonths(viewDate, 1);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (\n [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key)\n ) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value?.[1], event.key);\n\n if (\n newFocusedDay &&\n !isSameMonth(newFocusedDay, viewDate) &&\n !isSameMonth(newFocusedDay, addMonths(viewDate, 1))\n ) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate]\n );\n\n const getNewValue = React.useCallback(\n (date: Date) => {\n if (!value) {\n return [date, null];\n }\n\n const start = value[0];\n const end = value[1];\n if ((start && isSameDay(date, start)) || (end && isSameDay(date, end))) {\n return [setTimeEqual(date, start), setTimeEqual(date, end)];\n } else if (start && isBefore(date, start)) {\n return [setTimeEqual(date, start), end];\n } else if (start && isAfter(date, start)) {\n return [start, setTimeEqual(date, end)];\n }\n\n return value;\n },\n [value]\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n onChange?.(getNewValue(date));\n setHintedDate(undefined);\n },\n [onChange, getNewValue]\n );\n\n const isDaySelected = React.useCallback(\n (day: Date) => getIsDaySelected(day, value),\n [value]\n );\n\n const isDayActive = React.useCallback(\n (day: Date) =>\n Boolean(\n (value?.[0] && isSameDay(day, value[0])) ||\n (value?.[1] && isSameDay(day, value[1]))\n ),\n [value]\n );\n\n const isDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isLastDay(day, dayOfWeek) || (value?.[1] && isSameDay(day, value[1]))\n ),\n [value]\n );\n\n const isHintedDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isLastDay(day, dayOfWeek) ||\n (hintedDate?.[1] && isSameDay(day, hintedDate[1]))\n ),\n [hintedDate]\n );\n\n const isDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isFirstDay(day, dayOfWeek) || (value?.[0] && isSameDay(day, value[0]))\n ),\n [value]\n );\n\n const isHintedDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isFirstDay(day, dayOfWeek) ||\n (hintedDate?.[0] && isSameDay(day, hintedDate[0]))\n ),\n [hintedDate]\n );\n\n const onDayEnter = React.useCallback(\n (date: Date) => setHintedDate(getNewValue(date)),\n [setHintedDate, getNewValue]\n );\n\n const onDayLeave = React.useCallback(\n () => setHintedDate(undefined),\n [setHintedDate]\n );\n\n const isDayHinted = React.useCallback(\n (day: Date) => getIsDaySelected(day, hintedDate),\n [hintedDate]\n );\n\n return (\n <div {...props} ref={getRootRef} vkuiClass=\"CalendarRange\">\n <div vkuiClass=\"CalendarRange__inner\">\n <CalendarHeader\n viewDate={viewDate}\n onChange={setViewDate}\n nextMonth={false}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers}\n vkuiClass=\"CalendarRange__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n />\n <CalendarDays\n viewDate={viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n aria-label={changeDayAriaLabel}\n />\n </div>\n <div vkuiClass=\"CalendarRange__inner\">\n <CalendarHeader\n viewDate={secondViewDate}\n onChange={setViewDate}\n prevMonth={false}\n onNextMonth={setNextMonth}\n disablePickers={disablePickers}\n vkuiClass=\"CalendarRange__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n />\n <CalendarDays\n viewDate={secondViewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n aria-label={changeDayAriaLabel}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n tabIndex={0}\n onBlur={resetSelectedDay}\n />\n </div>\n </div>\n );\n};\n"],"file":"CalendarRange.js"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import "./CalendarTime.css";
3
+ export interface CalendarTimeProps {
4
+ value: Date;
5
+ doneButtonText?: string;
6
+ changeHoursAriaLabel?: string;
7
+ changeMinutesAriaLabel?: string;
8
+ onChange?(value: Date): void;
9
+ onClose?(): void;
10
+ }
11
+ export declare const CalendarTime: React.FC<CalendarTimeProps>;
@@ -0,0 +1,73 @@
1
+ import { createScopedElement } from "../../lib/jsxRuntime";
2
+ import * as React from "react";
3
+ import { setHours, setMinutes } from "date-fns";
4
+ import CustomSelect from "../CustomSelect/CustomSelect";
5
+ import Button from "../Button/Button";
6
+ import { SizeType } from "../../hoc/withAdaptivity";
7
+ var hours = [];
8
+
9
+ for (var i = 0; i < 24; i += 1) {
10
+ hours.push({
11
+ value: i,
12
+ label: String(i).padStart(2, "0")
13
+ });
14
+ }
15
+
16
+ var minutes = [];
17
+
18
+ for (var _i = 0; _i < 60; _i += 1) {
19
+ minutes.push({
20
+ value: _i,
21
+ label: String(_i).padStart(2, "0")
22
+ });
23
+ }
24
+
25
+ export var CalendarTime = function CalendarTime(_ref) {
26
+ var value = _ref.value,
27
+ _ref$doneButtonText = _ref.doneButtonText,
28
+ doneButtonText = _ref$doneButtonText === void 0 ? "Готово" : _ref$doneButtonText,
29
+ onChange = _ref.onChange,
30
+ onClose = _ref.onClose,
31
+ _ref$changeHoursAriaL = _ref.changeHoursAriaLabel,
32
+ changeHoursAriaLabel = _ref$changeHoursAriaL === void 0 ? "Изменить час" : _ref$changeHoursAriaL,
33
+ _ref$changeMinutesAri = _ref.changeMinutesAriaLabel,
34
+ changeMinutesAriaLabel = _ref$changeMinutesAri === void 0 ? "Изменить минуту" : _ref$changeMinutesAri;
35
+ var onHoursChange = React.useCallback(function (event) {
36
+ return onChange === null || onChange === void 0 ? void 0 : onChange(setHours(value, Number(event.target.value)));
37
+ }, [onChange, value]);
38
+ var onMinutesChange = React.useCallback(function (event) {
39
+ return onChange === null || onChange === void 0 ? void 0 : onChange(setMinutes(value, Number(event.target.value)));
40
+ }, [onChange, value]);
41
+ return createScopedElement("div", {
42
+ vkuiClass: "CalendarTime"
43
+ }, createScopedElement("div", {
44
+ vkuiClass: "CalendarTime__picker"
45
+ }, createScopedElement(CustomSelect, {
46
+ value: value.getHours(),
47
+ options: hours,
48
+ onChange: onHoursChange,
49
+ forceDropdownPortal: false,
50
+ sizeY: SizeType.COMPACT,
51
+ "aria-label": changeHoursAriaLabel
52
+ })), createScopedElement("div", {
53
+ vkuiClass: "CalendarTime__divider"
54
+ }, ":"), createScopedElement("div", {
55
+ vkuiClass: "CalendarTime__picker"
56
+ }, createScopedElement(CustomSelect, {
57
+ value: value.getMinutes(),
58
+ options: minutes,
59
+ onChange: onMinutesChange,
60
+ forceDropdownPortal: false,
61
+ sizeY: SizeType.COMPACT,
62
+ "aria-label": changeMinutesAriaLabel
63
+ })), createScopedElement("div", {
64
+ vkuiClass: "CalendarTime__button"
65
+ }, createScopedElement(Button, {
66
+ sizeY: SizeType.COMPACT,
67
+ mode: "secondary",
68
+ onClick: onClose,
69
+ size: "l",
70
+ "aria-label": doneButtonText
71
+ }, doneButtonText)));
72
+ };
73
+ //# sourceMappingURL=CalendarTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/CalendarTime/CalendarTime.tsx"],"names":["React","setHours","setMinutes","CustomSelect","Button","SizeType","hours","i","push","value","label","String","padStart","minutes","CalendarTime","doneButtonText","onChange","onClose","changeHoursAriaLabel","changeMinutesAriaLabel","onHoursChange","useCallback","event","Number","target","onMinutesChange","getHours","COMPACT","getMinutes"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { setHours, setMinutes } from \"date-fns\";\nimport CustomSelect from \"../CustomSelect/CustomSelect\";\nimport Button from \"../Button/Button\";\nimport { SizeType } from \"../../hoc/withAdaptivity\";\nimport \"./CalendarTime.css\";\n\nexport interface CalendarTimeProps {\n value: Date;\n doneButtonText?: string;\n changeHoursAriaLabel?: string;\n changeMinutesAriaLabel?: string;\n onChange?(value: Date): void;\n onClose?(): void;\n}\n\nconst hours: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 24; i += 1) {\n hours.push({ value: i, label: String(i).padStart(2, \"0\") });\n}\n\nconst minutes: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 60; i += 1) {\n minutes.push({ value: i, label: String(i).padStart(2, \"0\") });\n}\n\nexport const CalendarTime: React.FC<CalendarTimeProps> = ({\n value,\n doneButtonText = \"Готово\",\n onChange,\n onClose,\n changeHoursAriaLabel = \"Изменить час\",\n changeMinutesAriaLabel = \"Изменить минуту\",\n}) => {\n const onHoursChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange?.(setHours(value, Number(event.target.value))),\n [onChange, value]\n );\n const onMinutesChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange?.(setMinutes(value, Number(event.target.value))),\n [onChange, value]\n );\n\n return (\n <div vkuiClass=\"CalendarTime\">\n <div vkuiClass=\"CalendarTime__picker\">\n <CustomSelect\n value={value.getHours()}\n options={hours}\n onChange={onHoursChange}\n forceDropdownPortal={false}\n sizeY={SizeType.COMPACT}\n aria-label={changeHoursAriaLabel}\n />\n </div>\n <div vkuiClass=\"CalendarTime__divider\">:</div>\n <div vkuiClass=\"CalendarTime__picker\">\n <CustomSelect\n value={value.getMinutes()}\n options={minutes}\n onChange={onMinutesChange}\n forceDropdownPortal={false}\n sizeY={SizeType.COMPACT}\n aria-label={changeMinutesAriaLabel}\n />\n </div>\n <div vkuiClass=\"CalendarTime__button\">\n <Button\n sizeY={SizeType.COMPACT}\n mode=\"secondary\"\n onClick={onClose}\n size=\"l\"\n aria-label={doneButtonText}\n >\n {doneButtonText}\n </Button>\n </div>\n </div>\n );\n};\n"],"file":"CalendarTime.js"}
@@ -12,7 +12,7 @@ import { withAdaptivity, SizeType } from "../../hoc/withAdaptivity";
12
12
  import Text from "../Typography/Text/Text";
13
13
  import Headline from "../Typography/Headline/Headline";
14
14
  import { hasReactNode } from "../../lib/utils";
15
- import Caption from "../Typography/Caption/Caption";
15
+ import { Caption } from "../Typography/Caption/Caption";
16
16
  export var Checkbox = function Checkbox(_ref) {
17
17
  var children = _ref.children,
18
18
  className = _ref.className,
@@ -50,9 +50,6 @@ export var Checkbox = function Checkbox(_ref) {
50
50
  }, createScopedElement("div", {
51
51
  vkuiClass: "Checkbox__children"
52
52
  }, children), hasReactNode(description) && createScopedElement(Caption, {
53
- level: "1",
54
- Component: "span",
55
- weight: "regular",
56
53
  vkuiClass: "Checkbox__description"
57
54
  }, description))));
58
55
  }; // eslint-disable-next-line import/no-default-export
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":["Tappable","ACTIVE_EFFECT_DELAY","getClassName","classNames","IOS","VKCOM","Icon20CheckBoxOn","Icon20CheckBoxOff","Icon24CheckBoxOn","Icon24CheckBoxOff","usePlatform","withAdaptivity","SizeType","Text","Headline","hasReactNode","Caption","Checkbox","children","className","style","getRootRef","getRef","description","sizeY","restProps","platform","ContentComponent","COMPACT","disabled"],"mappings":";;;;AACA,OAAOA,QAAP,IAAmBC,mBAAnB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SACEC,gBADF,EAEEC,iBAFF,EAGEC,gBAHF,EAIEC,iBAJF,QAKO,kBALP;AAQA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,OAAOC,IAAP;AACA,OAAOC,QAAP;AACA,SAASC,YAAT;AACA,OAAOC,OAAP;AAWA,OAAO,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,OAS3C;AAAA,MARnBC,QAQmB,QARnBA,QAQmB;AAAA,MAPnBC,SAOmB,QAPnBA,SAOmB;AAAA,MANnBC,KAMmB,QANnBA,KAMmB;AAAA,MALnBC,UAKmB,QALnBA,UAKmB;AAAA,MAJnBC,MAImB,QAJnBA,MAImB;AAAA,MAHnBC,WAGmB,QAHnBA,WAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAGhB,WAAW,EAA5B;AAEA,MAAMiB,gBAAgB,GACpBD,QAAQ,KAAKrB,KAAb,IAAsBmB,KAAK,KAAKZ,QAAQ,CAACgB,OAAzC,GAAmDf,IAAnD,GAA0DC,QAD5D;AAGA,SACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,SAAS,EAAEX,UAAU,CACnBD,YAAY,CAAC,UAAD,EAAawB,QAAb,CADO,4BAEAF,KAFA,EAFvB;AAME,IAAA,SAAS,EAAEL,SANb;AAOE,IAAA,KAAK,EAAEC,KAPT;AAQE,IAAA,QAAQ,EAAEK,SAAS,CAACI,QARtB;AASE,IAAA,iBAAiB,EAAEH,QAAQ,KAAKtB,GAAb,GAAmB,GAAnB,GAAyBH,mBAT9C;AAUE,IAAA,UAAU,EAAEoB;AAVd,KAYE,0CACMI,SADN;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,SAAS,EAAC,iBAHZ;AAIE,IAAA,GAAG,EAAEH;AAJP,KAZF,EAkBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,KAAK,KAAKZ,QAAQ,CAACgB,OAAnB,IAA8BF,QAAQ,KAAKrB,KAA3C,GACC,oBAAC,gBAAD,OADD,GAGC,oBAAC,gBAAD,OAJJ,CADF,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGmB,KAAK,KAAKZ,QAAQ,CAACgB,OAAnB,IAA8BF,QAAQ,KAAKrB,KAA3C,GACC,oBAAC,iBAAD,OADD,GAGC,oBAAC,iBAAD,OAJJ,CARF,EAeE,oBAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAC,mBAFZ;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAqCa,QAArC,CALF,EAMGH,YAAY,CAACQ,WAAD,CAAZ,IACC,oBAAC,OAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,SAAS,EAAC,MAFZ;AAGE,IAAA,MAAM,EAAC,SAHT;AAIE,IAAA,SAAS,EAAC;AAJZ,KAMGA,WANH,CAPJ,CAfF,CAlBF,CADF;AAsDD,CArEM,C,CAuEP;;AACA,eAAeZ,cAAc,CAACM,QAAD,EAAW;AACtCO,EAAAA,KAAK,EAAE;AAD+B,CAAX,CAA7B","sourcesContent":["import * as React from \"react\";\nimport Tappable, { ACTIVE_EFFECT_DELAY } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\n\nimport {\n Icon20CheckBoxOn,\n Icon20CheckBoxOff,\n Icon24CheckBoxOn,\n Icon24CheckBoxOff,\n} from \"@vkontakte/icons\";\n\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport Text from \"../Typography/Text/Text\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport \"./Checkbox.css\";\n\nexport interface CheckboxProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nexport const Checkbox: React.FunctionComponent<CheckboxProps> = ({\n children,\n className,\n style,\n getRootRef,\n getRef,\n description,\n sizeY,\n ...restProps\n}: CheckboxProps) => {\n const platform = usePlatform();\n\n const ContentComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n vkuiClass={classNames(\n getClassName(\"Checkbox\", platform),\n `Checkbox--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n disabled={restProps.disabled}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n getRootRef={getRootRef}\n >\n <input\n {...restProps}\n type=\"checkbox\"\n vkuiClass=\"Checkbox__input\"\n ref={getRef}\n />\n <div vkuiClass=\"Checkbox__container\">\n <div vkuiClass=\"Checkbox__icon Checkbox__icon--on\">\n {sizeY === SizeType.COMPACT || platform === VKCOM ? (\n <Icon20CheckBoxOn />\n ) : (\n <Icon24CheckBoxOn />\n )}\n </div>\n <div vkuiClass=\"Checkbox__icon Checkbox__icon--off\">\n {sizeY === SizeType.COMPACT || platform === VKCOM ? (\n <Icon20CheckBoxOff />\n ) : (\n <Icon24CheckBoxOff />\n )}\n </div>\n <ContentComponent\n weight=\"regular\"\n vkuiClass=\"Checkbox__content\"\n Component=\"div\"\n >\n <div vkuiClass=\"Checkbox__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption\n level=\"1\"\n Component=\"span\"\n weight=\"regular\"\n vkuiClass=\"Checkbox__description\"\n >\n {description}\n </Caption>\n )}\n </ContentComponent>\n </div>\n </Tappable>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Checkbox, {\n sizeY: true,\n});\n"],"file":"Checkbox.js"}
1
+ {"version":3,"sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":["Tappable","ACTIVE_EFFECT_DELAY","getClassName","classNames","IOS","VKCOM","Icon20CheckBoxOn","Icon20CheckBoxOff","Icon24CheckBoxOn","Icon24CheckBoxOff","usePlatform","withAdaptivity","SizeType","Text","Headline","hasReactNode","Caption","Checkbox","children","className","style","getRootRef","getRef","description","sizeY","restProps","platform","ContentComponent","COMPACT","disabled"],"mappings":";;;;AACA,OAAOA,QAAP,IAAmBC,mBAAnB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SACEC,gBADF,EAEEC,iBAFF,EAGEC,gBAHF,EAIEC,iBAJF,QAKO,kBALP;AAQA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,OAAOC,IAAP;AACA,OAAOC,QAAP;AACA,SAASC,YAAT;AACA,SAASC,OAAT;AAWA,OAAO,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,OAS3C;AAAA,MARnBC,QAQmB,QARnBA,QAQmB;AAAA,MAPnBC,SAOmB,QAPnBA,SAOmB;AAAA,MANnBC,KAMmB,QANnBA,KAMmB;AAAA,MALnBC,UAKmB,QALnBA,UAKmB;AAAA,MAJnBC,MAImB,QAJnBA,MAImB;AAAA,MAHnBC,WAGmB,QAHnBA,WAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAGhB,WAAW,EAA5B;AAEA,MAAMiB,gBAAgB,GACpBD,QAAQ,KAAKrB,KAAb,IAAsBmB,KAAK,KAAKZ,QAAQ,CAACgB,OAAzC,GAAmDf,IAAnD,GAA0DC,QAD5D;AAGA,SACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,SAAS,EAAEX,UAAU,CACnBD,YAAY,CAAC,UAAD,EAAawB,QAAb,CADO,4BAEAF,KAFA,EAFvB;AAME,IAAA,SAAS,EAAEL,SANb;AAOE,IAAA,KAAK,EAAEC,KAPT;AAQE,IAAA,QAAQ,EAAEK,SAAS,CAACI,QARtB;AASE,IAAA,iBAAiB,EAAEH,QAAQ,KAAKtB,GAAb,GAAmB,GAAnB,GAAyBH,mBAT9C;AAUE,IAAA,UAAU,EAAEoB;AAVd,KAYE,0CACMI,SADN;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,SAAS,EAAC,iBAHZ;AAIE,IAAA,GAAG,EAAEH;AAJP,KAZF,EAkBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,KAAK,KAAKZ,QAAQ,CAACgB,OAAnB,IAA8BF,QAAQ,KAAKrB,KAA3C,GACC,oBAAC,gBAAD,OADD,GAGC,oBAAC,gBAAD,OAJJ,CADF,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGmB,KAAK,KAAKZ,QAAQ,CAACgB,OAAnB,IAA8BF,QAAQ,KAAKrB,KAA3C,GACC,oBAAC,iBAAD,OADD,GAGC,oBAAC,iBAAD,OAJJ,CARF,EAeE,oBAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAC,mBAFZ;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAqCa,QAArC,CALF,EAMGH,YAAY,CAACQ,WAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAA4CA,WAA5C,CAPJ,CAfF,CAlBF,CADF;AA+CD,CA9DM,C,CAgEP;;AACA,eAAeZ,cAAc,CAACM,QAAD,EAAW;AACtCO,EAAAA,KAAK,EAAE;AAD+B,CAAX,CAA7B","sourcesContent":["import * as React from \"react\";\nimport Tappable, { ACTIVE_EFFECT_DELAY } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\n\nimport {\n Icon20CheckBoxOn,\n Icon20CheckBoxOff,\n Icon24CheckBoxOn,\n Icon24CheckBoxOff,\n} from \"@vkontakte/icons\";\n\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport Text from \"../Typography/Text/Text\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport \"./Checkbox.css\";\n\nexport interface CheckboxProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nexport const Checkbox: React.FunctionComponent<CheckboxProps> = ({\n children,\n className,\n style,\n getRootRef,\n getRef,\n description,\n sizeY,\n ...restProps\n}: CheckboxProps) => {\n const platform = usePlatform();\n\n const ContentComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n vkuiClass={classNames(\n getClassName(\"Checkbox\", platform),\n `Checkbox--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n disabled={restProps.disabled}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n getRootRef={getRootRef}\n >\n <input\n {...restProps}\n type=\"checkbox\"\n vkuiClass=\"Checkbox__input\"\n ref={getRef}\n />\n <div vkuiClass=\"Checkbox__container\">\n <div vkuiClass=\"Checkbox__icon Checkbox__icon--on\">\n {sizeY === SizeType.COMPACT || platform === VKCOM ? (\n <Icon20CheckBoxOn />\n ) : (\n <Icon24CheckBoxOn />\n )}\n </div>\n <div vkuiClass=\"Checkbox__icon Checkbox__icon--off\">\n {sizeY === SizeType.COMPACT || platform === VKCOM ? (\n <Icon20CheckBoxOff />\n ) : (\n <Icon24CheckBoxOff />\n )}\n </div>\n <ContentComponent\n weight=\"regular\"\n vkuiClass=\"Checkbox__content\"\n Component=\"div\"\n >\n <div vkuiClass=\"Checkbox__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Checkbox__description\">{description}</Caption>\n )}\n </ContentComponent>\n </div>\n </Tappable>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Checkbox, {\n sizeY: true,\n});\n"],"file":"Checkbox.js"}
@@ -6,7 +6,7 @@ import * as React from "react";
6
6
  import { Icon16Cancel } from "@vkontakte/icons";
7
7
  import { getTitleFromChildren, hasReactNode, noop } from "../../lib/utils";
8
8
  import { classNames } from "../../lib/classNames";
9
- import Caption from "../Typography/Caption/Caption";
9
+ import { Caption } from "../Typography/Caption/Caption";
10
10
  import Tappable from "../Tappable/Tappable";
11
11
  export var Chip = function Chip(_ref) {
12
12
  var _ref$value = _ref.value,
@@ -40,8 +40,6 @@ export var Chip = function Chip(_ref) {
40
40
  }, hasReactNode(before) && createScopedElement("div", {
41
41
  vkuiClass: "Chip__before"
42
42
  }, before), createScopedElement(Caption, {
43
- level: "1",
44
- weight: "regular",
45
43
  vkuiClass: "Chip__content",
46
44
  title: title,
47
45
  "aria-hidden": "true"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Chip/Chip.tsx"],"names":["React","Icon16Cancel","getTitleFromChildren","hasReactNode","noop","classNames","Caption","Tappable","Chip","value","option","removable","onRemove","removeAriaLabel","before","after","children","restProps","onRemoveWrapper","useCallback","event","title"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,kBAA7B;AACA,SAASC,oBAAT,EAA+BC,YAA/B,EAA6CC,IAA7C;AACA,SAASC,UAAT;AACA,OAAOC,OAAP;AACA,OAAOC,QAAP;AAeA,OAAO,IAAMC,IAAyB,GAAG,SAA5BA,IAA4B,OAUxB;AAAA,wBATfC,KASe;AAAA,MATfA,KASe,2BATP,EASO;AAAA,MARfC,MAQe,QARfA,MAQe;AAAA,4BAPfC,SAOe;AAAA,MAPfA,SAOe,+BAPH,IAOG;AAAA,2BANfC,QAMe;AAAA,MANfA,QAMe,8BANJR,IAMI;AAAA,kCALfS,eAKe;AAAA,MALfA,eAKe,qCALG,SAKH;AAAA,yBAJfC,MAIe;AAAA,MAJfA,MAIe,4BAJN,IAIM;AAAA,MAHfC,KAGe,QAHfA,KAGe;AAAA,MAFfC,QAEe,QAFfA,QAEe;AAAA,MADZC,SACY;;AACf,MAAMC,eAAe,GAAGlB,KAAK,CAACmB,WAAN,CACtB,UAACC,KAAD,EAA6B;AAC3BR,IAAAA,QAAQ,CAACQ,KAAD,EAAQX,KAAR,CAAR;AACD,GAHqB,EAItB,CAACG,QAAD,EAAWH,KAAX,CAJsB,CAAxB;AAMA,MAAMY,KAAK,GAAGnB,oBAAoB,CAACc,QAAD,CAAlC;AAEA,SACE;AACE,IAAA,SAAS,EAAEX,UAAU,CAAC,MAAD,EAAS;AAAE,yBAAmBM;AAArB,KAAT,CADvB;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,kBAAYU;AAHd,KAIMJ,SAJN,GAME;AAAK,IAAA,SAAS,EAAC,UAAf;AAA0B,IAAA,IAAI,EAAC;AAA/B,KACGd,YAAY,CAACW,MAAD,CAAZ,IAAwB;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+BA,MAA/B,CAD3B,EAEE,oBAAC,OAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAC,SAFT;AAGE,IAAA,SAAS,EAAC,eAHZ;AAIE,IAAA,KAAK,EAAEO,KAJT;AAKE,mBAAY;AALd,KAOGL,QAPH,CAFF,EAWGb,YAAY,CAACY,KAAD,CAAZ,IAAuB;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8BA,KAA9B,CAX1B,EAaGJ,SAAS,IACR,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,QADZ;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,OAAO,EAAEO,eAHX;AAIE,IAAA,QAAQ,EAAE,KAJZ;AAKE,IAAA,SAAS,EAAE,KALb;AAME,4BAAeL,eAAf,cAAkCQ,KAAlC;AANF,KAQE,oBAAC,YAAD;AAAc,mBAAa;AAA3B,IARF,CAdJ,CANF,CADF;AAmCD,CAtDM","sourcesContent":["import * as React from \"react\";\nimport { Icon16Cancel } from \"@vkontakte/icons\";\nimport { getTitleFromChildren, hasReactNode, noop } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Tappable from \"../Tappable/Tappable\";\nimport \"./Chip.css\";\n\ntype ChipValue = string | number;\n\nexport interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {\n value: ChipValue;\n option?: { value?: ChipValue };\n onRemove?: (event?: React.MouseEvent, value?: ChipValue) => void;\n removable?: boolean;\n removeAriaLabel?: string;\n before?: React.ReactNode;\n after?: React.ReactNode;\n}\n\nexport const Chip: React.FC<ChipProps> = ({\n value = \"\",\n option,\n removable = true,\n onRemove = noop,\n removeAriaLabel = \"Удалить\",\n before = null,\n after,\n children,\n ...restProps\n}: ChipProps) => {\n const onRemoveWrapper = React.useCallback(\n (event: React.MouseEvent) => {\n onRemove(event, value);\n },\n [onRemove, value]\n );\n const title = getTitleFromChildren(children);\n\n return (\n <div\n vkuiClass={classNames(\"Chip\", { \"Chip--removable\": removable })}\n role=\"option\"\n aria-label={title}\n {...restProps}\n >\n <div vkuiClass=\"Chip__in\" role=\"presentation\">\n {hasReactNode(before) && <div vkuiClass=\"Chip__before\">{before}</div>}\n <Caption\n level=\"1\"\n weight=\"regular\"\n vkuiClass=\"Chip__content\"\n title={title}\n aria-hidden=\"true\"\n >\n {children}\n </Caption>\n {hasReactNode(after) && <div vkuiClass=\"Chip__after\">{after}</div>}\n\n {removable && (\n <Tappable\n Component=\"button\"\n vkuiClass=\"Chip__remove\"\n onClick={onRemoveWrapper}\n hasHover={false}\n hasActive={false}\n aria-label={`${removeAriaLabel} ${title}`}\n >\n <Icon16Cancel aria-hidden={true} />\n </Tappable>\n )}\n </div>\n </div>\n );\n};\n"],"file":"Chip.js"}
1
+ {"version":3,"sources":["../../../src/components/Chip/Chip.tsx"],"names":["React","Icon16Cancel","getTitleFromChildren","hasReactNode","noop","classNames","Caption","Tappable","Chip","value","option","removable","onRemove","removeAriaLabel","before","after","children","restProps","onRemoveWrapper","useCallback","event","title"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,kBAA7B;AACA,SAASC,oBAAT,EAA+BC,YAA/B,EAA6CC,IAA7C;AACA,SAASC,UAAT;AACA,SAASC,OAAT;AACA,OAAOC,QAAP;AAeA,OAAO,IAAMC,IAAyB,GAAG,SAA5BA,IAA4B,OAUxB;AAAA,wBATfC,KASe;AAAA,MATfA,KASe,2BATP,EASO;AAAA,MARfC,MAQe,QARfA,MAQe;AAAA,4BAPfC,SAOe;AAAA,MAPfA,SAOe,+BAPH,IAOG;AAAA,2BANfC,QAMe;AAAA,MANfA,QAMe,8BANJR,IAMI;AAAA,kCALfS,eAKe;AAAA,MALfA,eAKe,qCALG,SAKH;AAAA,yBAJfC,MAIe;AAAA,MAJfA,MAIe,4BAJN,IAIM;AAAA,MAHfC,KAGe,QAHfA,KAGe;AAAA,MAFfC,QAEe,QAFfA,QAEe;AAAA,MADZC,SACY;;AACf,MAAMC,eAAe,GAAGlB,KAAK,CAACmB,WAAN,CACtB,UAACC,KAAD,EAA6B;AAC3BR,IAAAA,QAAQ,CAACQ,KAAD,EAAQX,KAAR,CAAR;AACD,GAHqB,EAItB,CAACG,QAAD,EAAWH,KAAX,CAJsB,CAAxB;AAMA,MAAMY,KAAK,GAAGnB,oBAAoB,CAACc,QAAD,CAAlC;AAEA,SACE;AACE,IAAA,SAAS,EAAEX,UAAU,CAAC,MAAD,EAAS;AAAE,yBAAmBM;AAArB,KAAT,CADvB;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,kBAAYU;AAHd,KAIMJ,SAJN,GAME;AAAK,IAAA,SAAS,EAAC,UAAf;AAA0B,IAAA,IAAI,EAAC;AAA/B,KACGd,YAAY,CAACW,MAAD,CAAZ,IAAwB;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+BA,MAA/B,CAD3B,EAEE,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,eAAnB;AAAmC,IAAA,KAAK,EAAEO,KAA1C;AAAiD,mBAAY;AAA7D,KACGL,QADH,CAFF,EAKGb,YAAY,CAACY,KAAD,CAAZ,IAAuB;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8BA,KAA9B,CAL1B,EAOGJ,SAAS,IACR,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,QADZ;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,OAAO,EAAEO,eAHX;AAIE,IAAA,QAAQ,EAAE,KAJZ;AAKE,IAAA,SAAS,EAAE,KALb;AAME,4BAAeL,eAAf,cAAkCQ,KAAlC;AANF,KAQE,oBAAC,YAAD;AAAc,mBAAa;AAA3B,IARF,CARJ,CANF,CADF;AA6BD,CAhDM","sourcesContent":["import * as React from \"react\";\nimport { Icon16Cancel } from \"@vkontakte/icons\";\nimport { getTitleFromChildren, hasReactNode, noop } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Tappable from \"../Tappable/Tappable\";\nimport \"./Chip.css\";\n\ntype ChipValue = string | number;\n\nexport interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {\n value: ChipValue;\n option?: { value?: ChipValue };\n onRemove?: (event?: React.MouseEvent, value?: ChipValue) => void;\n removable?: boolean;\n removeAriaLabel?: string;\n before?: React.ReactNode;\n after?: React.ReactNode;\n}\n\nexport const Chip: React.FC<ChipProps> = ({\n value = \"\",\n option,\n removable = true,\n onRemove = noop,\n removeAriaLabel = \"Удалить\",\n before = null,\n after,\n children,\n ...restProps\n}: ChipProps) => {\n const onRemoveWrapper = React.useCallback(\n (event: React.MouseEvent) => {\n onRemove(event, value);\n },\n [onRemove, value]\n );\n const title = getTitleFromChildren(children);\n\n return (\n <div\n vkuiClass={classNames(\"Chip\", { \"Chip--removable\": removable })}\n role=\"option\"\n aria-label={title}\n {...restProps}\n >\n <div vkuiClass=\"Chip__in\" role=\"presentation\">\n {hasReactNode(before) && <div vkuiClass=\"Chip__before\">{before}</div>}\n <Caption vkuiClass=\"Chip__content\" title={title} aria-hidden=\"true\">\n {children}\n </Caption>\n {hasReactNode(after) && <div vkuiClass=\"Chip__after\">{after}</div>}\n\n {removable && (\n <Tappable\n Component=\"button\"\n vkuiClass=\"Chip__remove\"\n onClick={onRemoveWrapper}\n hasHover={false}\n hasActive={false}\n aria-label={`${removeAriaLabel} ${title}`}\n >\n <Icon16Cancel aria-hidden={true} />\n </Tappable>\n )}\n </div>\n </div>\n );\n};\n"],"file":"Chip.js"}
@@ -37,5 +37,4 @@ export interface ChipsSelectProps<Option extends ChipsInputOption> extends Chips
37
37
  */
38
38
  closeAfterSelect?: boolean;
39
39
  }
40
- declare const _default: React.FC<Pick<ChipsSelectProps<ChipsInputOption>, "max" | "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "pattern" | "color" | "size" | "after" | "multiple" | "height" | "translate" | "width" | "prefix" | "src" | "children" | "className" | "id" | "lang" | "min" | "name" | "type" | "role" | "tabIndex" | "crossOrigin" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "list" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "value" | "alt" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "autoComplete" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "step" | "align" | "getRootRef" | "getRef" | "options" | "popupDirection" | "inputValue" | "onInputChange" | "getOptionValue" | "getOptionLabel" | "getNewOptionData" | "renderChip" | "inputAriaLabel" | "fetching" | "emptyText" | "filterFn" | "renderOption" | "creatable" | "showSelected" | "creatableText" | "onChangeStart" | "closeAfterSelect"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
41
- export default _default;
40
+ export declare const ChipsSelect: React.FC<Pick<ChipsSelectProps<ChipsInputOption>, "max" | "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "pattern" | "color" | "size" | "after" | "multiple" | "height" | "translate" | "width" | "prefix" | "src" | "children" | "className" | "id" | "lang" | "min" | "name" | "type" | "role" | "tabIndex" | "crossOrigin" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "list" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "value" | "alt" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "autoComplete" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "step" | "align" | "getRootRef" | "getRef" | "options" | "popupDirection" | "inputValue" | "onInputChange" | "getOptionValue" | "getOptionLabel" | "getNewOptionData" | "renderChip" | "inputAriaLabel" | "fetching" | "emptyText" | "filterFn" | "renderOption" | "creatable" | "showSelected" | "creatableText" | "onChangeStart" | "closeAfterSelect"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
@@ -16,7 +16,7 @@ import { useChipsSelect } from "./useChipsSelect";
16
16
  import { withAdaptivity } from "../../hoc/withAdaptivity";
17
17
  import { noop } from "../../lib/utils";
18
18
  import { useDOM } from "../../lib/dom";
19
- import Caption from "../Typography/Caption/Caption";
19
+ import { Caption } from "../Typography/Caption/Caption";
20
20
  import { prefixClass } from "../../lib/prefixClass";
21
21
  import { useExternRef } from "../../hooks/useExternRef";
22
22
  import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
@@ -43,7 +43,7 @@ var chipsSelectDefaultProps = _objectSpread(_objectSpread({}, chipsInputDefaultP
43
43
  }
44
44
  });
45
45
 
46
- var ChipsSelect = function ChipsSelect(props) {
46
+ var ChipsSelectComponent = function ChipsSelectComponent(props) {
47
47
  var _classNames;
48
48
 
49
49
  var propsWithDefault = _objectSpread(_objectSpread({}, chipsSelectDefaultProps), props);
@@ -304,8 +304,6 @@ var ChipsSelect = function ChipsSelect(props) {
304
304
  return setFocusedOptionIndex(0);
305
305
  }
306
306
  }, creatableText), !(filteredOptions !== null && filteredOptions !== void 0 && filteredOptions.length) && !showCreatable && emptyText ? createScopedElement(Caption, {
307
- level: "1",
308
- weight: "regular",
309
307
  vkuiClass: "ChipsSelect__empty"
310
308
  }, emptyText) : filteredOptions.map(function (option, index) {
311
309
  var label = getOptionLabel(option);
@@ -343,10 +341,9 @@ var ChipsSelect = function ChipsSelect(props) {
343
341
  }
344
342
  }));
345
343
  })));
346
- }; // eslint-disable-next-line import/no-default-export
344
+ };
347
345
 
348
-
349
- export default withAdaptivity(ChipsSelect, {
346
+ export var ChipsSelect = withAdaptivity(ChipsSelectComponent, {
350
347
  sizeY: true
351
348
  });
352
349
  //# sourceMappingURL=ChipsSelect.js.map