@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,310 @@
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.DateRangeInput = 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 _CalendarRange = require("../CalendarRange/CalendarRange");
25
+
26
+ var _Popper = require("../Popper/Popper");
27
+
28
+ var _IconButton = _interopRequireDefault(require("../IconButton/IconButton"));
29
+
30
+ var _useDateInput2 = require("../../hooks/useDateInput");
31
+
32
+ var _useAdaptivity2 = require("../../hooks/useAdaptivity");
33
+
34
+ var _classNames = require("../../lib/classNames");
35
+
36
+ var _utils = require("../../lib/utils");
37
+
38
+ var _FormField = require("../FormField/FormField");
39
+
40
+ var _InputLike = require("../InputLike/InputLike");
41
+
42
+ var _InputLikeDivider = require("../InputLike/InputLikeDivider");
43
+
44
+ var _callMultiple = require("../../lib/callMultiple");
45
+
46
+ var _excluded = ["shouldDisableDate", "disableFuture", "disablePast", "value", "onChange", "calendarPlacement", "style", "className", "closeOnChange", "disablePickers", "getRootRef", "name", "autoFocus", "disabled", "onClick", "onFocus", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeDayAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "changeStartDayAriaLabel", "changeStartMonthAriaLabel", "changeStartYearAriaLabel", "changeEndDayAriaLabel", "changeEndMonthAriaLabel", "changeEndYearAriaLabel", "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
+ case 3:
56
+ max = 31;
57
+ break;
58
+
59
+ case 1:
60
+ case 4:
61
+ max = 12;
62
+ break;
63
+
64
+ case 2:
65
+ case 5:
66
+ max = 2100;
67
+ min = 1900;
68
+ length = 4;
69
+ break;
70
+ }
71
+
72
+ return {
73
+ length: length,
74
+ min: min,
75
+ max: max
76
+ };
77
+ };
78
+
79
+ var getInternalValue = function getInternalValue(value) {
80
+ var newValue = ["", "", "", "", "", ""];
81
+
82
+ if (value !== null && value !== void 0 && value[0]) {
83
+ newValue[0] = String(value[0].getDate()).padStart(2, "0");
84
+ newValue[1] = String(value[0].getMonth() + 1).padStart(2, "0");
85
+ newValue[2] = String(value[0].getFullYear()).padStart(4, "0");
86
+ }
87
+
88
+ if (value !== null && value !== void 0 && value[1]) {
89
+ newValue[3] = String(value[1].getDate()).padStart(2, "0");
90
+ newValue[4] = String(value[1].getMonth() + 1).padStart(2, "0");
91
+ newValue[5] = String(value[1].getFullYear()).padStart(4, "0");
92
+ }
93
+
94
+ return newValue;
95
+ };
96
+
97
+ var DateRangeInput = function DateRangeInput(_ref) {
98
+ var shouldDisableDate = _ref.shouldDisableDate,
99
+ disableFuture = _ref.disableFuture,
100
+ disablePast = _ref.disablePast,
101
+ value = _ref.value,
102
+ onChange = _ref.onChange,
103
+ _ref$calendarPlacemen = _ref.calendarPlacement,
104
+ calendarPlacement = _ref$calendarPlacemen === void 0 ? "bottom-start" : _ref$calendarPlacemen,
105
+ style = _ref.style,
106
+ className = _ref.className,
107
+ _ref$closeOnChange = _ref.closeOnChange,
108
+ closeOnChange = _ref$closeOnChange === void 0 ? true : _ref$closeOnChange,
109
+ disablePickers = _ref.disablePickers,
110
+ getRootRef = _ref.getRootRef,
111
+ name = _ref.name,
112
+ autoFocus = _ref.autoFocus,
113
+ disabled = _ref.disabled,
114
+ onClick = _ref.onClick,
115
+ onFocus = _ref.onFocus,
116
+ prevMonthAriaLabel = _ref.prevMonthAriaLabel,
117
+ nextMonthAriaLabel = _ref.nextMonthAriaLabel,
118
+ changeDayAriaLabel = _ref.changeDayAriaLabel,
119
+ changeMonthAriaLabel = _ref.changeMonthAriaLabel,
120
+ changeYearAriaLabel = _ref.changeYearAriaLabel,
121
+ _ref$changeStartDayAr = _ref.changeStartDayAriaLabel,
122
+ changeStartDayAriaLabel = _ref$changeStartDayAr === void 0 ? "Изменить день начала" : _ref$changeStartDayAr,
123
+ _ref$changeStartMonth = _ref.changeStartMonthAriaLabel,
124
+ changeStartMonthAriaLabel = _ref$changeStartMonth === void 0 ? "Изменить месяц начала" : _ref$changeStartMonth,
125
+ _ref$changeStartYearA = _ref.changeStartYearAriaLabel,
126
+ changeStartYearAriaLabel = _ref$changeStartYearA === void 0 ? "Изменить год начала" : _ref$changeStartYearA,
127
+ _ref$changeEndDayAria = _ref.changeEndDayAriaLabel,
128
+ changeEndDayAriaLabel = _ref$changeEndDayAria === void 0 ? "Изменить день окончания" : _ref$changeEndDayAria,
129
+ _ref$changeEndMonthAr = _ref.changeEndMonthAriaLabel,
130
+ changeEndMonthAriaLabel = _ref$changeEndMonthAr === void 0 ? "Изменить месяц окончания" : _ref$changeEndMonthAr,
131
+ _ref$changeEndYearAri = _ref.changeEndYearAriaLabel,
132
+ changeEndYearAriaLabel = _ref$changeEndYearAri === void 0 ? "Изменить год окончания" : _ref$changeEndYearAri,
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 daysStartRef = React.useRef(null);
139
+ var monthsStartRef = React.useRef(null);
140
+ var yearsStartRef = React.useRef(null);
141
+ var daysEndRef = React.useRef(null);
142
+ var monthsEndRef = React.useRef(null);
143
+ var yearsEndRef = React.useRef(null);
144
+ var onInternalValueChange = React.useCallback(function (internalValue) {
145
+ var isStartValid = true;
146
+ var isEndValid = true;
147
+
148
+ for (var i = 0; i <= 2; i += 1) {
149
+ if (internalValue[i].length < elementsConfig(i).length) {
150
+ isStartValid = false;
151
+ }
152
+ }
153
+
154
+ for (var _i = 3; _i <= 5; _i += 1) {
155
+ if (internalValue[_i].length < elementsConfig(_i).length) {
156
+ isEndValid = false;
157
+ }
158
+ }
159
+
160
+ var formattedStartValue = "".concat(internalValue[0], ".").concat(internalValue[1], ".").concat(internalValue[2]);
161
+ var formattedEndValue = "".concat(internalValue[3], ".").concat(internalValue[4], ".").concat(internalValue[5]);
162
+ var mask = "dd.MM.yyyy";
163
+
164
+ if (!(0, _dateFns.isMatch)(formattedStartValue, mask)) {
165
+ isStartValid = false;
166
+ }
167
+
168
+ if (!(0, _dateFns.isMatch)(formattedEndValue, mask)) {
169
+ isEndValid = false;
170
+ }
171
+
172
+ if (!isStartValid && !isEndValid) {
173
+ return;
174
+ }
175
+
176
+ var valueExists = Array.isArray(value);
177
+ var now = new Date();
178
+ var start = isStartValid ? (0, _dateFns.parse)(formattedStartValue, mask, valueExists && (value === null || value === void 0 ? void 0 : value[0]) || now) : null;
179
+ var end = isEndValid ? (0, _dateFns.parse)(formattedEndValue, mask, valueExists && (value === null || value === void 0 ? void 0 : value[1]) || now) : null;
180
+
181
+ if (start && end && (0, _dateFns.isAfter)(end, start)) {
182
+ onChange === null || onChange === void 0 ? void 0 : onChange([start, end]);
183
+ }
184
+ }, [onChange, value]);
185
+ var refs = React.useMemo(function () {
186
+ return [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef];
187
+ }, [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef]);
188
+
189
+ var _useDateInput = (0, _useDateInput2.useDateInput)({
190
+ maxElement: 5,
191
+ refs: refs,
192
+ autoFocus: autoFocus,
193
+ disabled: disabled,
194
+ elementsConfig: elementsConfig,
195
+ onChange: onChange,
196
+ onInternalValueChange: onInternalValueChange,
197
+ getInternalValue: getInternalValue,
198
+ value: value
199
+ }),
200
+ rootRef = _useDateInput.rootRef,
201
+ calendarRef = _useDateInput.calendarRef,
202
+ open = _useDateInput.open,
203
+ openCalendar = _useDateInput.openCalendar,
204
+ closeCalendar = _useDateInput.closeCalendar,
205
+ internalValue = _useDateInput.internalValue,
206
+ handleKeyDown = _useDateInput.handleKeyDown,
207
+ setFocusedElement = _useDateInput.setFocusedElement,
208
+ handleFieldEnter = _useDateInput.handleFieldEnter,
209
+ clear = _useDateInput.clear,
210
+ removeFocusFromField = _useDateInput.removeFocusFromField;
211
+
212
+ var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
213
+ sizeY = _useAdaptivity.sizeY;
214
+
215
+ var onCalendarChange = React.useCallback(function (newValue) {
216
+ onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
217
+
218
+ if (closeOnChange && newValue !== null && newValue !== void 0 && newValue[1] && newValue[1] !== (value === null || value === void 0 ? void 0 : value[1])) {
219
+ removeFocusFromField();
220
+ }
221
+ }, [onChange, closeOnChange, value, removeFocusFromField]);
222
+ return (0, _jsxRuntime.createScopedElement)(_FormField.FormField, (0, _extends2.default)({
223
+ vkuiClass: (0, _classNames.classNames)("DateRangeInput", "DateRangeInput--sizeY-".concat(sizeY)),
224
+ style: style,
225
+ className: className,
226
+ getRootRef: (0, _utils.multiRef)(rootRef, getRootRef),
227
+ after: value ? (0, _jsxRuntime.createScopedElement)(_IconButton.default, {
228
+ hoverMode: "opacity",
229
+ "aria-label": clearFieldAriaLabel,
230
+ onClick: clear
231
+ }, (0, _jsxRuntime.createScopedElement)(_icons.Icon16Clear, null)) : (0, _jsxRuntime.createScopedElement)(_IconButton.default, {
232
+ hoverMode: "opacity",
233
+ "aria-label": showCalendarAriaLabel,
234
+ onClick: openCalendar
235
+ }, (0, _jsxRuntime.createScopedElement)(_icons.Icon20CalendarOutline, null)),
236
+ disabled: disabled,
237
+ onClick: (0, _callMultiple.callMultiple)(handleFieldEnter, onClick),
238
+ onFocus: (0, _callMultiple.callMultiple)(handleFieldEnter, onFocus)
239
+ }, props), (0, _jsxRuntime.createScopedElement)("input", {
240
+ type: "hidden",
241
+ name: name,
242
+ value: value ? "".concat(value[0] ? (0, _dateFns.format)(value[0], "dd.MM.yyyy") : "", " - ").concat(value[1] ? (0, _dateFns.format)(value[1], "dd.MM.yyyy") : "") : ""
243
+ }), (0, _jsxRuntime.createScopedElement)("span", {
244
+ vkuiClass: "DateInput__input",
245
+ onKeyDown: handleKeyDown
246
+ }, (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
247
+ length: 2,
248
+ getRootRef: daysStartRef,
249
+ index: 0,
250
+ onElementSelect: setFocusedElement,
251
+ value: internalValue[0],
252
+ "aria-label": changeStartDayAriaLabel
253
+ }), (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, null, "."), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
254
+ length: 2,
255
+ getRootRef: monthsStartRef,
256
+ index: 1,
257
+ onElementSelect: setFocusedElement,
258
+ value: internalValue[1],
259
+ "aria-label": changeStartMonthAriaLabel
260
+ }), (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, null, "."), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
261
+ length: 4,
262
+ getRootRef: yearsStartRef,
263
+ index: 2,
264
+ onElementSelect: setFocusedElement,
265
+ value: internalValue[2],
266
+ "aria-label": changeStartYearAriaLabel
267
+ }), (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, null, " — "), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
268
+ length: 2,
269
+ getRootRef: daysEndRef,
270
+ index: 3,
271
+ onElementSelect: setFocusedElement,
272
+ value: internalValue[3],
273
+ "aria-label": changeEndDayAriaLabel
274
+ }), (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, null, "."), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
275
+ length: 2,
276
+ getRootRef: monthsEndRef,
277
+ index: 4,
278
+ onElementSelect: setFocusedElement,
279
+ value: internalValue[4],
280
+ "aria-label": changeEndMonthAriaLabel
281
+ }), (0, _jsxRuntime.createScopedElement)(_InputLikeDivider.InputLikeDivider, null, "."), (0, _jsxRuntime.createScopedElement)(_InputLike.InputLike, {
282
+ length: 4,
283
+ getRootRef: yearsEndRef,
284
+ index: 5,
285
+ onElementSelect: setFocusedElement,
286
+ value: internalValue[5],
287
+ "aria-label": changeEndYearAriaLabel
288
+ })), open && (0, _jsxRuntime.createScopedElement)(_Popper.Popper, {
289
+ targetRef: rootRef,
290
+ offsetDistance: 8,
291
+ placement: calendarPlacement
292
+ }, (0, _jsxRuntime.createScopedElement)(_CalendarRange.CalendarRange, {
293
+ value: value,
294
+ onChange: onCalendarChange,
295
+ disablePast: disablePast,
296
+ disableFuture: disableFuture,
297
+ shouldDisableDate: shouldDisableDate,
298
+ onClose: closeCalendar,
299
+ getRootRef: calendarRef,
300
+ disablePickers: disablePickers,
301
+ prevMonthAriaLabel: prevMonthAriaLabel,
302
+ nextMonthAriaLabel: nextMonthAriaLabel,
303
+ changeMonthAriaLabel: changeMonthAriaLabel,
304
+ changeYearAriaLabel: changeYearAriaLabel,
305
+ changeDayAriaLabel: changeDayAriaLabel
306
+ })));
307
+ };
308
+
309
+ exports.DateRangeInput = DateRangeInput;
310
+ //# sourceMappingURL=DateRangeInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","props","daysStartRef","React","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAiCA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAmB;AACxC,MAAIC,MAAM,GAAG,CAAb;AACA,MAAIC,GAAG,GAAG,CAAV;AACA,MAAIC,GAAG,GAAG,CAAV;;AAEA,UAAQH,KAAR;AACE,SAAK,CAAL;AACA,SAAK,CAAL;AACEG,MAAAA,GAAG,GAAG,EAAN;AACA;;AACF,SAAK,CAAL;AACA,SAAK,CAAL;AACEA,MAAAA,GAAG,GAAG,EAAN;AACA;;AACF,SAAK,CAAL;AACA,SAAK,CAAL;AACEA,MAAAA,GAAG,GAAG,IAAN;AACAD,MAAAA,GAAG,GAAG,IAAN;AACAD,MAAAA,MAAM,GAAG,CAAT;AACA;AAdJ;;AAiBA,SAAO;AAAEA,IAAAA,MAAM,EAANA,MAAF;AAAUC,IAAAA,GAAG,EAAHA,GAAV;AAAeC,IAAAA,GAAG,EAAHA;AAAf,GAAP;AACD,CAvBD;;AAyBA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAwC;AAC/D,MAAMC,QAAQ,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,CAAjB;;AACA,MAAID,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAG,CAAH,CAAT,EAAgB;AACdC,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASG,OAAT,EAAD,CAAN,CAA2BC,QAA3B,CAAoC,CAApC,EAAuC,GAAvC,CAAd;AACAH,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASK,QAAT,KAAsB,CAAvB,CAAN,CAAgCD,QAAhC,CAAyC,CAAzC,EAA4C,GAA5C,CAAd;AACAH,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASM,WAAT,EAAD,CAAN,CAA+BF,QAA/B,CAAwC,CAAxC,EAA2C,GAA3C,CAAd;AACD;;AACD,MAAIJ,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAG,CAAH,CAAT,EAAgB;AACdC,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASG,OAAT,EAAD,CAAN,CAA2BC,QAA3B,CAAoC,CAApC,EAAuC,GAAvC,CAAd;AACAH,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASK,QAAT,KAAsB,CAAvB,CAAN,CAAgCD,QAAhC,CAAyC,CAAzC,EAA4C,GAA5C,CAAd;AACAH,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASM,WAAT,EAAD,CAAN,CAA+BF,QAA/B,CAAwC,CAAxC,EAA2C,GAA3C,CAAd;AACD;;AACD,SAAOH,QAAP;AACD,CAbD;;AAeO,IAAMM,cAA6C,GAAG,SAAhDA,cAAgD,OA+BvD;AAAA,MA9BJC,iBA8BI,QA9BJA,iBA8BI;AAAA,MA7BJC,aA6BI,QA7BJA,aA6BI;AAAA,MA5BJC,WA4BI,QA5BJA,WA4BI;AAAA,MA3BJV,KA2BI,QA3BJA,KA2BI;AAAA,MA1BJW,QA0BI,QA1BJA,QA0BI;AAAA,mCAzBJC,iBAyBI;AAAA,MAzBJA,iBAyBI,sCAzBgB,cAyBhB;AAAA,MAxBJC,KAwBI,QAxBJA,KAwBI;AAAA,MAvBJC,SAuBI,QAvBJA,SAuBI;AAAA,gCAtBJC,aAsBI;AAAA,MAtBJA,aAsBI,mCAtBY,IAsBZ;AAAA,MArBJC,cAqBI,QArBJA,cAqBI;AAAA,MApBJC,UAoBI,QApBJA,UAoBI;AAAA,MAnBJC,IAmBI,QAnBJA,IAmBI;AAAA,MAlBJC,SAkBI,QAlBJA,SAkBI;AAAA,MAjBJC,QAiBI,QAjBJA,QAiBI;AAAA,MAhBJC,OAgBI,QAhBJA,OAgBI;AAAA,MAfJC,OAeI,QAfJA,OAeI;AAAA,MAdJC,kBAcI,QAdJA,kBAcI;AAAA,MAbJC,kBAaI,QAbJA,kBAaI;AAAA,MAZJC,kBAYI,QAZJA,kBAYI;AAAA,MAXJC,oBAWI,QAXJA,oBAWI;AAAA,MAVJC,mBAUI,QAVJA,mBAUI;AAAA,mCATJC,uBASI;AAAA,MATJA,uBASI,sCATsB,sBAStB;AAAA,mCARJC,yBAQI;AAAA,MARJA,yBAQI,sCARwB,uBAQxB;AAAA,mCAPJC,wBAOI;AAAA,MAPJA,wBAOI,sCAPuB,qBAOvB;AAAA,mCANJC,qBAMI;AAAA,MANJA,qBAMI,sCANoB,yBAMpB;AAAA,mCALJC,uBAKI;AAAA,MALJA,uBAKI,sCALsB,0BAKtB;AAAA,mCAJJC,sBAII;AAAA,MAJJA,sBAII,sCAJqB,wBAIrB;AAAA,mCAHJC,mBAGI;AAAA,MAHJA,mBAGI,sCAHkB,eAGlB;AAAA,mCAFJC,qBAEI;AAAA,MAFJA,qBAEI,sCAFoB,oBAEpB;AAAA,MADDC,KACC;AACJ,MAAMC,YAAY,GAAGC,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAArB;AACA,MAAMC,cAAc,GAAGF,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAAvB;AACA,MAAME,aAAa,GAAGH,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAAtB;AACA,MAAMG,UAAU,GAAGJ,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAAnB;AACA,MAAMI,YAAY,GAAGL,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAArB;AACA,MAAMK,WAAW,GAAGN,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAApB;AAEA,MAAMM,qBAAqB,GAAGP,KAAK,CAACQ,WAAN,CAC5B,UAACC,aAAD,EAA6B;AAC3B,QAAIC,YAAY,GAAG,IAAnB;AACA,QAAIC,UAAU,GAAG,IAAjB;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI,CAArB,EAAwBA,CAAC,IAAI,CAA7B,EAAgC;AAC9B,UAAIH,aAAa,CAACG,CAAD,CAAb,CAAiBtD,MAAjB,GAA0BF,cAAc,CAACwD,CAAD,CAAd,CAAkBtD,MAAhD,EAAwD;AACtDoD,QAAAA,YAAY,GAAG,KAAf;AACD;AACF;;AACD,SAAK,IAAIE,EAAC,GAAG,CAAb,EAAgBA,EAAC,IAAI,CAArB,EAAwBA,EAAC,IAAI,CAA7B,EAAgC;AAC9B,UAAIH,aAAa,CAACG,EAAD,CAAb,CAAiBtD,MAAjB,GAA0BF,cAAc,CAACwD,EAAD,CAAd,CAAkBtD,MAAhD,EAAwD;AACtDqD,QAAAA,UAAU,GAAG,KAAb;AACD;AACF;;AACD,QAAME,mBAAmB,aAAMJ,aAAa,CAAC,CAAD,CAAnB,cAA0BA,aAAa,CAAC,CAAD,CAAvC,cAA8CA,aAAa,CAAC,CAAD,CAA3D,CAAzB;AACA,QAAMK,iBAAiB,aAAML,aAAa,CAAC,CAAD,CAAnB,cAA0BA,aAAa,CAAC,CAAD,CAAvC,cAA8CA,aAAa,CAAC,CAAD,CAA3D,CAAvB;AACA,QAAMM,IAAI,GAAG,YAAb;;AAEA,QAAI,CAAC,sBAAQF,mBAAR,EAA6BE,IAA7B,CAAL,EAAyC;AACvCL,MAAAA,YAAY,GAAG,KAAf;AACD;;AACD,QAAI,CAAC,sBAAQI,iBAAR,EAA2BC,IAA3B,CAAL,EAAuC;AACrCJ,MAAAA,UAAU,GAAG,KAAb;AACD;;AAED,QAAI,CAACD,YAAD,IAAiB,CAACC,UAAtB,EAAkC;AAChC;AACD;;AAED,QAAMK,WAAW,GAAGC,KAAK,CAACC,OAAN,CAAcxD,KAAd,CAApB;AACA,QAAMyD,GAAG,GAAG,IAAIC,IAAJ,EAAZ;AACA,QAAMC,KAAK,GAAGX,YAAY,GACtB,oBAAMG,mBAAN,EAA2BE,IAA3B,EAAkCC,WAAW,KAAItD,KAAJ,aAAIA,KAAJ,uBAAIA,KAAK,CAAG,CAAH,CAAT,CAAZ,IAA+ByD,GAAhE,CADsB,GAEtB,IAFJ;AAGA,QAAMG,GAAG,GAAGX,UAAU,GAClB,oBAAMG,iBAAN,EAAyBC,IAAzB,EAAgCC,WAAW,KAAItD,KAAJ,aAAIA,KAAJ,uBAAIA,KAAK,CAAG,CAAH,CAAT,CAAZ,IAA+ByD,GAA9D,CADkB,GAElB,IAFJ;;AAGA,QAAIE,KAAK,IAAIC,GAAT,IAAgB,sBAAQA,GAAR,EAAaD,KAAb,CAApB,EAAyC;AACvChD,MAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG,CAACgD,KAAD,EAAQC,GAAR,CAAH,CAAR;AACD;AACF,GAxC2B,EAyC5B,CAACjD,QAAD,EAAWX,KAAX,CAzC4B,CAA9B;AA4CA,MAAM6D,IAAI,GAAGvB,KAAK,CAACwB,OAAN,CACX;AAAA,WAAM,CACJzB,YADI,EAEJG,cAFI,EAGJC,aAHI,EAIJC,UAJI,EAKJC,YALI,EAMJC,WANI,CAAN;AAAA,GADW,EASX,CACEP,YADF,EAEEG,cAFF,EAGEC,aAHF,EAIEC,UAJF,EAKEC,YALF,EAMEC,WANF,CATW,CAAb;;AAmBA,sBAYI,iCAAa;AACfmB,IAAAA,UAAU,EAAE,CADG;AAEfF,IAAAA,IAAI,EAAJA,IAFe;AAGf1C,IAAAA,SAAS,EAATA,SAHe;AAIfC,IAAAA,QAAQ,EAARA,QAJe;AAKf1B,IAAAA,cAAc,EAAdA,cALe;AAMfiB,IAAAA,QAAQ,EAARA,QANe;AAOfkC,IAAAA,qBAAqB,EAArBA,qBAPe;AAQf9C,IAAAA,gBAAgB,EAAhBA,gBARe;AASfC,IAAAA,KAAK,EAALA;AATe,GAAb,CAZJ;AAAA,MACEgE,OADF,iBACEA,OADF;AAAA,MAEEC,WAFF,iBAEEA,WAFF;AAAA,MAGEC,IAHF,iBAGEA,IAHF;AAAA,MAIEC,YAJF,iBAIEA,YAJF;AAAA,MAKEC,aALF,iBAKEA,aALF;AAAA,MAMErB,aANF,iBAMEA,aANF;AAAA,MAOEsB,aAPF,iBAOEA,aAPF;AAAA,MAQEC,iBARF,iBAQEA,iBARF;AAAA,MASEC,gBATF,iBASEA,gBATF;AAAA,MAUEC,KAVF,iBAUEA,KAVF;AAAA,MAWEC,oBAXF,iBAWEA,oBAXF;;AAwBA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,gBAAgB,GAAGrC,KAAK,CAACQ,WAAN,CACvB,UAAC7C,QAAD,EAA+C;AAC7CU,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGV,QAAH,CAAR;;AACA,QAAIc,aAAa,IAAId,QAAJ,aAAIA,QAAJ,eAAIA,QAAQ,CAAG,CAAH,CAAzB,IAAkCA,QAAQ,CAAC,CAAD,CAAR,MAAgBD,KAAhB,aAAgBA,KAAhB,uBAAgBA,KAAK,CAAG,CAAH,CAArB,CAAtC,EAAkE;AAChEyE,MAAAA,oBAAoB;AACrB;AACF,GANsB,EAOvB,CAAC9D,QAAD,EAAWI,aAAX,EAA0Bf,KAA1B,EAAiCyE,oBAAjC,CAPuB,CAAzB;AAUA,SACE,qCAAC,oBAAD;AACE,IAAA,SAAS,EAAE,4BAAW,gBAAX,kCAAsDC,KAAtD,EADb;AAEE,IAAA,KAAK,EAAE7D,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,UAAU,EAAE,qBAASkD,OAAT,EAAkB/C,UAAlB,CAJd;AAKE,IAAA,KAAK,EACHjB,KAAK,GACH,qCAAC,mBAAD;AACE,MAAA,SAAS,EAAC,SADZ;AAEE,oBAAYkC,mBAFd;AAGE,MAAA,OAAO,EAAEsC;AAHX,OAKE,qCAAC,kBAAD,OALF,CADG,GASH,qCAAC,mBAAD;AACE,MAAA,SAAS,EAAC,SADZ;AAEE,oBAAYrC,qBAFd;AAGE,MAAA,OAAO,EAAEgC;AAHX,OAKE,qCAAC,4BAAD,OALF,CAfN;AAwBE,IAAA,QAAQ,EAAE/C,QAxBZ;AAyBE,IAAA,OAAO,EAAE,gCAAamD,gBAAb,EAA+BlD,OAA/B,CAzBX;AA0BE,IAAA,OAAO,EAAE,gCAAakD,gBAAb,EAA+BjD,OAA/B;AA1BX,KA2BMc,KA3BN,GA6BE;AACE,IAAA,IAAI,EAAC,QADP;AAEE,IAAA,IAAI,EAAElB,IAFR;AAGE,IAAA,KAAK,EACHlB,KAAK,aACEA,KAAK,CAAC,CAAD,CAAL,GAAW,qBAAOA,KAAK,CAAC,CAAD,CAAZ,EAAiB,YAAjB,CAAX,GAA4C,EAD9C,gBAECA,KAAK,CAAC,CAAD,CAAL,GAAW,qBAAOA,KAAK,CAAC,CAAD,CAAZ,EAAiB,YAAjB,CAAX,GAA4C,EAF7C,IAID;AARR,IA7BF,EAwCE;AAAM,IAAA,SAAS,EAAC,kBAAhB;AAAmC,IAAA,SAAS,EAAEqE;AAA9C,KACE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEhC,YAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAEiC,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYnB;AANd,IADF,EASE,qCAAC,kCAAD,YATF,EAUE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEY,cAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE8B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYlB;AANd,IAVF,EAkBE,qCAAC,kCAAD,YAlBF,EAmBE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEY,aAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE6B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYjB;AANd,IAnBF,EA2BE,qCAAC,kCAAD,QAAmB,KAAnB,CA3BF,EA4BE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEY,UAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE4B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYhB;AANd,IA5BF,EAoCE,qCAAC,kCAAD,YApCF,EAqCE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEY,YAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE2B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYf;AANd,IArCF,EA6CE,qCAAC,kCAAD,YA7CF,EA8CE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEY,WAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE0B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYd;AANd,IA9CF,CAxCF,EA+FGiC,IAAI,IACH,qCAAC,cAAD;AACE,IAAA,SAAS,EAAEF,OADb;AAEE,IAAA,cAAc,EAAE,CAFlB;AAGE,IAAA,SAAS,EAAEpD;AAHb,KAKE,qCAAC,4BAAD;AACE,IAAA,KAAK,EAAEZ,KADT;AAEE,IAAA,QAAQ,EAAE2E,gBAFZ;AAGE,IAAA,WAAW,EAAEjE,WAHf;AAIE,IAAA,aAAa,EAAED,aAJjB;AAKE,IAAA,iBAAiB,EAAED,iBALrB;AAME,IAAA,OAAO,EAAE4D,aANX;AAOE,IAAA,UAAU,EAAEH,WAPd;AAQE,IAAA,cAAc,EAAEjD,cARlB;AASE,IAAA,kBAAkB,EAAEO,kBATtB;AAUE,IAAA,kBAAkB,EAAEC,kBAVtB;AAWE,IAAA,oBAAoB,EAAEE,oBAXxB;AAYE,IAAA,mBAAmB,EAAEC,mBAZvB;AAaE,IAAA,kBAAkB,EAAEF;AAbtB,IALF,CAhGJ,CADF;AAyHD,CAnQM","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"date-fns\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport IconButton from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: 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 case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\nexport const DateRangeInput: React.FC<DateRangeInputProps> = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n ...props\n}) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\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: 5,\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 (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--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 ? `${value[0] ? format(value[0], \"dd.MM.yyyy\") : \"\"} - ${\n value[1] ? format(value[1], \"dd.MM.yyyy\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
@@ -3,5 +3,4 @@ import { HasRootRef } from "../../types";
3
3
  import "./Div.css";
