@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
@@ -5,8 +5,11 @@ import "./CustomSelectDropdown.css";
5
5
  export interface CustomSelectDropdownProps extends React.HTMLAttributes<HTMLElement>, HasRef<HTMLDivElement> {
6
6
  targetRef: React.RefObject<HTMLElement>;
7
7
  placement?: Placement;
8
- scrollBoxRef: React.Ref<HTMLDivElement>;
8
+ scrollBoxRef?: React.Ref<HTMLDivElement>;
9
9
  fetching?: boolean;
10
+ offsetDistance?: number;
11
+ sameWidth?: boolean;
12
+ forcePortal?: boolean;
10
13
  onPlacementChange?: (placement?: Placement) => void;
11
14
  }
12
15
  export declare const CustomSelectDropdown: React.FC<CustomSelectDropdownProps>;
@@ -27,7 +27,7 @@ var _Popper = require("../Popper/Popper");
27
27
 
28
28
  var _Spinner = _interopRequireDefault(require("../Spinner/Spinner"));
29
29
 
30
- var _excluded = ["children", "targetRef", "scrollBoxRef", "placement", "fetching", "onPlacementChange"];
30
+ var _excluded = ["children", "targetRef", "scrollBoxRef", "placement", "fetching", "onPlacementChange", "offsetDistance", "sameWidth", "forcePortal"];
31
31
 