4
4
  export interface DivProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement> {
5
5
  }
6
- export declare const Div: React.FunctionComponent<DivProps>;
7
- export default Div;
6
+ export declare const Div: React.FC<DivProps>;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.Div = void 0;
8
+ exports.Div = void 0;
9
9
 
10
10
  var _jsxRuntime = require("../../lib/jsxRuntime");
11
11
 
@@ -28,10 +28,7 @@ var Div = function Div(_ref) {
28
28
  ref: getRootRef,
29
29
  vkuiClass: (0, _getClassName.getClassName)("Div", platform)
30
30
  }), children);
31
- }; // eslint-disable-next-line import/no-default-export
32
-
31
+ };
33
32
 
34
33
  exports.Div = Div;
35
- var _default = Div;
36
- exports.default = _default;
37
34
  //# sourceMappingURL=Div.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Div/Div.tsx"],"names":["Div","children","getRootRef","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;;;AAQO,IAAMA,GAAsC,GAAG,SAAzCA,GAAyC,OAItC;AAAA,MAHdC,QAGc,QAHdA,QAGc;AAAA,MAFdC,UAEc,QAFdA,UAEc;AAAA,MADXC,SACW;AACd,MAAMC,QAAQ,GAAG,+BAAjB;AACA,SACE,uEACMD,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAE,gCAAa,KAAb,EAAoBE,QAApB;AAHb,MAKGH,QALH,CADF;AASD,CAfM,C,CAiBP;;;;eACeD,G","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Div.css\";\n\nexport interface DivProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {}\n\nexport const Div: React.FunctionComponent<DivProps> = ({\n children,\n getRootRef,\n ...restProps\n}: DivProps) => {\n const platform = usePlatform();\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={getClassName(\"Div\", platform)}\n >\n {children}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Div;\n"],"file":"Div.js"}