32
32
  var calcIsTop = function calcIsTop(placement) {
33
33
  return placement === null || placement === void 0 ? void 0 : placement.includes("top");
@@ -40,6 +40,12 @@ var CustomSelectDropdown = function CustomSelectDropdown(_ref) {
40
40
  placement = _ref.placement,
41
41
  fetching = _ref.fetching,
42
42
  parentOnPlacementChange = _ref.onPlacementChange,
43
+ _ref$offsetDistance = _ref.offsetDistance,
44
+ offsetDistance = _ref$offsetDistance === void 0 ? 0 : _ref$offsetDistance,
45
+ _ref$sameWidth = _ref.sameWidth,
46
+ sameWidth = _ref$sameWidth === void 0 ? true : _ref$sameWidth,
47
+ _ref$forcePortal = _ref.forcePortal,
48
+ forcePortal = _ref$forcePortal === void 0 ? true : _ref$forcePortal,
43
49
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
44
50
 
45
51
  var _React$useState = React.useState(function () {
@@ -56,13 +62,16 @@ var CustomSelectDropdown = function CustomSelectDropdown(_ref) {
56
62
  }, [parentOnPlacementChange, setIsTop]);
57
63
  return (0, _jsxRuntime.createScopedElement)(_Popper.Popper, (0, _extends2.default)({
58
64
  targetRef: targetRef,
59
- offsetDistance: 0,
60
- sameWidth: true,
65
+ offsetDistance: offsetDistance,
66
+ sameWidth: sameWidth,
61
67
  onPlacementChange: onPlacementChange,
62
68
  placement: placement,
63
69
  vkuiClass: (0, _classNames.classNames)("CustomSelectDropdown__options", {
64
- "CustomSelectDropdown__options--popupDirectionTop": isTop
65
- })
70
+ "CustomSelectDropdown__options--popupDirectionTop": isTop,
71
+ "CustomSelectDropdown__options--not-adjacent": offsetDistance > 0,
72
+ "CustomSelectDropdown__options--same-width": sameWidth
73
+ }),
74
+ forcePortal: forcePortal
66
75
  }, restProps), (0, _jsxRuntime.createScopedElement)(_CustomScrollView.default, {
67
76
  boxRef: scrollBoxRef,
68
77
  vkuiClass: "CustomSelectDropdown__CustomScrollView"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomSelectDropdown/CustomSelectDropdown.tsx"],"names":["calcIsTop","placement","includes","CustomSelectDropdown","children","targetRef","scrollBoxRef","fetching","parentOnPlacementChange","onPlacementChange","restProps","React","useState","isTop","setIsTop","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAcA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,SAAD;AAAA,SAA2BA,SAA3B,aAA2BA,SAA3B,uBAA2BA,SAAS,CAAEC,QAAX,CAAoB,KAApB,CAA3B;AAAA,CAAlB;;AAEO,IAAMC,oBAAyD,GAAG,SAA5DA,oBAA4D,OAQnE;AAAA,MAPJC,QAOI,QAPJA,QAOI;AAAA,MANJC,SAMI,QANJA,SAMI;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJL,SAII,QAJJA,SAII;AAAA,MAHJM,QAGI,QAHJA,QAGI;AAAA,MAFeC,uBAEf,QAFJC,iBAEI;AAAA,MADDC,SACC;;AACJ,wBAA0BC,KAAK,CAACC,QAAN,CAAe;AAAA,WAAMZ,SAAS,CAACC,SAAD,CAAf;AAAA,GAAf,CAA1B;AAAA;AAAA,MAAOY,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAML,iBAAiB,GAAGE,KAAK,CAACI,WAAN,CACxB,iBAA8C;AAAA,QAA3Cd,SAA2C,SAA3CA,SAA2C;AAC5Ca,IAAAA,QAAQ,CAACd,SAAS,CAACC,SAAD,CAAV,CAAR;AACAO,IAAAA,uBAAuB,SAAvB,IAAAA,uBAAuB,WAAvB,YAAAA,uBAAuB,CAAGP,SAAH,CAAvB;AACD,GAJuB,EAKxB,CAACO,uBAAD,EAA0BM,QAA1B,CALwB,CAA1B;AAQA,SACE,qCAAC,cAAD;AACE,IAAA,SAAS,EAAET,SADb;AAEE,IAAA,cAAc,EAAE,CAFlB;AAGE,IAAA,SAAS,MAHX;AAIE,IAAA,iBAAiB,EAAEI,iBAJrB;AAKE,IAAA,SAAS,EAAER,SALb;AAME,IAAA,SAAS,EAAE,4BAAW,+BAAX,EAA4C;AACrD,0DAAoDY;AADC,KAA5C;AANb,KASMH,SATN,GAWE,qCAAC,yBAAD;AACE,IAAA,MAAM,EAAEJ,YADV;AAEE,IAAA,SAAS,EAAC;AAFZ,KAIGC,QAAQ,GACP;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,gBAAD;AAAS,IAAA,IAAI,EAAC;AAAd,IADF,CADO,GAKPH,QATJ,CAXF,CADF;AA0BD,CA7CM","sourcesContent":["import * as React from \"react\";\nimport CustomScrollView from \"../CustomScrollView/CustomScrollView\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport Spinner from \"../Spinner/Spinner\";\nimport { HasRef } from \"../../types\";\nimport \"./CustomSelectDropdown.css\";\n\nexport interface CustomSelectDropdownProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRef<HTMLDivElement> {\n targetRef: React.RefObject<HTMLElement>;\n placement?: Placement;\n scrollBoxRef: React.Ref<HTMLDivElement>;\n fetching?: boolean;\n onPlacementChange?: (placement?: Placement) => void;\n}\n\nconst calcIsTop = (placement?: Placement) => placement?.includes(\"top\");\n\nexport const CustomSelectDropdown: React.FC<CustomSelectDropdownProps> = ({\n children,\n targetRef,\n scrollBoxRef,\n placement,\n fetching,\n onPlacementChange: parentOnPlacementChange,\n ...restProps\n}) => {\n const [isTop, setIsTop] = React.useState(() => calcIsTop(placement));\n\n const onPlacementChange = React.useCallback(\n ({ placement }: { placement?: Placement }) => {\n setIsTop(calcIsTop(placement));\n parentOnPlacementChange?.(placement);\n },\n [parentOnPlacementChange, setIsTop]\n );\n\n return (\n <Popper\n targetRef={targetRef}\n offsetDistance={0}\n sameWidth\n onPlacementChange={onPlacementChange}\n placement={placement}\n vkuiClass={classNames(\"CustomSelectDropdown__options\", {\n \"CustomSelectDropdown__options--popupDirectionTop\": isTop,\n })}\n {...restProps}\n >\n <CustomScrollView\n boxRef={scrollBoxRef}\n vkuiClass=\"CustomSelectDropdown__CustomScrollView\"\n >\n {fetching ? (\n <div vkuiClass=\"CustomSelectDropdown__fetching\">\n <Spinner size=\"small\" />\n </div>\n ) : (\n children\n )}\n </CustomScrollView>\n </Popper>\n );\n};\n"],"file":"CustomSelectDropdown.js"}
1
+ {"version":3,"sources":["../../../../src/components/CustomSelectDropdown/CustomSelectDropdown.tsx"],"names":["calcIsTop","placement","includes","CustomSelectDropdown","children","targetRef","scrollBoxRef","fetching","parentOnPlacementChange","onPlacementChange","offsetDistance","sameWidth","forcePortal","restProps","React","useState","isTop","setIsTop","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAiBA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,SAAD;AAAA,SAA2BA,SAA3B,aAA2BA,SAA3B,uBAA2BA,SAAS,CAAEC,QAAX,CAAoB,KAApB,CAA3B;AAAA,CAAlB;;AAEO,IAAMC,oBAAyD,GAAG,SAA5DA,oBAA4D,OAWnE;AAAA,MAVJC,QAUI,QAVJA,QAUI;AAAA,MATJC,SASI,QATJA,SASI;AAAA,MARJC,YAQI,QARJA,YAQI;AAAA,MAPJL,SAOI,QAPJA,SAOI;AAAA,MANJM,QAMI,QANJA,QAMI;AAAA,MALeC,uBAKf,QALJC,iBAKI;AAAA,iCAJJC,cAII;AAAA,MAJJA,cAII,oCAJa,CAIb;AAAA,4BAHJC,SAGI;AAAA,MAHJA,SAGI,+BAHQ,IAGR;AAAA,8BAFJC,WAEI;AAAA,MAFJA,WAEI,iCAFU,IAEV;AAAA,MADDC,SACC;;AACJ,wBAA0BC,KAAK,CAACC,QAAN,CAAe;AAAA,WAAMf,SAAS,CAACC,SAAD,CAAf;AAAA,GAAf,CAA1B;AAAA;AAAA,MAAOe,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAMR,iBAAiB,GAAGK,KAAK,CAACI,WAAN,CACxB,iBAA8C;AAAA,QAA3CjB,SAA2C,SAA3CA,SAA2C;AAC5CgB,IAAAA,QAAQ,CAACjB,SAAS,CAACC,SAAD,CAAV,CAAR;AACAO,IAAAA,uBAAuB,SAAvB,IAAAA,uBAAuB,WAAvB,YAAAA,uBAAuB,CAAGP,SAAH,CAAvB;AACD,GAJuB,EAKxB,CAACO,uBAAD,EAA0BS,QAA1B,CALwB,CAA1B;AAQA,SACE,qCAAC,cAAD;AACE,IAAA,SAAS,EAAEZ,SADb;AAEE,IAAA,cAAc,EAAEK,cAFlB;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,iBAAiB,EAAEF,iBAJrB;AAKE,IAAA,SAAS,EAAER,SALb;AAME,IAAA,SAAS,EAAE,4BAAW,+BAAX,EAA4C;AACrD,0DAAoDe,KADC;AAErD,qDAA+CN,cAAc,GAAG,CAFX;AAGrD,mDAA6CC;AAHQ,KAA5C,CANb;AAWE,IAAA,WAAW,EAAEC;AAXf,KAYMC,SAZN,GAcE,qCAAC,yBAAD;AACE,IAAA,MAAM,EAAEP,YADV;AAEE,IAAA,SAAS,EAAC;AAFZ,KAIGC,QAAQ,GACP;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,gBAAD;AAAS,IAAA,IAAI,EAAC;AAAd,IADF,CADO,GAKPH,QATJ,CAdF,CADF;AA6BD,CAnDM","sourcesContent":["import * as React from \"react\";\nimport CustomScrollView from \"../CustomScrollView/CustomScrollView\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport Spinner from \"../Spinner/Spinner\";\nimport { HasRef } from \"../../types\";\nimport \"./CustomSelectDropdown.css\";\n\nexport interface CustomSelectDropdownProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRef<HTMLDivElement> {\n targetRef: React.RefObject<HTMLElement>;\n placement?: Placement;\n scrollBoxRef?: React.Ref<HTMLDivElement>;\n fetching?: boolean;\n offsetDistance?: number;\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (placement?: Placement) => void;\n}\n\nconst calcIsTop = (placement?: Placement) => placement?.includes(\"top\");\n\nexport const CustomSelectDropdown: React.FC<CustomSelectDropdownProps> = ({\n children,\n targetRef,\n scrollBoxRef,\n placement,\n fetching,\n onPlacementChange: parentOnPlacementChange,\n offsetDistance = 0,\n sameWidth = true,\n forcePortal = true,\n ...restProps\n}) => {\n const [isTop, setIsTop] = React.useState(() => calcIsTop(placement));\n\n const onPlacementChange = React.useCallback(\n ({ placement }: { placement?: Placement }) => {\n setIsTop(calcIsTop(placement));\n parentOnPlacementChange?.(placement);\n },\n [parentOnPlacementChange, setIsTop]\n );\n\n return (\n <Popper\n targetRef={targetRef}\n offsetDistance={offsetDistance}\n sameWidth={sameWidth}\n onPlacementChange={onPlacementChange}\n placement={placement}\n vkuiClass={classNames(\"CustomSelectDropdown__options\", {\n \"CustomSelectDropdown__options--popupDirectionTop\": isTop,\n \"CustomSelectDropdown__options--not-adjacent\": offsetDistance > 0,\n \"CustomSelectDropdown__options--same-width\": sameWidth,\n })}\n forcePortal={forcePortal}\n {...restProps}\n >\n <CustomScrollView\n boxRef={scrollBoxRef}\n vkuiClass=\"CustomSelectDropdown__CustomScrollView\"\n >\n {fetching ? (\n <div vkuiClass=\"CustomSelectDropdown__fetching\">\n <Spinner size=\"small\" />\n </div>\n ) : (\n children\n )}\n </CustomScrollView>\n </Popper>\n );\n};\n"],"file":"CustomSelectDropdown.js"}
@@ -21,7 +21,7 @@ var _utils = require("../../lib/utils");
21
21
 
22
22
  var _Text = _interopRequireDefault(require("../Typography/Text/Text"));
23
23
 
24
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
24
+ var _Caption = require("../Typography/Caption/Caption");
25
25
 
26
26
  var _useAdaptivity2 = require("../../hooks/useAdaptivity");
27
27
 
@@ -67,14 +67,12 @@ var CustomSelectOption = function CustomSelectOption(_ref) {
67
67
  vkuiClass: "CustomSelectOption__main"
68
68
  }, (0, _jsxRuntime.createScopedElement)("div", {
69
69
  vkuiClass: "CustomSelectOption__children"
70
- }, children), (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
71
- level: "1",
72
- weight: "regular",
70
+ }, children), (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
73
71
  vkuiClass: "CustomSelectOption__description"
74
72
  }, description)), (0, _jsxRuntime.createScopedElement)("div", {
75
73
  vkuiClass: "CustomSelectOption__after"
76
74
  }, (0, _utils.hasReactNode)(after) && (0, _jsxRuntime.createScopedElement)("div", {
77
- className: "CustomSelectOption__afterIn"
75
+ vkuiClass: "CustomSelectOption__afterIn"
78
76
  }, after), selected && (0, _jsxRuntime.createScopedElement)(_icons.Icon16Done, {
79
77
  vkuiClass: "CustomSelectOption__selectedIcon"
80
78
  })));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomSelectOption/CustomSelectOption.tsx"],"names":["warn","CustomSelectOption","children","hovered","selected","before","after","option","description","disabled","restProps","title","undefined","sizeY","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;AAgBA,IAAMA,IAAI,GAAG,wBAAS,oBAAT,CAAb;;AAEA,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAU/B;AAAA,MAT7BC,QAS6B,QAT7BA,QAS6B;AAAA,MAR7BC,OAQ6B,QAR7BA,OAQ6B;AAAA,MAP7BC,QAO6B,QAP7BA,QAO6B;AAAA,MAN7BC,MAM6B,QAN7BA,MAM6B;AAAA,MAL7BC,KAK6B,QAL7BA,KAK6B;AAAA,MAJ7BC,MAI6B,QAJ7BA,MAI6B;AAAA,MAH7BC,WAG6B,QAH7BA,WAG6B;AAAA,MAF7BC,QAE6B,QAF7BA,QAE6B;AAAA,MAD1BC,SAC0B;AAC7B,MAAMC,KAAK,GAAG,OAAOT,QAAP,KAAoB,QAApB,GAA+BA,QAA/B,GAA0CU,SAAxD;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAI,CAAC,CAACN,MAAF,IAAYO,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzC,EAAwD;AACtDhB,IAAAA,IAAI,CAAC,mEAAD,CAAJ;AACD;;AAED,SACE,qCAAC,aAAD,6BACMU,SADN;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,MAAM,EAAC,SAHT;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,KAAK,EAAEC,KALT;AAME,qBAAeF,QANjB;AAOE,qBAAeL,QAPjB;AAQE,IAAA,SAAS,EAAE,4BACT,oBADS,sCAEoBS,KAFpB,GAGT;AACE,mCAA6BV,OAAO,IAAI,CAACM,QAD3C;AAEE,sCAAgCL,QAFlC;AAGE,sCAAgCK;AAHlC,KAHS;AARb,MAkBG,yBAAaJ,MAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CA,MAA7C,CAnBJ,EAqBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+CH,QAA/C,CADF,EAEG,yBAAaM,WAAb,KACC,qCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAC,SAFT;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGA,WALH,CAHJ,CArBF,EAiCE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaF,KAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8CA,KAA9C,CAFJ,EAIGF,QAAQ,IACP,qCAAC,iBAAD;AAAY,IAAA,SAAS,EAAC;AAAtB,IALJ,CAjCF,CADF;AA4CD,CA9DD,C,CAgEA;;;eACeH,kB","sourcesContent":["import * as React from \"react\";\nimport { Icon16Done } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Text from \"../Typography/Text/Text\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { HasRootRef } from \"../../types\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./CustomSelectOption.css\";\n\nexport interface CustomSelectOptionProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n option?: any;\n selected?: boolean;\n focused?: boolean;\n hovered?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n description?: React.ReactNode;\n disabled?: boolean;\n}\n\nconst warn = warnOnce(\"CustomSelectOption\");\n\nconst CustomSelectOption: React.FC<CustomSelectOptionProps> = ({\n children,\n hovered,\n selected,\n before,\n after,\n option,\n description,\n disabled,\n ...restProps\n}: CustomSelectOptionProps) => {\n const title = typeof children === \"string\" ? children : undefined;\n const { sizeY } = useAdaptivity();\n\n if (!!option && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство option было добавлено по ошибке и будет удалено в 5.0.0.\");\n }\n\n return (\n <Text\n {...restProps}\n Component=\"div\"\n weight=\"regular\"\n role=\"option\"\n title={title}\n aria-disabled={disabled}\n aria-selected={selected}\n vkuiClass={classNames(\n \"CustomSelectOption\",\n `CustomSelectOption--sizeY-${sizeY}`,\n {\n \"CustomSelectOption--hover\": hovered && !disabled,\n \"CustomSelectOption--selected\": selected,\n \"CustomSelectOption--disabled\": disabled,\n }\n )}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"CustomSelectOption__before\">{before}</div>\n )}\n <div vkuiClass=\"CustomSelectOption__main\">\n <div vkuiClass=\"CustomSelectOption__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption\n level=\"1\"\n weight=\"regular\"\n vkuiClass=\"CustomSelectOption__description\"\n >\n {description}\n </Caption>\n )}\n </div>\n <div vkuiClass=\"CustomSelectOption__after\">\n {hasReactNode(after) && (\n <div className=\"CustomSelectOption__afterIn\">{after}</div>\n )}\n {selected && (\n <Icon16Done vkuiClass=\"CustomSelectOption__selectedIcon\" />\n )}\n </div>\n </Text>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default CustomSelectOption;\n"],"file":"CustomSelectOption.js"}