1
+ {"version":3,"sources":["../../../../src/components/Div/Div.tsx"],"names":["Div","children","getRootRef","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;;;AAQO,IAAMA,GAAuB,GAAG,SAA1BA,GAA0B,OAIjC;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADDC,SACC;AACJ,MAAMC,QAAQ,GAAG,+BAAjB;AACA,SACE,uEACMD,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAE,gCAAa,KAAb,EAAoBE,QAApB;AAHb,MAKGH,QALH,CADF;AASD,CAfM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Div.css\";\n\nexport interface DivProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {}\n\nexport const Div: React.FC<DivProps> = ({\n children,\n getRootRef,\n ...restProps\n}) => {\n const platform = usePlatform();\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={getClassName(\"Div\", platform)}\n >\n {children}\n </div>\n );\n};\n"],"file":"Div.js"}
@@ -13,18 +13,16 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
 
16
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
16
+ var _Caption = require("../Typography/Caption/Caption");
17
17
 
18
18
  var _excluded = ["children"];
19
19
 
20
20
  var Footer = function Footer(_ref) {
21
21
  var children = _ref.children,
22
22
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
23
- return (0, _jsxRuntime.createScopedElement)(_Caption.default, (0, _extends2.default)({
23
+ return (0, _jsxRuntime.createScopedElement)(_Caption.Caption, (0, _extends2.default)({
24
24
  Component: "footer"
25
25
  }, restProps, {
26
- level: "1",
27
- weight: "regular",
28
26
  vkuiClass: "Footer"
29
27
  }), children);
30
28
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Footer/Footer.tsx"],"names":["Footer","children","restProps"],"mappings":";;;;;;;;;;;;;;;AAEA;;;;AAKO,IAAMA,MAA6B,GAAG,SAAhCA,MAAgC,OAG1B;AAAA,MAFjBC,QAEiB,QAFjBA,QAEiB;AAAA,MADdC,SACc;AACjB,SACE,qCAAC,gBAAD;AACE,IAAA,SAAS,EAAC;AADZ,KAEMA,SAFN;AAGE,IAAA,KAAK,EAAC,GAHR;AAIE,IAAA,MAAM,EAAC,SAJT;AAKE,IAAA,SAAS,EAAC;AALZ,MAOGD,QAPH,CADF;AAWD,CAfM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport \"./Footer.css\";\n\nexport type FooterProps = React.AllHTMLAttributes<HTMLElement> & HasComponent;\n\nexport const Footer: React.FC<FooterProps> = ({\n children,\n ...restProps\n}: FooterProps) => {\n return (\n <Caption\n Component=\"footer\"\n {...restProps}\n level=\"1\"\n weight=\"regular\"\n vkuiClass=\"Footer\"\n >\n {children}\n </Caption>\n );\n};\n"],"file":"Footer.js"}
1
+ {"version":3,"sources":["../../../../src/components/Footer/Footer.tsx"],"names":["Footer","children","restProps"],"mappings":";;;;;;;;;;;;;;;AAEA;;;;AAKO,IAAMA,MAA6B,GAAG,SAAhCA,MAAgC,OAG1B;AAAA,MAFjBC,QAEiB,QAFjBA,QAEiB;AAAA,MADdC,SACc;AACjB,SACE,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAgCA,SAAhC;AAA2C,IAAA,SAAS,EAAC;AAArD,MACGD,QADH,CADF;AAKD,CATM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport \"./Footer.css\";\n\nexport type FooterProps = React.AllHTMLAttributes<HTMLElement> & HasComponent;\n\nexport const Footer: React.FC<FooterProps> = ({\n children,\n ...restProps\n}: FooterProps) => {\n return (\n <Caption Component=\"footer\" {...restProps} vkuiClass=\"Footer\">\n {children}\n </Caption>\n );\n};\n"],"file":"Footer.js"}
@@ -29,7 +29,7 @@ var _utils = require("../../lib/utils");
29
29
 
30
30
  var _Subhead = _interopRequireDefault(require("../Typography/Subhead/Subhead"));
31
31
 
32
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
32
+ var _Caption = require("../Typography/Caption/Caption");
33
33
 
34
34
  var _useAdaptivity2 = require("../../hooks/useAdaptivity");
35
35
 
@@ -60,11 +60,8 @@ var FormItem = function FormItem(_ref) {
60
60
  sizeY = _useAdaptivity.sizeY;
61
61
 
62
62
  var wrappedChildren = (0, _jsxRuntime.createScopedElement)(React.Fragment, null, (0, _utils.hasReactNode)(top) && (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
63
- weight: "regular",
64
63
  vkuiClass: "FormItem__top"
65
- }, top), children, (0, _utils.hasReactNode)(bottom) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
66
- level: "1",
67
- weight: "regular",
64
+ }, top), children, (0, _utils.hasReactNode)(bottom) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
68
65
  vkuiClass: "FormItem__bottom"
69
66
  }, bottom));
70
67
  return (0, _jsxRuntime.createScopedElement)(Component, (0, _extends2.default)({}, restProps, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormItem/FormItem.tsx"],"names":["FormItem","children","top","bottom","status","Component","removable","onRemove","noop","removePlaceholder","getRootRef","restProps","platform","rootEl","sizeY","wrappedChildren","e","current"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAiBO,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAW5B;AAAA,MAVnBC,QAUmB,QAVnBA,QAUmB;AAAA,MATnBC,GASmB,QATnBA,GASmB;AAAA,MARnBC,MAQmB,QARnBA,MAQmB;AAAA,yBAPnBC,MAOmB;AAAA,MAPnBA,MAOmB,4BAPV,SAOU;AAAA,4BANnBC,SAMmB;AAAA,MANnBA,SAMmB,+BANP,KAMO;AAAA,MALnBC,SAKmB,QALnBA,SAKmB;AAAA,2BAJnBC,QAImB;AAAA,MAJnBA,SAImB,8BAJRC,WAIQ;AAAA,mCAHnBC,iBAGmB;AAAA,MAHnBA,iBAGmB,sCAHC,SAGD;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,MAAM,GAAG,gCAAaH,UAAb,CAAf;;AACA,uBAAkB,oCAAlB;AAAA,MAAQI,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,eAAe,GACnB,qCAAC,KAAD,CAAO,QAAP,QACG,yBAAab,GAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,MAAM,EAAC,SAAhB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,GADH,CAFJ,EAMGD,QANH,EAOG,yBAAaE,MAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC,SAA1B;AAAoC,IAAA,SAAS,EAAC;AAA9C,KACGA,MADH,CARJ,CADF;AAgBA,SACE,qCAAC,SAAD,6BACMQ,SADN;AAEE,IAAA,GAAG,EAAEE,MAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBD,QAAzB,CADS,sBAEIR,MAFJ,6BAGUU,KAHV,GAIT;AACE,2BAAqB,yBAAaZ,GAAb,CADvB;AAEE,6BAAuBI;AAFzB,KAJS;AAHb,MAaGA,SAAS,GACR,qCAAC,oBAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,QAAQ,EAAE,kBAACU,CAAD,EAAO;AACf,UAAIH,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEI,OAAZ,EAAqB;AACnBV,QAAAA,SAAQ,CAACS,CAAD,EAAIH,MAAM,CAACI,OAAX,CAAR;AACD;AACF,KANH;AAOE,IAAA,iBAAiB,EAAER;AAPrB,KASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCM,eAAtC,CATF,CADQ,GAaRA,eA1BJ,CADF;AA+BD,CA/DM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport \"./FormItem.css\";\n\nexport interface FormItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n RemovableProps {\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.\n */\n removable?: boolean;\n}\n\nexport const FormItem: React.FC<FormItemProps> = ({\n children,\n top,\n bottom,\n status = \"default\",\n Component = \"div\",\n removable,\n onRemove = noop,\n removePlaceholder = \"Удалить\",\n getRootRef,\n ...restProps\n}: FormItemProps) => {\n const platform = usePlatform();\n const rootEl = useExternRef(getRootRef);\n const { sizeY } = useAdaptivity();\n\n const wrappedChildren = (\n <React.Fragment>\n {hasReactNode(top) && (\n <Subhead weight=\"regular\" vkuiClass=\"FormItem__top\">\n {top}\n </Subhead>\n )}\n {children}\n {hasReactNode(bottom) && (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"FormItem__bottom\">\n {bottom}\n </Caption>\n )}\n </React.Fragment>\n );\n\n return (\n <Component\n {...restProps}\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormItem\", platform),\n `FormItem--${status}`,\n `FormItem--sizeY-${sizeY}`,\n {\n \"FormItem--withTop\": hasReactNode(top),\n \"FormItem--removable\": removable,\n }\n )}\n >\n {removable ? (\n <Removable\n align=\"start\"\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n removePlaceholder={removePlaceholder}\n >\n <div vkuiClass=\"FormItem__removable\">{wrappedChildren}</div>\n </Removable>\n ) : (\n wrappedChildren\n )}\n </Component>\n );\n};\n"],"file":"FormItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormItem/FormItem.tsx"],"names":["FormItem","children","top","bottom","status","Component","removable","onRemove","noop","removePlaceholder","getRootRef","restProps","platform","rootEl","sizeY","wrappedChildren","e","current"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAiBO,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAW5B;AAAA,MAVnBC,QAUmB,QAVnBA,QAUmB;AAAA,MATnBC,GASmB,QATnBA,GASmB;AAAA,MARnBC,MAQmB,QARnBA,MAQmB;AAAA,yBAPnBC,MAOmB;AAAA,MAPnBA,MAOmB,4BAPV,SAOU;AAAA,4BANnBC,SAMmB;AAAA,MANnBA,SAMmB,+BANP,KAMO;AAAA,MALnBC,SAKmB,QALnBA,SAKmB;AAAA,2BAJnBC,QAImB;AAAA,MAJnBA,SAImB,8BAJRC,WAIQ;AAAA,mCAHnBC,iBAGmB;AAAA,MAHnBA,iBAGmB,sCAHC,SAGD;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,MAAM,GAAG,gCAAaH,UAAb,CAAf;;AACA,uBAAkB,oCAAlB;AAAA,MAAQI,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,eAAe,GACnB,qCAAC,KAAD,CAAO,QAAP,QACG,yBAAab,GAAb,KAAqB,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAoCA,GAApC,CADxB,EAEGD,QAFH,EAGG,yBAAaE,MAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAuCA,MAAvC,CAJJ,CADF;AAUA,SACE,qCAAC,SAAD,6BACMQ,SADN;AAEE,IAAA,GAAG,EAAEE,MAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBD,QAAzB,CADS,sBAEIR,MAFJ,6BAGUU,KAHV,GAIT;AACE,2BAAqB,yBAAaZ,GAAb,CADvB;AAEE,6BAAuBI;AAFzB,KAJS;AAHb,MAaGA,SAAS,GACR,qCAAC,oBAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,QAAQ,EAAE,kBAACU,CAAD,EAAO;AACf,UAAIH,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEI,OAAZ,EAAqB;AACnBV,QAAAA,SAAQ,CAACS,CAAD,EAAIH,MAAM,CAACI,OAAX,CAAR;AACD;AACF,KANH;AAOE,IAAA,iBAAiB,EAAER;AAPrB,KASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCM,eAAtC,CATF,CADQ,GAaRA,eA1BJ,CADF;AA+BD,CAzDM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport \"./FormItem.css\";\n\nexport interface FormItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n RemovableProps {\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.\n */\n removable?: boolean;\n}\n\nexport const FormItem: React.FC<FormItemProps> = ({\n children,\n top,\n bottom,\n status = \"default\",\n Component = \"div\",\n removable,\n onRemove = noop,\n removePlaceholder = \"Удалить\",\n getRootRef,\n ...restProps\n}: FormItemProps) => {\n const platform = usePlatform();\n const rootEl = useExternRef(getRootRef);\n const { sizeY } = useAdaptivity();\n\n const wrappedChildren = (\n <React.Fragment>\n {hasReactNode(top) && <Subhead vkuiClass=\"FormItem__top\">{top}</Subhead>}\n {children}\n {hasReactNode(bottom) && (\n <Caption vkuiClass=\"FormItem__bottom\">{bottom}</Caption>\n )}\n </React.Fragment>\n );\n\n return (\n <Component\n {...restProps}\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormItem\", platform),\n `FormItem--${status}`,\n `FormItem--sizeY-${sizeY}`,\n {\n \"FormItem--withTop\": hasReactNode(top),\n \"FormItem--removable\": removable,\n }\n )}\n >\n {removable ? (\n <Removable\n align=\"start\"\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n removePlaceholder={removePlaceholder}\n >\n <div vkuiClass=\"FormItem__removable\">{wrappedChildren}</div>\n </Removable>\n ) : (\n wrappedChildren\n )}\n </Component>\n );\n};\n"],"file":"FormItem.js"}