1
+ {"version":3,"sources":["../../../../src/components/CustomSelectOption/CustomSelectOption.tsx"],"names":["warn","CustomSelectOption","children","hovered","selected","before","after","option","description","disabled","restProps","title","undefined","sizeY","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;AAgBA,IAAMA,IAAI,GAAG,wBAAS,oBAAT,CAAb;;AAEA,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAU/B;AAAA,MAT7BC,QAS6B,QAT7BA,QAS6B;AAAA,MAR7BC,OAQ6B,QAR7BA,OAQ6B;AAAA,MAP7BC,QAO6B,QAP7BA,QAO6B;AAAA,MAN7BC,MAM6B,QAN7BA,MAM6B;AAAA,MAL7BC,KAK6B,QAL7BA,KAK6B;AAAA,MAJ7BC,MAI6B,QAJ7BA,MAI6B;AAAA,MAH7BC,WAG6B,QAH7BA,WAG6B;AAAA,MAF7BC,QAE6B,QAF7BA,QAE6B;AAAA,MAD1BC,SAC0B;AAC7B,MAAMC,KAAK,GAAG,OAAOT,QAAP,KAAoB,QAApB,GAA+BA,QAA/B,GAA0CU,SAAxD;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAI,CAAC,CAACN,MAAF,IAAYO,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzC,EAAwD;AACtDhB,IAAAA,IAAI,CAAC,mEAAD,CAAJ;AACD;;AAED,SACE,qCAAC,aAAD,6BACMU,SADN;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,MAAM,EAAC,SAHT;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,KAAK,EAAEC,KALT;AAME,qBAAeF,QANjB;AAOE,qBAAeL,QAPjB;AAQE,IAAA,SAAS,EAAE,4BACT,oBADS,sCAEoBS,KAFpB,GAGT;AACE,mCAA6BV,OAAO,IAAI,CAACM,QAD3C;AAEE,sCAAgCL,QAFlC;AAGE,sCAAgCK;AAHlC,KAHS;AARb,MAkBG,yBAAaJ,MAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CA,MAA7C,CAnBJ,EAqBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+CH,QAA/C,CADF,EAEG,yBAAaM,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KACGA,WADH,CAHJ,CArBF,EA6BE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaF,KAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8CA,KAA9C,CAFJ,EAIGF,QAAQ,IACP,qCAAC,iBAAD;AAAY,IAAA,SAAS,EAAC;AAAtB,IALJ,CA7BF,CADF;AAwCD,CA1DD,C,CA4DA;;;eACeH,kB","sourcesContent":["import * as React from \"react\";\nimport { Icon16Done } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Text from \"../Typography/Text/Text\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { HasRootRef } from \"../../types\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./CustomSelectOption.css\";\n\nexport interface CustomSelectOptionProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n option?: any;\n selected?: boolean;\n focused?: boolean;\n hovered?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n description?: React.ReactNode;\n disabled?: boolean;\n}\n\nconst warn = warnOnce(\"CustomSelectOption\");\n\nconst CustomSelectOption: React.FC<CustomSelectOptionProps> = ({\n children,\n hovered,\n selected,\n before,\n after,\n option,\n description,\n disabled,\n ...restProps\n}: CustomSelectOptionProps) => {\n const title = typeof children === \"string\" ? children : undefined;\n const { sizeY } = useAdaptivity();\n\n if (!!option && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство option было добавлено по ошибке и будет удалено в 5.0.0.\");\n }\n\n return (\n <Text\n {...restProps}\n Component=\"div\"\n weight=\"regular\"\n role=\"option\"\n title={title}\n aria-disabled={disabled}\n aria-selected={selected}\n vkuiClass={classNames(\n \"CustomSelectOption\",\n `CustomSelectOption--sizeY-${sizeY}`,\n {\n \"CustomSelectOption--hover\": hovered && !disabled,\n \"CustomSelectOption--selected\": selected,\n \"CustomSelectOption--disabled\": disabled,\n }\n )}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"CustomSelectOption__before\">{before}</div>\n )}\n <div vkuiClass=\"CustomSelectOption__main\">\n <div vkuiClass=\"CustomSelectOption__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"CustomSelectOption__description\">\n {description}\n </Caption>\n )}\n </div>\n <div vkuiClass=\"CustomSelectOption__after\">\n {hasReactNode(after) && (\n <div vkuiClass=\"CustomSelectOption__afterIn\">{after}</div>\n )}\n {selected && (\n <Icon16Done vkuiClass=\"CustomSelectOption__selectedIcon\" />\n )}\n </div>\n </Text>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default CustomSelectOption;\n"],"file":"CustomSelectOption.js"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { CalendarProps } from "../Calendar/Calendar";
3
+ import { Placement } from "../Popper/Popper";
4
+ import { HasRootRef } from "../../types";
5
+ import "./DateInput.css";
6
+ export interface DateInputProps extends Omit<React.InputHTMLAttributes<HTMLDivElement>, "value" | "onChange" | "size">, Pick<CalendarProps, "disablePast" | "disableFuture" | "enableTime" | "shouldDisableDate" | "onChange" | "value" | "doneButtonText" | "weekStartsOn" | "disablePickers" | "changeHoursAriaLabel" | "changeMinutesAriaLabel" | "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "changeDayAriaLabel" | "showNeighboringMonth" | "size">, HasRootRef<HTMLDivElement> {
7
+ calendarPlacement?: Placement;
8
+ closeOnChange?: boolean;
9
+ clearFieldAriaLabel?: string;
10
+ showCalendarAriaLabel?: string;
11
+ }
12
+ export declare const DateInput: React.FC<DateInputProps>;
@@ -0,0 +1,290 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.DateInput = void 0;
11
+
12
+ var _jsxRuntime = require("../../lib/jsxRuntime");
13
+
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var React = _interopRequireWildcard(require("react"));
19
+
20
+ var _dateFns = require("date-fns");
21
+
22
+ var _icons = require("@vkontakte/icons");
23
+
24
+ var _Calendar = require("../Calendar/Calendar");
25
+
26
+ var _Popper = require("../Popper/Popper");
27
+
28
+ var _utils = require("../../lib/utils");
29
+
30
+ var _IconButton = _interopRequireDefault(require("../IconButton/IconButton"));
31
+
32
+ var _classNames = require("../../lib/classNames");
33
+
34
+ var _FormField = require("../FormField/FormField");
35
+
36
+ var _useDateInput2 = require("../../hooks/useDateInput");
37
+
38
+ var _InputLike = require("../InputLike/InputLike");
39
+
40
+ var _InputLikeDivider = require("../InputLike/InputLikeDivider");
41
+
42
+ var _useAdaptivity2 = require("../../hooks/useAdaptivity");
43
+
44
+ var _callMultiple = require("../../lib/callMultiple");
45
+
46
+ var _excluded = ["enableTime", "shouldDisableDate", "disableFuture", "disablePast", "value", "onChange", "calendarPlacement", "style", "className", "doneButtonText", "closeOnChange", "disablePickers", "getRootRef", "name", "autoFocus", "disabled", "onClick", "onFocus", "prevMonthAriaLabel", "nextMonthAriaLabel", "showNeighboringMonth", "size", "changeMonthAriaLabel", "changeYearAriaLabel", "changeDayAriaLabel", "changeHoursAriaLabel", "changeMinutesAriaLabel", "clearFieldAriaLabel", "showCalendarAriaLabel"];
47
+
48
+ var elementsConfig = function elementsConfig(index) {
49
+ var length = 2;
50
+ var min = 1;
51
+ var max = 0;
52
+
53
+ switch (index) {
54
+ case 0:
55
+ max = 31;
56
+ break;
57
+
58
+ case 1:
59
+ max = 12;
60
+ break;
61
+
62
+ case 2:
63
+ max = 2100;
64
+ min = 1900;
65
+ length = 4;
66
+ break;
67
+
68
+ case 3:
69
+ max = 23;
70
+ break;
71
+
72
+ case 4:
73
+ max = 59;
74
+ break;
75
+ }
76
+
77
+ return {
78
+ length: length,
79
+ min: min,
80
+ max: max
81
+ };
82
+ };
83
+
84
+ var getInternalValue = function getInternalValue(value) {
85
+ var newValue = ["", "", "", "", ""];
86
+
87
+ if (value) {
88
+ newValue[0] = String(value.getDate()).padStart(2, "0");
89
+ newValue[1] = String(value.getMonth() + 1).padStart(2, "0");
90
+ newValue[2] = String(value.getFullYear()).padStart(4, "0");
91
+ newValue[3] = String(value.getHours()).padStart(2, "0");
92
+ newValue[4] = String(value.getMinutes()).padStart(2, "0");
93
+ }
94
+
95
+ return newValue;
96
+ };
97
+
98
+ var DateInput = function DateInput(_ref) {
99
+ var enableTime = _ref.enableTime,
100
+ shouldDisableDate = _ref.shouldDisableDate,
101
+ disableFuture = _ref.disableFuture,
102
+ disablePast = _ref.disablePast,
103
+ value = _ref.value,
104
+ onChange = _ref.onChange,
105
+ _ref$calendarPlacemen = _ref.calendarPlacement,
106
+ calendarPlacement = _ref$calendarPlacemen === void 0 ? "bottom-start" : _ref$calendarPlacemen,
107
+ style = _ref.style,
108
+ className = _ref.className,
109
+ doneButtonText = _ref.doneButtonText,
110
+ _ref$closeOnChange = _ref.closeOnChange,
111
+ closeOnChange = _ref$closeOnChange === void 0 ? true : _ref$closeOnChange,
112
+ disablePickers = _ref.disablePickers,
113
+ getRootRef = _ref.getRootRef,
114
+ name = _ref.name,
115
+ autoFocus = _ref.autoFocus,
116
+ disabled = _ref.disabled,
117
+ onClick = _ref.onClick,
118
+ onFocus = _ref.onFocus,
119
+ prevMonthAriaLabel = _ref.prevMonthAriaLabel,
120
+ nextMonthAriaLabel = _ref.nextMonthAriaLabel,
121
+ showNeighboringMonth = _ref.showNeighboringMonth,
122
+ size = _ref.size,
123
+ _ref$changeMonthAriaL = _ref.changeMonthAriaLabel,
124
+ changeMonthAriaLabel = _ref$changeMonthAriaL === void 0 ? "Изменить месяц" : _ref$changeMonthAriaL,
125
+ _ref$changeYearAriaLa = _ref.changeYearAriaLabel,
126
+ changeYearAriaLabel = _ref$changeYearAriaLa === void 0 ? "Изменить год" : _ref$changeYearAriaLa,
127
+ _ref$changeDayAriaLab = _ref.changeDayAriaLabel,
128
+ changeDayAriaLabel = _ref$changeDayAriaLab === void 0 ? "Изменить день" : _ref$changeDayAriaLab,
129
+ _ref$changeHoursAriaL = _ref.changeHoursAriaLabel,
130
+ changeHoursAriaLabel = _ref$changeHoursAriaL === void 0 ? "Изменить час" : _ref$changeHoursAriaL,
131
+ _ref$changeMinutesAri = _ref.changeMinutesAriaLabel,
132
+ changeMinutesAriaLabel = _ref$changeMinutesAri === void 0 ? "Изменить минуту" : _ref$changeMinutesAri,
133
+ _ref$clearFieldAriaLa = _ref.clearFieldAriaLabel,
134
+ clearFieldAriaLabel = _ref$clearFieldAriaLa === void 0 ? "Очистить поле" : _ref$clearFieldAriaLa,
135
+ _ref$showCalendarAria = _ref.showCalendarAriaLabel,
136
+ showCalendarAriaLabel = _ref$showCalendarAria === void 0 ? "Показать календарь" : _ref$showCalendarAria,
137
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
138
+ var daysRef = React.useRef(null);
139
+ var monthsRef = React.useRef(null);
140
+ var yearsRef = React.useRef(null);
141
+ var hoursRef = React.useRef(null);
142
+ var minutesRef = React.useRef(null);
143
+ var maxElement = enableTime ? 4 : 2;
144
+ var onInternalValueChange = React.useCallback(function (internalValue) {
145
+ for (var i = 0; i <= maxElement; i += 1) {
146
+ if (internalValue[i].length < elementsConfig(i).length) {
147
+ return;
148
+ }
149
+ }
150
+
151
+ var formattedValue = "".concat(internalValue[0], ".").concat(internalValue[1], ".").concat(internalValue[2]);
152
+ var mask = "dd.MM.yyyy";
153
+
154
+ if (enableTime) {
155
+ formattedValue += " ".concat(internalValue[3], ":").concat(internalValue[4]);
156
+ mask += " HH:mm";
157
+ }
158
+
159
+ if ((0, _dateFns.isMatch)(formattedValue, mask)) {
160
+ onChange === null || onChange === void 0 ? void 0 : onChange((0, _dateFns.parse)(formattedValue, mask, value !== null && value !== void 0 ? value : new Date()));
161
+ }
162
+ }, [enableTime, maxElement, onChange, value]);
163
+ var refs = React.useMemo(function () {
164
+ return [daysRef, monthsRef, yearsRef, hoursRef, minutesRef];
165
+ }, [daysRef, monthsRef, yearsRef, hoursRef, minutesRef]);
166
+
167
+ var _useDateInput = (0, _useDateInput2.useDateInput)({
168
+ maxElement: maxElement,
169
+ refs: refs,
170
+ autoFocus: autoFocus,
171
+ disabled: disabled,
172
+ elementsConfig: elementsConfig,
173
+ onChange: onChange,
174
+ onInternalValueChange: onInternalValueChange,
175
+ getInternalValue: getInternalValue,
176
+ value: value
177
+ }),
178
+ rootRef = _useDateInput.rootRef,
179
+ calendarRef = _useDateInput.calendarRef,
180
+ open = _useDateInput.open,
181
+ openCalendar = _useDateInput.openCalendar,
182
+ closeCalendar = _useDateInput.closeCalendar,
183
+ internalValue = _useDateInput.internalValue,
184
+ handleKeyDown = _useDateInput.handleKeyDown,
185
+ setFocusedElement = _useDateInput.setFocusedElement,
186
+ handleFieldEnter = _useDateInput.handleFieldEnter,
187
+ clear = _useDateInput.clear,
188
+ removeFocusFromField = _useDateInput.removeFocusFromField;
189
+
190
+ var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
191
+ sizeY = _useAdaptivity.sizeY;
192
+
193
+ var onCalendarChange = React.useCallback(function (value) {
194
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
195
+
196
+ if (closeOnChange && !enableTime) {
197
+ removeFocusFromField();
198
+ }
199
+ }, [onChange, removeFocusFromField, closeOnChange, enableTime]);
200
+ return (0, _jsxRuntime.createScopedElement)(_FormField.FormField, (0, _extends2.default)({
201
+ vkuiClass: (0, _classNames.classNames)("DateInput", "DateInput--sizeY-".concat(sizeY)),
202
+ style: style,
203
+ className: className,
204
+ getRootRef: (0, _utils.multiRef)(rootRef, getRootRef),
205
+ after: value ? (0, _jsxRuntime.createScopedElement)(_IconButton.default, {
206
+ hoverMode: "opacity",
207
+ "aria-label": clearFieldAriaLabel,
208
+ onClick: clear
209
+ }, (0, _jsxRuntime.createScopedElement)(_icons.Icon16Clear, null)) : (0, _jsxRuntime.createScopedElement)(_IconButton.default, {
210
+ hoverMode: "opacity",
211
+ "aria-label": showCalendarAriaLabel,
212
+ onClick: openCalendar
213
+ }, (0, _jsxRuntime.createScopedElement)(_icons.Icon20CalendarOutline, null)),
214
+ disabled: disabled,
215
+ onClick: (0, _callMultiple.callMultiple)(handleFieldEnter, onClick),
216
+ onFocus: (0, _callMultiple.callMultiple)(handleFieldEnter, onFocus)
217
+ }, props), (0, _jsxRuntime.createScopedElement)("input", {
218
+ type: "hidden",
219
+ name: name,
220
+ value: value ? (0, _dateFns.format)(value, enableTime ? "dd.MM.yyyy'T'HH:mm" : "dd.MM.yyyy") : ""
221
+ }), (0, _jsxRuntime.createScopedElement)("span", {
222
+ vkuiClass: "DateInput__input",
223
+ onKeyDown: handleKeyDown
224
+ }, (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
225
+ tabIndex: 1,
226
+ length: 2,
227
+ getRootRef: daysRef,
228
+ index: 0,
229
+ onElementSelect: setFocusedElement,
230
+ value: internalValue[0],
231
+ "aria-label": changeDayAriaLabel
232
+ }), (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, null, "."), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
233
+ length: 2,
234
+ getRootRef: monthsRef,
235
+ index: 1,
236
+ onElementSelect: setFocusedElement,
237
+ value: internalValue[1],
238
+ "aria-label": changeMonthAriaLabel
239
+ }), (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, null, "."), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
240
+ length: 4,
241
+ getRootRef: yearsRef,
242
+ index: 2,
243
+ onElementSelect: setFocusedElement,
244
+ value: internalValue[2],
245
+ "aria-label": changeYearAriaLabel
246
+ }), enableTime && (0, _jsxRuntime.createScopedElement)(React.Fragment, null, (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, {
247
+ vkuiClass: "DateInput__input-time-divider"
248
+ }, " "), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
249
+ length: 2,
250
+ getRootRef: hoursRef,
251
+ index: 3,
252
+ onElementSelect: setFocusedElement,
253
+ value: internalValue[3],
254
+ "aria-label": changeHoursAriaLabel
255
+ }), (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, null, ":"), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
256
+ length: 2,
257
+ getRootRef: minutesRef,
258
+ index: 4,
259
+ onElementSelect: setFocusedElement,
260
+ value: internalValue[4],
261
+ "aria-label": changeMinutesAriaLabel
262
+ }))), open && (0, _jsxRuntime.createScopedElement)(_Popper.Popper, {
263
+ targetRef: rootRef,
264
+ offsetDistance: 8,
265
+ placement: calendarPlacement
266
+ }, (0, _jsxRuntime.createScopedElement)(_Calendar.Calendar, {
267
+ value: value,
268
+ onChange: onCalendarChange,
269
+ enableTime: enableTime,
270
+ disablePast: disablePast,
271
+ disableFuture: disableFuture,
272
+ shouldDisableDate: shouldDisableDate,
273
+ onClose: closeCalendar,
274
+ getRootRef: calendarRef,
275
+ doneButtonText: doneButtonText,
276
+ disablePickers: disablePickers,
277
+ changeHoursAriaLabel: changeHoursAriaLabel,
278
+ changeMinutesAriaLabel: changeMinutesAriaLabel,
279
+ prevMonthAriaLabel: prevMonthAriaLabel,
280
+ nextMonthAriaLabel: nextMonthAriaLabel,
281
+ changeMonthAriaLabel: changeMonthAriaLabel,
282
+ changeYearAriaLabel: changeYearAriaLabel,
283
+ changeDayAriaLabel: changeDayAriaLabel,
284
+ showNeighboringMonth: showNeighboringMonth,
285
+ size: size
286
+ })));
287
+ };
288
+
289
+ exports.DateInput = DateInput;
290
+ //# sourceMappingURL=DateInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/DateInput/DateInput.tsx"],"names":["elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","doneButtonText","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","showNeighboringMonth","size","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","changeHoursAriaLabel","changeMinutesAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","props","daysRef","React","useRef","monthsRef","yearsRef","hoursRef","minutesRef","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","Date","refs","useMemo","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse } from \"date-fns\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport { Calendar, CalendarProps } from \"../Calendar/Calendar\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { multiRef } from \"../../lib/utils\";\nimport IconButton from \"../IconButton/IconButton\";\nimport { classNames } from \"../../lib/classNames\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateInput.css\";\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n \"value\" | \"onChange\" | \"size\"\n >,\n Pick<\n CalendarProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"enableTime\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"doneButtonText\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"changeHoursAriaLabel\"\n | \"changeMinutesAriaLabel\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"showNeighboringMonth\"\n | \"size\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\"];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, \"0\");\n newValue[1] = String(value.getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value.getFullYear()).padStart(4, \"0\");\n newValue[3] = String(value.getHours()).padStart(2, \"0\");\n newValue[4] = String(value.getMinutes()).padStart(2, \"0\");\n }\n return newValue;\n};\n\nexport const DateInput: React.FC<DateInputProps> = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n doneButtonText,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n showNeighboringMonth,\n size,\n changeMonthAriaLabel = \"Изменить месяц\",\n changeYearAriaLabel = \"Изменить год\",\n changeDayAriaLabel = \"Изменить день\",\n changeHoursAriaLabel = \"Изменить час\",\n changeMinutesAriaLabel = \"Изменить минуту\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n ...props\n}) => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = \"dd.MM.yyyy\";\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += \" HH:mm\";\n }\n\n if (isMatch(formattedValue, mask)) {\n onChange?.(parse(formattedValue, mask, value ?? new Date()));\n }\n },\n [enableTime, maxElement, onChange, value]\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (value?: Date | undefined) => {\n onChange?.(value);\n if (closeOnChange && !enableTime) {\n removeFocusFromField();\n }\n },\n [onChange, removeFocusFromField, closeOnChange, enableTime]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateInput\", `DateInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? format(value, enableTime ? \"dd.MM.yyyy'T'HH:mm\" : \"dd.MM.yyyy\")\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n tabIndex={1}\n length={2}\n getRootRef={daysRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeYearAriaLabel}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider vkuiClass=\"DateInput__input-time-divider\">\n {\" \"}\n </InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeHoursAriaLabel}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeMinutesAriaLabel}\n />\n </React.Fragment>\n )}\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <Calendar\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n disablePickers={disablePickers}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateInput.js"}
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import { CalendarRangeProps } from "../CalendarRange/CalendarRange";
3
+ import { Placement } from "../Popper/Popper";
4
+ import { HasRootRef } from "../../types";
5
+ import "./DateRangeInput.css";
6
+ export interface DateRangeInputProps extends Omit<React.InputHTMLAttributes<HTMLDivElement>, "value" | "onChange">, Pick<CalendarRangeProps, "disablePast" | "disableFuture" | "shouldDisableDate" | "onChange" | "value" | "weekStartsOn" | "disablePickers" | "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "changeDayAriaLabel">, HasRootRef<HTMLDivElement> {
7
+ calendarPlacement?: Placement;
8
+ closeOnChange?: boolean;
9
+ clearFieldAriaLabel?: string;
10
+ showCalendarAriaLabel?: string;
11
+ changeStartDayAriaLabel?: string;
12
+ changeStartMonthAriaLabel?: string;
13
+ changeStartYearAriaLabel?: string;
14
+ changeEndDayAriaLabel?: string;
15
+ changeEndMonthAriaLabel?: string;
16
+ changeEndYearAriaLabel?: string;
17
+ }
18
+ export declare const DateRangeInput: React.FC<DateRangeInputProps>;