@@ -21,7 +21,7 @@ var _usePlatform = require("../../hooks/usePlatform");
21
21
 
22
22
  var _Headline = _interopRequireDefault(require("../Typography/Headline/Headline"));
23
23
 
24
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
24
+ var _Caption = require("../Typography/Caption/Caption");
25
25
 
26
26
  var _utils = require("../../lib/utils");
27
27
 
@@ -39,14 +39,9 @@ var FormStatus = function FormStatus(_ref) {
39
39
  }), (0, _utils.hasReactNode)(header) && (0, _jsxRuntime.createScopedElement)(_Headline.default, {
40
40
  weight: "medium",
41
41
  vkuiClass: "FormStatus__header"
42
- }, header), dangerouslySetInnerHTML && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
43
- level: "1",
44
- weight: "regular",
42
+ }, header), dangerouslySetInnerHTML && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
45
43
  dangerouslySetInnerHTML: dangerouslySetInnerHTML
46
- }), (0, _utils.hasReactNode)(children) && !dangerouslySetInnerHTML && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
47
- level: "1",
48
- weight: "regular"
49
- }, children));
44
+ }), (0, _utils.hasReactNode)(children) && !dangerouslySetInnerHTML && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, null, children));
50
45
  };
51
46
 
52
47
  exports.FormStatus = FormStatus;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormStatus/FormStatus.tsx"],"names":["FormStatus","mode","header","children","dangerouslySetInnerHTML","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAQO,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAM7C;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,MAIqB,QAJrBA,MAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,uBAEqB,QAFrBA,uBAEqB;AAAA,MADlBC,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,uEACMD,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,YAAb,EAA2BC,QAA3B,CADS,wBAEML,IAFN;AAFb,MAOG,yBAAaC,MAAb,KACC,qCAAC,iBAAD;AAAU,IAAA,MAAM,EAAC,QAAjB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,MADH,CARJ,EAYGE,uBAAuB,IACtB,qCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAC,SAFT;AAGE,IAAA,uBAAuB,EAAEA;AAH3B,IAbJ,EAmBG,yBAAaD,QAAb,KAA0B,CAACC,uBAA3B,IACC,qCAAC,gBAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC;AAA1B,KACGD,QADH,CApBJ,CADF;AA2BD,CApCM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./FormStatus.css\";\n\nexport interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"default\" | \"error\";\n header?: React.ReactNode;\n}\n\nexport const FormStatus: React.FunctionComponent<FormStatusProps> = ({\n mode,\n header,\n children,\n dangerouslySetInnerHTML,\n ...restProps\n}: FormStatusProps) => {\n const platform = usePlatform();\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"FormStatus\", platform),\n `FormStatus--${mode}`\n )}\n >\n {hasReactNode(header) && (\n <Headline weight=\"medium\" vkuiClass=\"FormStatus__header\">\n {header}\n </Headline>\n )}\n {dangerouslySetInnerHTML && (\n <Caption\n level=\"1\"\n weight=\"regular\"\n dangerouslySetInnerHTML={dangerouslySetInnerHTML}\n />\n )}\n {hasReactNode(children) && !dangerouslySetInnerHTML && (\n <Caption level=\"1\" weight=\"regular\">\n {children}\n </Caption>\n )}\n </div>\n );\n};\n"],"file":"FormStatus.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormStatus/FormStatus.tsx"],"names":["FormStatus","mode","header","children","dangerouslySetInnerHTML","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAQO,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAM7C;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,MAIqB,QAJrBA,MAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,uBAEqB,QAFrBA,uBAEqB;AAAA,MADlBC,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,uEACMD,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,YAAb,EAA2BC,QAA3B,CADS,wBAEML,IAFN;AAFb,MAOG,yBAAaC,MAAb,KACC,qCAAC,iBAAD;AAAU,IAAA,MAAM,EAAC,QAAjB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,MADH,CARJ,EAYGE,uBAAuB,IACtB,qCAAC,gBAAD;AAAS,IAAA,uBAAuB,EAAEA;AAAlC,IAbJ,EAeG,yBAAaD,QAAb,KAA0B,CAACC,uBAA3B,IACC,qCAAC,gBAAD,QAAUD,QAAV,CAhBJ,CADF;AAqBD,CA9BM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./FormStatus.css\";\n\nexport interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"default\" | \"error\";\n header?: React.ReactNode;\n}\n\nexport const FormStatus: React.FunctionComponent<FormStatusProps> = ({\n mode,\n header,\n children,\n dangerouslySetInnerHTML,\n ...restProps\n}: FormStatusProps) => {\n const platform = usePlatform();\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"FormStatus\", platform),\n `FormStatus--${mode}`\n )}\n >\n {hasReactNode(header) && (\n <Headline weight=\"medium\" vkuiClass=\"FormStatus__header\">\n {header}\n </Headline>\n )}\n {dangerouslySetInnerHTML && (\n <Caption dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n {hasReactNode(children) && !dangerouslySetInnerHTML && (\n <Caption>{children}</Caption>\n )}\n </div>\n );\n};\n"],"file":"FormStatus.js"}
@@ -27,7 +27,7 @@ var _Separator = _interopRequireDefault(require("../Separator/Separator"));
27
27
 
28
28
  var _utils = require("../../lib/utils");
29
29
 
30
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
30
+ var _Caption = require("../Typography/Caption/Caption");
31
31
 
32
32
  var _withAdaptivity = require("../../hoc/withAdaptivity");
33
33
 
@@ -60,10 +60,8 @@ var Group = function Group(props) {
60
60
  vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Group", platform), "Group--sizeX-".concat(sizeX), "Group--".concat(computedMode))
61
61
  }), (0, _jsxRuntime.createScopedElement)("div", {
62
62
  vkuiClass: "Group__inner"
63
- }, header, children, (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
64
- vkuiClass: "Group__description",
65
- weight: "regular",
66
- level: "1"
63
+ }, header, children, (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
64
+ vkuiClass: "Group__description"
67
65
  }, description)), separator !== "hide" && (0, _jsxRuntime.createScopedElement)(_Separator.default, {
68
66
  vkuiClass: (0, _classNames.classNames)("Group__separator", {
69
67
  "Group__separator--force": separator === "show"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Group/Group.tsx"],"names":["Group","props","header","description","children","separator","getRootRef","mode","sizeX","restProps","React","useContext","ModalRootContext","isInsideModal","platform","computedMode","SizeType","COMPACT","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAKA;;;;AAwBA,IAAMA,KAA2B,GAAG,SAA9BA,KAA8B,CAACC,KAAD,EAAuB;AACzD,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,WAFF,GASIF,KATJ,CAEEE,WAFF;AAAA,MAGEC,QAHF,GASIH,KATJ,CAGEG,QAHF;AAAA,MAIEC,SAJF,GASIJ,KATJ,CAIEI,SAJF;AAAA,MAKEC,UALF,GASIL,KATJ,CAKEK,UALF;AAAA,MAMEC,IANF,GASIN,KATJ,CAMEM,IANF;AAAA,MAOEC,KAPF,GASIP,KATJ,CAOEO,KAPF;AAAA,MAQKC,SARL,0CASIR,KATJ;;AAUA,0BAA0BS,KAAK,CAACC,UAAN,CAAiBC,yBAAjB,CAA1B;AAAA,MAAQC,aAAR,qBAAQA,aAAR;;AACA,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAIC,YAAgC,GAAGR,IAAvC;;AAEA,MAAI,CAACA,IAAL,EAAW;AACTQ,IAAAA,YAAY,GACVP,KAAK,KAAKQ,yBAASC,OAAnB,IAA8BJ,aAA9B,GAA8C,OAA9C,GAAwD,MAD1D;AAED;;AAED,SACE,2EACMJ,SADN;AAEE,IAAA,GAAG,EAAEH,UAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,OAAb,EAAsBQ,QAAtB,CADS,yBAEON,KAFP,oBAGCO,YAHD;AAHb,MASE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGb,MADH,EAEGE,QAFH,EAGG,yBAAaD,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC,oBAAnB;AAAwC,IAAA,MAAM,EAAC,SAA/C;AAAyD,IAAA,KAAK,EAAC;AAA/D,KACGA,WADH,CAJJ,CATF,EAmBGE,SAAS,KAAK,MAAd,IACC,qCAAC,kBAAD;AACE,IAAA,SAAS,EAAE,4BAAW,kBAAX,EAA+B;AACxC,iCAA2BA,SAAS,KAAK;AADD,KAA/B,CADb;AAIE,IAAA,QAAQ,EAAEU,YAAY,KAAK;AAJ7B,IApBJ,CADF;AA8BD,CAnDD;;AAqDAf,KAAK,CAACkB,YAAN,GAAqB;AACnBb,EAAAA,SAAS,EAAE;AADQ,CAArB,C,CAIA;;eACe,oCAAeL,KAAf,EAAsB;AAAEQ,EAAAA,KAAK,EAAE;AAAT,CAAtB,C","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Separator from \"../Separator/Separator\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport ModalRootContext from \"../ModalRoot/ModalRootContext\";\nimport \"./Group.css\";\n\nexport interface GroupProps\n extends HasRootRef<HTMLElement>,\n React.HTMLAttributes<HTMLElement>,\n AdaptivityProps {\n header?: React.ReactNode;\n description?: React.ReactNode;\n /**\n show - разделитель всегда показывается,\n hide – разделитель всегда спрятан,\n auto – разделитель рисуется автоматически между соседними группами.\n */\n separator?: \"show\" | \"hide\" | \"auto\";\n /**\n * Режим отображения. Если установлен 'card', выглядит как карточка c\n * обводкой и внешними отступами. Если 'plain' — без отступов и обводки.\n * По умолчанию режим отображения зависит от `sizeX`. В модальных окнах\n * по умолчанию 'plain'.\n */\n mode?: \"plain\" | \"card\";\n}\n\nconst Group: React.FC<GroupProps> = (props: GroupProps) => {\n const {\n header,\n description,\n children,\n separator,\n getRootRef,\n mode,\n sizeX,\n ...restProps\n } = props;\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n let computedMode: GroupProps[\"mode\"] = mode;\n\n if (!mode) {\n computedMode =\n sizeX === SizeType.COMPACT || isInsideModal ? \"plain\" : \"card\";\n }\n\n return (\n <section\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Group\", platform),\n `Group--sizeX-${sizeX}`,\n `Group--${computedMode}`\n )}\n >\n <div vkuiClass=\"Group__inner\">\n {header}\n {children}\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Group__description\" weight=\"regular\" level=\"1\">\n {description}\n </Caption>\n )}\n </div>\n\n {separator !== \"hide\" && (\n <Separator\n vkuiClass={classNames(\"Group__separator\", {\n \"Group__separator--force\": separator === \"show\",\n })}\n expanded={computedMode === \"card\"}\n />\n )}\n </section>\n );\n};\n\nGroup.defaultProps = {\n separator: \"auto\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Group, { sizeX: true });\n"],"file":"Group.js"}
1
+ {"version":3,"sources":["../../../../src/components/Group/Group.tsx"],"names":["Group","props","header","description","children","separator","getRootRef","mode","sizeX","restProps","React","useContext","ModalRootContext","isInsideModal","platform","computedMode","SizeType","COMPACT","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAKA;;;;AAwBA,IAAMA,KAA2B,GAAG,SAA9BA,KAA8B,CAACC,KAAD,EAAuB;AACzD,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,WAFF,GASIF,KATJ,CAEEE,WAFF;AAAA,MAGEC,QAHF,GASIH,KATJ,CAGEG,QAHF;AAAA,MAIEC,SAJF,GASIJ,KATJ,CAIEI,SAJF;AAAA,MAKEC,UALF,GASIL,KATJ,CAKEK,UALF;AAAA,MAMEC,IANF,GASIN,KATJ,CAMEM,IANF;AAAA,MAOEC,KAPF,GASIP,KATJ,CAOEO,KAPF;AAAA,MAQKC,SARL,0CASIR,KATJ;;AAUA,0BAA0BS,KAAK,CAACC,UAAN,CAAiBC,yBAAjB,CAA1B;AAAA,MAAQC,aAAR,qBAAQA,aAAR;;AACA,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAIC,YAAgC,GAAGR,IAAvC;;AAEA,MAAI,CAACA,IAAL,EAAW;AACTQ,IAAAA,YAAY,GACVP,KAAK,KAAKQ,yBAASC,OAAnB,IAA8BJ,aAA9B,GAA8C,OAA9C,GAAwD,MAD1D;AAED;;AAED,SACE,2EACMJ,SADN;AAEE,IAAA,GAAG,EAAEH,UAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,OAAb,EAAsBQ,QAAtB,CADS,yBAEON,KAFP,oBAGCO,YAHD;AAHb,MASE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGb,MADH,EAEGE,QAFH,EAGG,yBAAaD,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAJJ,CATF,EAiBGE,SAAS,KAAK,MAAd,IACC,qCAAC,kBAAD;AACE,IAAA,SAAS,EAAE,4BAAW,kBAAX,EAA+B;AACxC,iCAA2BA,SAAS,KAAK;AADD,KAA/B,CADb;AAIE,IAAA,QAAQ,EAAEU,YAAY,KAAK;AAJ7B,IAlBJ,CADF;AA4BD,CAjDD;;AAmDAf,KAAK,CAACkB,YAAN,GAAqB;AACnBb,EAAAA,SAAS,EAAE;AADQ,CAArB,C,CAIA;;eACe,oCAAeL,KAAf,EAAsB;AAAEQ,EAAAA,KAAK,EAAE;AAAT,CAAtB,C","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Separator from \"../Separator/Separator\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport ModalRootContext from \"../ModalRoot/ModalRootContext\";\nimport \"./Group.css\";\n\nexport interface GroupProps\n extends HasRootRef<HTMLElement>,\n React.HTMLAttributes<HTMLElement>,\n AdaptivityProps {\n header?: React.ReactNode;\n description?: React.ReactNode;\n /**\n show - разделитель всегда показывается,\n hide – разделитель всегда спрятан,\n auto – разделитель рисуется автоматически между соседними группами.\n */\n separator?: \"show\" | \"hide\" | \"auto\";\n /**\n * Режим отображения. Если установлен 'card', выглядит как карточка c\n * обводкой и внешними отступами. Если 'plain' — без отступов и обводки.\n * По умолчанию режим отображения зависит от `sizeX`. В модальных окнах\n * по умолчанию 'plain'.\n */\n mode?: \"plain\" | \"card\";\n}\n\nconst Group: React.FC<GroupProps> = (props: GroupProps) => {\n const {\n header,\n description,\n children,\n separator,\n getRootRef,\n mode,\n sizeX,\n ...restProps\n } = props;\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n let computedMode: GroupProps[\"mode\"] = mode;\n\n if (!mode) {\n computedMode =\n sizeX === SizeType.COMPACT || isInsideModal ? \"plain\" : \"card\";\n }\n\n return (\n <section\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Group\", platform),\n `Group--sizeX-${sizeX}`,\n `Group--${computedMode}`\n )}\n >\n <div vkuiClass=\"Group__inner\">\n {header}\n {children}\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Group__description\">{description}</Caption>\n )}\n </div>\n\n {separator !== \"hide\" && (\n <Separator\n vkuiClass={classNames(\"Group__separator\", {\n \"Group__separator--force\": separator === \"show\",\n })}\n expanded={computedMode === \"card\"}\n />\n )}\n </section>\n );\n};\n\nGroup.defaultProps = {\n separator: \"auto\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Group, { sizeX: true });\n"],"file":"Group.js"}