@vkontakte/vkui 7.2.1 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1626) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +6 -0
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +5 -3
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/AccordionContent.d.ts +1 -1
  6. package/dist/components/Accordion/AccordionContent.d.ts.map +1 -1
  7. package/dist/components/Accordion/AccordionContent.js +0 -1
  8. package/dist/components/Accordion/AccordionContent.js.map +1 -1
  9. package/dist/components/Accordion/AccordionContext.d.ts +13 -0
  10. package/dist/components/Accordion/AccordionContext.d.ts.map +1 -1
  11. package/dist/components/Accordion/AccordionContext.js.map +1 -1
  12. package/dist/components/Accordion/AccordionSummary.d.ts +1 -1
  13. package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
  14. package/dist/components/Accordion/AccordionSummary.js +0 -1
  15. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  16. package/dist/components/ActionSheet/ActionSheet.d.ts +29 -2
  17. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  18. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  19. package/dist/components/ActionSheet/ActionSheetContext.d.ts +23 -0
  20. package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  21. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  22. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +1 -1
  23. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts.map +1 -1
  24. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +7 -3
  25. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  26. package/dist/components/ActionSheet/types.d.ts +8 -5
  27. package/dist/components/ActionSheet/types.d.ts.map +1 -1
  28. package/dist/components/ActionSheet/types.js.map +1 -1
  29. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +40 -8
  30. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  31. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  32. package/dist/components/ActionSheetItem/helpers.d.ts +2 -2
  33. package/dist/components/ActionSheetItem/helpers.js +2 -2
  34. package/dist/components/ActionSheetItem/helpers.js.map +1 -1
  35. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +6 -0
  36. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts.map +1 -1
  37. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  38. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +12 -4
  39. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
  40. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  41. package/dist/components/Alert/Alert.d.ts +40 -12
  42. package/dist/components/Alert/Alert.d.ts.map +1 -1
  43. package/dist/components/Alert/Alert.js.map +1 -1
  44. package/dist/components/Alert/AlertAction.d.ts +6 -0
  45. package/dist/components/Alert/AlertAction.d.ts.map +1 -1
  46. package/dist/components/Alert/AlertAction.js.map +1 -1
  47. package/dist/components/Alert/AlertActions.d.ts +3 -0
  48. package/dist/components/Alert/AlertActions.d.ts.map +1 -1
  49. package/dist/components/Alert/AlertActions.js.map +1 -1
  50. package/dist/components/Alert/AlertBase.d.ts +8 -0
  51. package/dist/components/Alert/AlertBase.d.ts.map +1 -1
  52. package/dist/components/Alert/AlertBase.js.map +1 -1
  53. package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
  54. package/dist/components/Alert/AlertTypography.js +1 -1
  55. package/dist/components/Alert/AlertTypography.js.map +1 -1
  56. package/dist/components/AppRoot/AppRoot.d.ts +15 -4
  57. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  58. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  59. package/dist/components/AppRoot/AppRootContext.d.ts +1 -1
  60. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  61. package/dist/components/AppRoot/AppRootContext.js +2 -2
  62. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  63. package/dist/components/AppRoot/AppRootPortal.d.ts +11 -4
  64. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  65. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  66. package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
  67. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  68. package/dist/components/AppRoot/ScrollContext.js +4 -4
  69. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  70. package/dist/components/AppRoot/types.d.ts.map +1 -1
  71. package/dist/components/AppRoot/types.js +1 -1
  72. package/dist/components/AppRoot/types.js.map +1 -1
  73. package/dist/components/AspectRatio/AspectRatio.d.ts +4 -1
  74. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  75. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  76. package/dist/components/Avatar/Avatar.d.ts +1 -1
  77. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  78. package/dist/components/Avatar/Avatar.js +6 -4
  79. package/dist/components/Avatar/Avatar.js.map +1 -1
  80. package/dist/components/Avatar/AvatarBadge/AvatarBadge.d.ts +1 -2
  81. package/dist/components/Avatar/AvatarBadge/AvatarBadge.d.ts.map +1 -1
  82. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js +0 -1
  83. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  84. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -2
  85. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
  86. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +0 -1
  87. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  88. package/dist/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  89. package/dist/components/Avatar/AvatarBadge/icons.js +1 -1
  90. package/dist/components/Avatar/AvatarBadge/icons.js.map +1 -1
  91. package/dist/components/Badge/Badge.d.ts +3 -0
  92. package/dist/components/Badge/Badge.d.ts.map +1 -1
  93. package/dist/components/Badge/Badge.js.map +1 -1
  94. package/dist/components/Banner/Banner.d.ts +8 -5
  95. package/dist/components/Banner/Banner.d.ts.map +1 -1
  96. package/dist/components/Banner/Banner.js.map +1 -1
  97. package/dist/components/Button/Button.d.ts +27 -0
  98. package/dist/components/Button/Button.d.ts.map +1 -1
  99. package/dist/components/Button/Button.js.map +1 -1
  100. package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -4
  101. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  102. package/dist/components/ButtonGroup/ButtonGroup.js +0 -1
  103. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  104. package/dist/components/Calendar/Calendar.d.ts +37 -5
  105. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  106. package/dist/components/Calendar/Calendar.js +77 -17
  107. package/dist/components/Calendar/Calendar.js.map +1 -1
  108. package/dist/components/CalendarDay/CalendarDay.d.ts +61 -3
  109. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  110. package/dist/components/CalendarDay/CalendarDay.js +36 -12
  111. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  112. package/dist/components/CalendarDays/CalendarDays.d.ts +67 -2
  113. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  114. package/dist/components/CalendarDays/CalendarDays.js +76 -46
  115. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  116. package/dist/components/CalendarHeader/CalendarHeader.d.ts +45 -6
  117. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  118. package/dist/components/CalendarHeader/CalendarHeader.js +9 -2
  119. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  120. package/dist/components/CalendarRange/CalendarRange.d.ts +35 -3
  121. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  122. package/dist/components/CalendarRange/CalendarRange.js +17 -7
  123. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  124. package/dist/components/CalendarTime/CalendarTime.d.ts +31 -4
  125. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  126. package/dist/components/CalendarTime/CalendarTime.js +9 -2
  127. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  128. package/dist/components/Card/Card.d.ts +3 -0
  129. package/dist/components/Card/Card.d.ts.map +1 -1
  130. package/dist/components/Card/Card.js.map +1 -1
  131. package/dist/components/CardGrid/CardGrid.d.ts +4 -1
  132. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  133. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  134. package/dist/components/CardScroll/CardScroll.d.ts +2 -2
  135. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  136. package/dist/components/CarouselBase/Bullets.d.ts +2 -3
  137. package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
  138. package/dist/components/CarouselBase/Bullets.js +1 -2
  139. package/dist/components/CarouselBase/Bullets.js.map +1 -1
  140. package/dist/components/CarouselBase/CarouselBase.js +6 -6
  141. package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
  142. package/dist/components/CarouselBase/CarouselViewPort.d.ts +1 -1
  143. package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -1
  144. package/dist/components/CarouselBase/CarouselViewPort.js +1 -1
  145. package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -1
  146. package/dist/components/CarouselBase/ScrollArrows.d.ts +3 -3
  147. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  148. package/dist/components/CarouselBase/ScrollArrows.js +1 -1
  149. package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
  150. package/dist/components/CarouselBase/helpers.d.ts +2 -2
  151. package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
  152. package/dist/components/CarouselBase/helpers.js +3 -3
  153. package/dist/components/CarouselBase/helpers.js.map +1 -1
  154. package/dist/components/CarouselBase/types.d.ts +21 -20
  155. package/dist/components/CarouselBase/types.d.ts.map +1 -1
  156. package/dist/components/CarouselBase/types.js +1 -1
  157. package/dist/components/CarouselBase/types.js.map +1 -1
  158. package/dist/components/Cell/Cell.d.ts +13 -7
  159. package/dist/components/Cell/Cell.d.ts.map +1 -1
  160. package/dist/components/Cell/Cell.js +1 -1
  161. package/dist/components/Cell/Cell.js.map +1 -1
  162. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  163. package/dist/components/Cell/CellDragger/CellDragger.js +1 -1
  164. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  165. package/dist/components/CellButton/CellButton.d.ts +3 -0
  166. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  167. package/dist/components/CellButton/CellButton.js.map +1 -1
  168. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +284 -288
  169. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts.map +1 -1
  170. package/dist/components/CellButtonGroup/CellButtonGroup.js +4 -2
  171. package/dist/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
  172. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts +1 -4
  173. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts.map +1 -1
  174. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +0 -1
  175. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -1
  176. package/dist/components/Checkbox/Checkbox.d.ts +6 -0
  177. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  178. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  179. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +21 -0
  180. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  181. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  182. package/dist/components/ChipsInput/ChipsInput.d.ts +2 -2
  183. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  184. package/dist/components/ChipsInput/ChipsInput.js +5 -3
  185. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  186. package/dist/components/ChipsInput/useChipsInput.d.ts +2 -2
  187. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  188. package/dist/components/ChipsInput/useChipsInput.js +40 -12
  189. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  190. package/dist/components/ChipsInputBase/types.d.ts +86 -4
  191. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  192. package/dist/components/ChipsInputBase/types.js.map +1 -1
  193. package/dist/components/ChipsSelect/ChipsSelect.d.ts +16 -10
  194. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  195. package/dist/components/ChipsSelect/ChipsSelect.js +5 -3
  196. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  197. package/dist/components/ChipsSelect/types.d.ts.map +1 -1
  198. package/dist/components/ChipsSelect/types.js +1 -1
  199. package/dist/components/ChipsSelect/types.js.map +1 -1
  200. package/dist/components/ChipsSelect/useChipsSelect.d.ts +14 -5
  201. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  202. package/dist/components/ChipsSelect/useChipsSelect.js +5 -3
  203. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  204. package/dist/components/Clickable/Clickable.d.ts +2 -2
  205. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  206. package/dist/components/Clickable/Clickable.js +3 -3
  207. package/dist/components/Clickable/Clickable.js.map +1 -1
  208. package/dist/components/Clickable/RealClickable.d.ts +1 -1
  209. package/dist/components/Clickable/RealClickable.js +1 -1
  210. package/dist/components/Clickable/RealClickable.js.map +1 -1
  211. package/dist/components/Clickable/useState.d.ts +9 -9
  212. package/dist/components/Clickable/useState.d.ts.map +1 -1
  213. package/dist/components/Clickable/useState.js +5 -5
  214. package/dist/components/Clickable/useState.js.map +1 -1
  215. package/dist/components/Clickable/useStateWithDelay.d.ts +1 -1
  216. package/dist/components/Clickable/useStateWithDelay.js +1 -1
  217. package/dist/components/Clickable/useStateWithDelay.js.map +1 -1
  218. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts +6 -0
  219. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts.map +1 -1
  220. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +0 -2
  221. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  222. package/dist/components/ConfigProvider/ConfigProvider.d.ts +3 -0
  223. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  224. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  225. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +7 -7
  226. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  227. package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts +4 -1
  228. package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts.map +1 -1
  229. package/dist/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  230. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  231. package/dist/components/ContentBadge/ContentBadge.d.ts +2 -2
  232. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  233. package/dist/components/ContentBadge/ContentBadge.js +4 -2
  234. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  235. package/dist/components/ContentBadge/ContentBadgeContext.d.ts.map +1 -1
  236. package/dist/components/ContentBadge/ContentBadgeContext.js +1 -1
  237. package/dist/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  238. package/dist/components/ContentBadge/ContentBadgeSlotIcon.d.ts +1 -2
  239. package/dist/components/ContentBadge/ContentBadgeSlotIcon.d.ts.map +1 -1
  240. package/dist/components/ContentBadge/ContentBadgeSlotIcon.js +0 -1
  241. package/dist/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
  242. package/dist/components/ContentCard/ContentCard.d.ts +10 -7
  243. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  244. package/dist/components/ContentCard/ContentCard.js +4 -3
  245. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  246. package/dist/components/Counter/Counter.d.ts +6 -3
  247. package/dist/components/Counter/Counter.d.ts.map +1 -1
  248. package/dist/components/Counter/Counter.js.map +1 -1
  249. package/dist/components/CustomScrollView/CustomScrollView.d.ts +14 -5
  250. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  251. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  252. package/dist/components/CustomSelect/CustomSelect.d.ts +45 -12
  253. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  254. package/dist/components/CustomSelect/CustomSelect.js +9 -2
  255. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  256. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +9 -0
  257. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  258. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  259. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  260. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +1 -1
  261. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  262. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  263. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  264. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -1
  265. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  266. package/dist/components/DateInput/DateInput.d.ts +54 -10
  267. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  268. package/dist/components/DateInput/DateInput.js +143 -62
  269. package/dist/components/DateInput/DateInput.js.map +1 -1
  270. package/dist/components/DateInput/hooks.d.ts.map +1 -1
  271. package/dist/components/DateInput/hooks.js +1 -1
  272. package/dist/components/DateInput/hooks.js.map +1 -1
  273. package/dist/components/DateRangeInput/DateRangeInput.d.ts +42 -6
  274. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  275. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  276. package/dist/components/DirectionProvider/DirectionProvider.d.ts +7 -1
  277. package/dist/components/DirectionProvider/DirectionProvider.d.ts.map +1 -1
  278. package/dist/components/DirectionProvider/DirectionProvider.js +1 -1
  279. package/dist/components/DirectionProvider/DirectionProvider.js.map +1 -1
  280. package/dist/components/DropZone/DropZone.d.ts +6 -0
  281. package/dist/components/DropZone/DropZone.d.ts.map +1 -1
  282. package/dist/components/DropZone/DropZone.js +4 -2
  283. package/dist/components/DropZone/DropZone.js.map +1 -1
  284. package/dist/components/DropZone/components/DropZoneGrid.d.ts +4 -1
  285. package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +1 -1
  286. package/dist/components/DropZone/components/DropZoneGrid.js +0 -1
  287. package/dist/components/DropZone/components/DropZoneGrid.js.map +1 -1
  288. package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
  289. package/dist/components/DropdownIcon/DropdownIcon.js +1 -1
  290. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  291. package/dist/components/Epic/Epic.d.ts +10 -0
  292. package/dist/components/Epic/Epic.d.ts.map +1 -1
  293. package/dist/components/Epic/Epic.js.map +1 -1
  294. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  295. package/dist/components/Epic/ScrollSaver.js +1 -1
  296. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  297. package/dist/components/FixedLayout/FixedLayout.d.ts +3 -6
  298. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  299. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  300. package/dist/components/Flex/FlexItem/FlexItem.d.ts +3 -3
  301. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  302. package/dist/components/FloatingArrow/DefaultIcon.d.ts +1 -1
  303. package/dist/components/FloatingArrow/DefaultIcon.js +1 -1
  304. package/dist/components/FloatingArrow/DefaultIcon.js.map +1 -1
  305. package/dist/components/FloatingArrow/FloatingArrow.d.ts +17 -0
  306. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  307. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  308. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  309. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  310. package/dist/components/FocusTrap/FocusTrap.js +5 -3
  311. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  312. package/dist/components/FormField/FormField.d.ts +11 -5
  313. package/dist/components/FormField/FormField.d.ts.map +1 -1
  314. package/dist/components/FormField/FormField.js.map +1 -1
  315. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +9 -0
  316. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  317. package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  318. package/dist/components/FormItem/FormItem.d.ts +17 -3
  319. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  320. package/dist/components/FormItem/FormItem.js +6 -4
  321. package/dist/components/FormItem/FormItem.js.map +1 -1
  322. package/dist/components/FormItem/FormItemTop/FormItemTop.d.ts +1 -1
  323. package/dist/components/FormItem/FormItemTop/FormItemTop.d.ts.map +1 -1
  324. package/dist/components/FormItem/FormItemTop/FormItemTop.js +0 -1
  325. package/dist/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
  326. package/dist/components/FormItem/FormItemTop/FormItemTopAside.d.ts +1 -1
  327. package/dist/components/FormItem/FormItemTop/FormItemTopAside.d.ts.map +1 -1
  328. package/dist/components/FormItem/FormItemTop/FormItemTopAside.js +0 -1
  329. package/dist/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
  330. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.d.ts +1 -1
  331. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.d.ts.map +1 -1
  332. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.js +0 -1
  333. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
  334. package/dist/components/FormItem/context.d.ts.map +1 -1
  335. package/dist/components/FormItem/context.js +1 -1
  336. package/dist/components/FormItem/context.js.map +1 -1
  337. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -0
  338. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  339. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  340. package/dist/components/FormStatus/FormStatus.d.ts +6 -0
  341. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  342. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  343. package/dist/components/Gallery/Gallery.d.ts +6 -0
  344. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  345. package/dist/components/Gallery/Gallery.js.map +1 -1
  346. package/dist/components/Gallery/hooks.d.ts.map +1 -1
  347. package/dist/components/Gallery/hooks.js +1 -1
  348. package/dist/components/Gallery/hooks.js.map +1 -1
  349. package/dist/components/Gradient/Gradient.d.ts +2 -2
  350. package/dist/components/Gradient/Gradient.js.map +1 -1
  351. package/dist/components/Group/Group.d.ts +6 -0
  352. package/dist/components/Group/Group.d.ts.map +1 -1
  353. package/dist/components/Group/Group.js +7 -5
  354. package/dist/components/Group/Group.js.map +1 -1
  355. package/dist/components/Group/GroupContainer.d.ts +1 -2
  356. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  357. package/dist/components/Group/GroupContainer.js +0 -1
  358. package/dist/components/Group/GroupContainer.js.map +1 -1
  359. package/dist/components/Group/GroupDescription.d.ts +1 -2
  360. package/dist/components/Group/GroupDescription.d.ts.map +1 -1
  361. package/dist/components/Group/GroupDescription.js +0 -2
  362. package/dist/components/Group/GroupDescription.js.map +1 -1
  363. package/dist/components/Group/GroupExpandedContent.d.ts +4 -2
  364. package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
  365. package/dist/components/Group/GroupExpandedContent.js +1 -3
  366. package/dist/components/Group/GroupExpandedContent.js.map +1 -1
  367. package/dist/components/Group/GroupHeader.d.ts +1 -2
  368. package/dist/components/Group/GroupHeader.d.ts.map +1 -1
  369. package/dist/components/Group/GroupHeader.js +0 -2
  370. package/dist/components/Group/GroupHeader.js.map +1 -1
  371. package/dist/components/Header/Header.d.ts +19 -7
  372. package/dist/components/Header/Header.d.ts.map +1 -1
  373. package/dist/components/Header/Header.js.map +1 -1
  374. package/dist/components/HorizontalCell/HorizontalCell.d.ts +5 -5
  375. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  376. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +2 -2
  377. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +1 -2
  378. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  379. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +16 -7
  380. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  381. package/dist/components/HorizontalScroll/HorizontalScroll.js +7 -7
  382. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  383. package/dist/components/IconButton/IconButton.d.ts +1 -1
  384. package/dist/components/IconButton/IconButton.js.map +1 -1
  385. package/dist/components/Image/Image.d.ts +4 -4
  386. package/dist/components/Image/Image.d.ts.map +1 -1
  387. package/dist/components/Image/Image.js +6 -4
  388. package/dist/components/Image/Image.js.map +1 -1
  389. package/dist/components/Image/ImageBadge/ImageBadge.d.ts +1 -2
  390. package/dist/components/Image/ImageBadge/ImageBadge.d.ts.map +1 -1
  391. package/dist/components/Image/ImageBadge/ImageBadge.js +0 -1
  392. package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  393. package/dist/components/ImageBase/ImageBase.d.ts +7 -7
  394. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  395. package/dist/components/ImageBase/ImageBase.js +6 -4
  396. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  397. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +2 -2
  398. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
  399. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +1 -2
  400. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  401. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +5 -8
  402. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
  403. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +0 -1
  404. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  405. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.d.ts +1 -2
  406. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.d.ts.map +1 -1
  407. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +0 -1
  408. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  409. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +6 -0
  410. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  411. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  412. package/dist/components/ImageBase/helpers.d.ts +3 -3
  413. package/dist/components/ImageBase/helpers.js +3 -3
  414. package/dist/components/ImageBase/helpers.js.map +1 -1
  415. package/dist/components/ImageBase/types.d.ts +18 -0
  416. package/dist/components/ImageBase/types.d.ts.map +1 -1
  417. package/dist/components/ImageBase/types.js.map +1 -1
  418. package/dist/components/ImageBase/validators.d.ts.map +1 -1
  419. package/dist/components/ImageBase/validators.js +4 -5
  420. package/dist/components/ImageBase/validators.js.map +1 -1
  421. package/dist/components/InfoRow/InfoRow.d.ts +3 -0
  422. package/dist/components/InfoRow/InfoRow.d.ts.map +1 -1
  423. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  424. package/dist/components/InputLike/InputLike.d.ts +1 -2
  425. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  426. package/dist/components/InputLike/InputLike.js +4 -5
  427. package/dist/components/InputLike/InputLike.js.map +1 -1
  428. package/dist/components/Link/Link.d.ts.map +1 -1
  429. package/dist/components/Link/Link.js +4 -6
  430. package/dist/components/Link/Link.js.map +1 -1
  431. package/dist/components/List/List.d.ts +1 -1
  432. package/dist/components/List/List.js.map +1 -1
  433. package/dist/components/LocaleProvider/LocaleProvider.d.ts +5 -2
  434. package/dist/components/LocaleProvider/LocaleProvider.d.ts.map +1 -1
  435. package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
  436. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
  437. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +3 -3
  438. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  439. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  440. package/dist/components/ModalCard/ModalCardInternal.js +1 -1
  441. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  442. package/dist/components/ModalCard/types.d.ts +1 -1
  443. package/dist/components/ModalCard/types.js.map +1 -1
  444. package/dist/components/ModalCardBase/ModalCardBase.d.ts +26 -14
  445. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  446. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  447. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +3 -0
  448. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  449. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  450. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  451. package/dist/components/ModalOutlet/ModalOutlet.js +1 -1
  452. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  453. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +2 -2
  454. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  455. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  456. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
  457. package/dist/components/ModalPage/ModalPageBase.d.ts +1 -1
  458. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  459. package/dist/components/ModalPage/ModalPageBase.js +1 -1
  460. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  461. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  462. package/dist/components/ModalPage/ModalPageInternal.js +1 -1
  463. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  464. package/dist/components/ModalPage/types.d.ts +11 -8
  465. package/dist/components/ModalPage/types.d.ts.map +1 -1
  466. package/dist/components/ModalPage/types.js.map +1 -1
  467. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +6 -0
  468. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  469. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  470. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +3 -0
  471. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  472. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  473. package/dist/components/ModalRoot/types.d.ts +19 -16
  474. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  475. package/dist/components/ModalRoot/types.js +1 -1
  476. package/dist/components/ModalRoot/types.js.map +1 -1
  477. package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
  478. package/dist/components/ModalRoot/useModalManager.js +1 -1
  479. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  480. package/dist/components/ModalRoot/withModalRootContext.d.ts +2 -2
  481. package/dist/components/ModalRoot/withModalRootContext.d.ts.map +1 -1
  482. package/dist/components/ModalRoot/withModalRootContext.js +2 -2
  483. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  484. package/dist/components/NativeSelect/NativeSelect.d.ts +15 -6
  485. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  486. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  487. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
  488. package/dist/components/NavTransitionContext/NavTransitionContext.js +1 -1
  489. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  490. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +2 -2
  491. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  492. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +3 -0
  493. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  494. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js +4 -1
  495. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  496. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.d.ts.map +1 -1
  497. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js +1 -1
  498. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -1
  499. package/dist/components/Pagination/Pagination.d.ts +10 -4
  500. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  501. package/dist/components/Pagination/Pagination.js.map +1 -1
  502. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  503. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js +1 -1
  504. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  505. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  506. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js +1 -1
  507. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  508. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  509. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js +1 -1
  510. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  511. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  512. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js +1 -1
  513. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  514. package/dist/components/Panel/Panel.d.ts +4 -1
  515. package/dist/components/Panel/Panel.d.ts.map +1 -1
  516. package/dist/components/Panel/Panel.js.map +1 -1
  517. package/dist/components/PanelHeader/PanelHeader.d.ts +13 -2
  518. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  519. package/dist/components/PanelHeader/PanelHeader.js +1 -1
  520. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  521. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +6 -0
  522. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  523. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  524. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +7 -0
  525. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  526. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
  527. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  528. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +9 -0
  529. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  530. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  531. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +7 -0
  532. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts.map +1 -1
  533. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  534. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
  535. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  536. package/dist/components/PanelSpinner/PanelSpinner.d.ts +4 -1
  537. package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
  538. package/dist/components/PanelSpinner/PanelSpinner.js +6 -2
  539. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  540. package/dist/components/Placeholder/Placeholder.d.ts +5 -5
  541. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  542. package/dist/components/PlatformProvider/PlatformProvider.d.ts +5 -2
  543. package/dist/components/PlatformProvider/PlatformProvider.d.ts.map +1 -1
  544. package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
  545. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  546. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +4 -4
  547. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  548. package/dist/components/Popover/Popover.d.ts +7 -4
  549. package/dist/components/Popover/Popover.d.ts.map +1 -1
  550. package/dist/components/Popover/Popover.js.map +1 -1
  551. package/dist/components/Popover/usePopover.d.ts +9 -0
  552. package/dist/components/Popover/usePopover.d.ts.map +1 -1
  553. package/dist/components/Popover/usePopover.js.map +1 -1
  554. package/dist/components/Popper/Popper.d.ts +4 -1
  555. package/dist/components/Popper/Popper.d.ts.map +1 -1
  556. package/dist/components/Popper/Popper.js.map +1 -1
  557. package/dist/components/Progress/Progress.d.ts +6 -3
  558. package/dist/components/Progress/Progress.d.ts.map +1 -1
  559. package/dist/components/Progress/Progress.js.map +1 -1
  560. package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
  561. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  562. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  563. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
  564. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  565. package/dist/components/Radio/Radio.d.ts +7 -1
  566. package/dist/components/Radio/Radio.d.ts.map +1 -1
  567. package/dist/components/Radio/Radio.js.map +1 -1
  568. package/dist/components/RadioGroup/RadioGroup.d.ts +3 -0
  569. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  570. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  571. package/dist/components/Removable/Removable.d.ts +10 -7
  572. package/dist/components/Removable/Removable.d.ts.map +1 -1
  573. package/dist/components/Removable/Removable.js +1 -1
  574. package/dist/components/Removable/Removable.js.map +1 -1
  575. package/dist/components/RichCell/RichCell.d.ts +6 -6
  576. package/dist/components/RichCell/RichCell.js.map +1 -1
  577. package/dist/components/Root/Root.d.ts +9 -0
  578. package/dist/components/Root/Root.d.ts.map +1 -1
  579. package/dist/components/Root/Root.js +1 -1
  580. package/dist/components/Root/Root.js.map +1 -1
  581. package/dist/components/RootComponent/RootComponent.d.ts +10 -0
  582. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  583. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  584. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts.map +1 -1
  585. package/dist/components/ScreenSpinner/ScreenSpinner.js +6 -4
  586. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  587. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.d.ts +1 -2
  588. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.d.ts.map +1 -1
  589. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.js +0 -2
  590. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
  591. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.d.ts +3 -2
  592. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.d.ts.map +1 -1
  593. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.js +0 -1
  594. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
  595. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -2
  596. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
  597. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js +1 -3
  598. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  599. package/dist/components/ScreenSpinner/context.d.ts +9 -0
  600. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  601. package/dist/components/ScreenSpinner/context.js.map +1 -1
  602. package/dist/components/ScreenSpinner/types.d.ts +12 -4
  603. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  604. package/dist/components/ScreenSpinner/types.js.map +1 -1
  605. package/dist/components/ScrollArrow/ScrollArrow.d.ts +5 -2
  606. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  607. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  608. package/dist/components/Search/Search.d.ts +24 -6
  609. package/dist/components/Search/Search.d.ts.map +1 -1
  610. package/dist/components/Search/Search.js.map +1 -1
  611. package/dist/components/SegmentedControl/SegmentedControl.d.ts +25 -1
  612. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  613. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  614. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  615. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -1
  616. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  617. package/dist/components/SelectMimicry/SelectMimicry.d.ts +9 -0
  618. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  619. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  620. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  621. package/dist/components/SelectTypography/SelectTypography.js +1 -1
  622. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  623. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  624. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +1 -1
  625. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  626. package/dist/components/Separator/Separator.d.ts +6 -6
  627. package/dist/components/Separator/Separator.js.map +1 -1
  628. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  629. package/dist/components/SimpleCell/Chevron/Chevron.js +1 -1
  630. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  631. package/dist/components/SimpleCell/SimpleCell.d.ts +5 -5
  632. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  633. package/dist/components/SimpleGrid/SimpleGrid.d.ts +4 -4
  634. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  635. package/dist/components/Skeleton/Skeleton.d.ts +4 -4
  636. package/dist/components/Skeleton/Skeleton.js +5 -5
  637. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  638. package/dist/components/Slider/Slider.d.ts +41 -2
  639. package/dist/components/Slider/Slider.d.ts.map +1 -1
  640. package/dist/components/Slider/Slider.js.map +1 -1
  641. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  642. package/dist/components/Slider/SliderThumb/SliderThumb.js +1 -1
  643. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  644. package/dist/components/Slider/types.d.ts.map +1 -1
  645. package/dist/components/Slider/types.js +1 -1
  646. package/dist/components/Slider/types.js.map +1 -1
  647. package/dist/components/Snackbar/Snackbar.d.ts +4 -4
  648. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  649. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
  650. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  651. package/dist/components/Snackbar/types.d.ts.map +1 -1
  652. package/dist/components/Snackbar/types.js +1 -1
  653. package/dist/components/Snackbar/types.js.map +1 -1
  654. package/dist/components/Spacing/Spacing.d.ts +3 -3
  655. package/dist/components/Spacing/Spacing.js.map +1 -1
  656. package/dist/components/Spinner/Spinner.d.ts +8 -2
  657. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  658. package/dist/components/Spinner/Spinner.js +7 -3
  659. package/dist/components/Spinner/Spinner.js.map +1 -1
  660. package/dist/components/Spinner/SpinnerAnimation.d.ts.map +1 -1
  661. package/dist/components/Spinner/SpinnerAnimation.js +1 -1
  662. package/dist/components/Spinner/SpinnerAnimation.js.map +1 -1
  663. package/dist/components/Spinner/icons.d.ts +6 -0
  664. package/dist/components/Spinner/icons.d.ts.map +1 -0
  665. package/dist/components/Spinner/icons.js +52 -0
  666. package/dist/components/Spinner/icons.js.map +1 -0
  667. package/dist/components/SplitCol/SplitCol.d.ts +15 -3
  668. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  669. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  670. package/dist/components/SplitCol/SplitColContext.d.ts.map +1 -1
  671. package/dist/components/SplitCol/SplitColContext.js +1 -1
  672. package/dist/components/SplitCol/SplitColContext.js.map +1 -1
  673. package/dist/components/SplitLayout/SplitLayout.d.ts +5 -2
  674. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  675. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  676. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +3 -0
  677. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  678. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  679. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +18 -3
  680. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  681. package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -2
  682. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  683. package/dist/components/Tabbar/Tabbar.d.ts +2 -2
  684. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  685. package/dist/components/TabbarItem/TabbarItem.d.ts +5 -2
  686. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  687. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  688. package/dist/components/Tabs/Tabs.d.ts +6 -6
  689. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  690. package/dist/components/Tabs/Tabs.js +1 -4
  691. package/dist/components/Tabs/Tabs.js.map +1 -1
  692. package/dist/components/TabsItem/TabsItem.d.ts +9 -3
  693. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  694. package/dist/components/TabsItem/TabsItem.js +4 -9
  695. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  696. package/dist/components/Tappable/Ripple.d.ts +1 -1
  697. package/dist/components/Tappable/Ripple.d.ts.map +1 -1
  698. package/dist/components/Tappable/Ripple.js +3 -3
  699. package/dist/components/Tappable/Ripple.js.map +1 -1
  700. package/dist/components/Tappable/Tappable.d.ts +13 -1
  701. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  702. package/dist/components/Tappable/Tappable.js.map +1 -1
  703. package/dist/components/Tappable/state.d.ts +5 -5
  704. package/dist/components/Tappable/state.js +3 -3
  705. package/dist/components/Tappable/state.js.map +1 -1
  706. package/dist/components/Textarea/Textarea.d.ts +9 -0
  707. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  708. package/dist/components/Textarea/Textarea.js.map +1 -1
  709. package/dist/components/ToolButton/ToolButton.d.ts +9 -0
  710. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  711. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  712. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  713. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  714. package/dist/components/Tooltip/useTooltip.d.ts +9 -0
  715. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  716. package/dist/components/Tooltip/useTooltip.js.map +1 -1
  717. package/dist/components/TooltipBase/TooltipBase.d.ts +5 -5
  718. package/dist/components/TooltipBase/TooltipBase.js +1 -1
  719. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  720. package/dist/components/Touch/Touch.d.ts +100 -2
  721. package/dist/components/Touch/Touch.d.ts.map +1 -1
  722. package/dist/components/Touch/Touch.js +2 -2
  723. package/dist/components/Touch/Touch.js.map +1 -1
  724. package/dist/components/Touch/TouchContext.d.ts +1 -1
  725. package/dist/components/Touch/TouchContext.js +1 -1
  726. package/dist/components/Touch/TouchContext.js.map +1 -1
  727. package/dist/components/Typography/Caption/Caption.d.ts +3 -0
  728. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  729. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  730. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +3 -0
  731. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  732. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  733. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
  734. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  735. package/dist/components/Typography/Headline/Headline.d.ts +3 -0
  736. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  737. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  738. package/dist/components/Typography/Title/Title.d.ts +3 -0
  739. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  740. package/dist/components/Typography/Title/Title.js.map +1 -1
  741. package/dist/components/Typography/Typography.d.ts +6 -3
  742. package/dist/components/Typography/Typography.d.ts.map +1 -1
  743. package/dist/components/Typography/Typography.js.map +1 -1
  744. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +6 -0
  745. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  746. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  747. package/dist/components/UsersStack/UsersStack.d.ts +16 -4
  748. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  749. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  750. package/dist/components/View/View.d.ts +15 -3
  751. package/dist/components/View/View.d.ts.map +1 -1
  752. package/dist/components/View/View.js.map +1 -1
  753. package/dist/components/View/ViewInfinite.d.ts +15 -3
  754. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  755. package/dist/components/View/ViewInfinite.js +1 -1
  756. package/dist/components/View/ViewInfinite.js.map +1 -1
  757. package/dist/components/View/useLayoutEffectCall.d.ts +1 -1
  758. package/dist/components/View/useLayoutEffectCall.js +1 -1
  759. package/dist/components/View/useLayoutEffectCall.js.map +1 -1
  760. package/dist/components/WriteBar/WriteBar.d.ts +7 -4
  761. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  762. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  763. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  764. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -2
  765. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  766. package/dist/components.css +1 -1
  767. package/dist/components.css.map +1 -1
  768. package/dist/cssm/components/Accordion/Accordion.js +5 -3
  769. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  770. package/dist/cssm/components/Accordion/AccordionContent.js +0 -1
  771. package/dist/cssm/components/Accordion/AccordionContent.js.map +1 -1
  772. package/dist/cssm/components/Accordion/AccordionContext.js.map +1 -1
  773. package/dist/cssm/components/Accordion/AccordionSummary.js +0 -1
  774. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  775. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  776. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  777. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +3 -3
  778. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  779. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  780. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  781. package/dist/cssm/components/ActionSheetItem/helpers.js +2 -2
  782. package/dist/cssm/components/ActionSheetItem/helpers.js.map +1 -1
  783. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  784. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  785. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  786. package/dist/cssm/components/Alert/Alert.module.css +2 -2
  787. package/dist/cssm/components/Alert/AlertAction.js.map +1 -1
  788. package/dist/cssm/components/Alert/AlertActions.js.map +1 -1
  789. package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
  790. package/dist/cssm/components/Alert/AlertTypography.js +1 -1
  791. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  792. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  793. package/dist/cssm/components/AppRoot/AppRootContext.js +2 -2
  794. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  795. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  796. package/dist/cssm/components/AppRoot/ScrollContext.js +4 -4
  797. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  798. package/dist/cssm/components/AppRoot/types.js +1 -1
  799. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  800. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  801. package/dist/cssm/components/Avatar/Avatar.js +6 -4
  802. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  803. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js +0 -1
  804. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  805. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +0 -1
  806. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  807. package/dist/cssm/components/Avatar/AvatarBadge/icons.js +1 -1
  808. package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
  809. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  810. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  811. package/dist/cssm/components/Button/Button.js.map +1 -1
  812. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +0 -1
  813. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  814. package/dist/cssm/components/Calendar/Calendar.js +71 -13
  815. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  816. package/dist/cssm/components/CalendarDay/CalendarDay.js +29 -10
  817. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  818. package/dist/cssm/components/CalendarDays/CalendarDays.js +73 -45
  819. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  820. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +9 -2
  821. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  822. package/dist/cssm/components/CalendarRange/CalendarRange.js +16 -6
  823. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  824. package/dist/cssm/components/CalendarTime/CalendarTime.js +9 -2
  825. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  826. package/dist/cssm/components/Card/Card.js.map +1 -1
  827. package/dist/cssm/components/Card/Card.module.css +2 -2
  828. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  829. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  830. package/dist/cssm/components/CarouselBase/Bullets.js +1 -2
  831. package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
  832. package/dist/cssm/components/CarouselBase/CarouselBase.js +6 -6
  833. package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
  834. package/dist/cssm/components/CarouselBase/CarouselViewPort.js +1 -1
  835. package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
  836. package/dist/cssm/components/CarouselBase/ScrollArrows.js +1 -1
  837. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  838. package/dist/cssm/components/CarouselBase/helpers.js +3 -3
  839. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  840. package/dist/cssm/components/CarouselBase/types.js +1 -1
  841. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  842. package/dist/cssm/components/Cell/Cell.js +1 -1
  843. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  844. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
  845. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  846. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  847. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js +4 -2
  848. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
  849. package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +0 -1
  850. package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -1
  851. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  852. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  853. package/dist/cssm/components/ChipsInput/ChipsInput.js +3 -2
  854. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  855. package/dist/cssm/components/ChipsInput/useChipsInput.js +40 -15
  856. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  857. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  858. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +3 -2
  859. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  860. package/dist/cssm/components/ChipsSelect/types.js +1 -1
  861. package/dist/cssm/components/ChipsSelect/types.js.map +1 -1
  862. package/dist/cssm/components/ChipsSelect/useChipsSelect.js +5 -3
  863. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  864. package/dist/cssm/components/Clickable/Clickable.js +6 -5
  865. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  866. package/dist/cssm/components/Clickable/RealClickable.js +1 -1
  867. package/dist/cssm/components/Clickable/RealClickable.js.map +1 -1
  868. package/dist/cssm/components/Clickable/useState.js +5 -5
  869. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  870. package/dist/cssm/components/Clickable/useStateWithDelay.js +1 -1
  871. package/dist/cssm/components/Clickable/useStateWithDelay.js.map +1 -1
  872. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +0 -2
  873. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  874. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  875. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  876. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  877. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  878. package/dist/cssm/components/ContentBadge/ContentBadge.js +4 -2
  879. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  880. package/dist/cssm/components/ContentBadge/ContentBadgeContext.js +1 -1
  881. package/dist/cssm/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  882. package/dist/cssm/components/ContentBadge/ContentBadgeSlotIcon.js +0 -1
  883. package/dist/cssm/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
  884. package/dist/cssm/components/ContentCard/ContentCard.js +2 -2
  885. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  886. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  887. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  888. package/dist/cssm/components/CustomSelect/CustomSelect.js +9 -2
  889. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  890. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  891. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +1 -1
  892. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  893. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -1
  894. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  895. package/dist/cssm/components/DateInput/DateInput.js +132 -56
  896. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  897. package/dist/cssm/components/DateInput/hooks.js +1 -1
  898. package/dist/cssm/components/DateInput/hooks.js.map +1 -1
  899. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  900. package/dist/cssm/components/DirectionProvider/DirectionProvider.js +1 -1
  901. package/dist/cssm/components/DirectionProvider/DirectionProvider.js.map +1 -1
  902. package/dist/cssm/components/DropZone/DropZone.js +4 -2
  903. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  904. package/dist/cssm/components/DropZone/components/DropZoneGrid.js +0 -1
  905. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +1 -1
  906. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +1 -1
  907. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  908. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  909. package/dist/cssm/components/Epic/ScrollSaver.js +1 -1
  910. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  911. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  912. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  913. package/dist/cssm/components/FloatingArrow/DefaultIcon.js +1 -1
  914. package/dist/cssm/components/FloatingArrow/DefaultIcon.js.map +1 -1
  915. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  916. package/dist/cssm/components/FocusTrap/FocusTrap.js +3 -2
  917. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  918. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  919. package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  920. package/dist/cssm/components/FormItem/FormItem.js +6 -4
  921. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  922. package/dist/cssm/components/FormItem/FormItemTop/FormItemTop.js +0 -1
  923. package/dist/cssm/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
  924. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopAside.js +0 -1
  925. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
  926. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopLabel.js +0 -1
  927. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
  928. package/dist/cssm/components/FormItem/context.js +1 -1
  929. package/dist/cssm/components/FormItem/context.js.map +1 -1
  930. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  931. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  932. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  933. package/dist/cssm/components/Gallery/hooks.js +1 -1
  934. package/dist/cssm/components/Gallery/hooks.js.map +1 -1
  935. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  936. package/dist/cssm/components/Group/Group.js +7 -5
  937. package/dist/cssm/components/Group/Group.js.map +1 -1
  938. package/dist/cssm/components/Group/GroupContainer.js +0 -1
  939. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  940. package/dist/cssm/components/Group/GroupDescription.js +0 -2
  941. package/dist/cssm/components/Group/GroupDescription.js.map +1 -1
  942. package/dist/cssm/components/Group/GroupExpandedContent.js +1 -3
  943. package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
  944. package/dist/cssm/components/Group/GroupHeader.js +0 -2
  945. package/dist/cssm/components/Group/GroupHeader.js.map +1 -1
  946. package/dist/cssm/components/Header/Header.js.map +1 -1
  947. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  948. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +1 -2
  949. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  950. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +7 -7
  951. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  952. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  953. package/dist/cssm/components/Image/Image.js +6 -4
  954. package/dist/cssm/components/Image/Image.js.map +1 -1
  955. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js +0 -1
  956. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  957. package/dist/cssm/components/ImageBase/ImageBase.js +6 -4
  958. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  959. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +1 -2
  960. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  961. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +0 -1
  962. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  963. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +0 -1
  964. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  965. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  966. package/dist/cssm/components/ImageBase/helpers.js +3 -3
  967. package/dist/cssm/components/ImageBase/helpers.js.map +1 -1
  968. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  969. package/dist/cssm/components/ImageBase/validators.js +3 -4
  970. package/dist/cssm/components/ImageBase/validators.js.map +1 -1
  971. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  972. package/dist/cssm/components/InputLike/InputLike.js +4 -5
  973. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  974. package/dist/cssm/components/InputLike/InputLike.module.css +1 -1
  975. package/dist/cssm/components/Link/Link.js +3 -5
  976. package/dist/cssm/components/Link/Link.js.map +1 -1
  977. package/dist/cssm/components/Link/Link.module.css +2 -4
  978. package/dist/cssm/components/List/List.js.map +1 -1
  979. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
  980. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  981. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  982. package/dist/cssm/components/ModalCard/ModalCardInternal.js +1 -1
  983. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  984. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  985. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  986. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  987. package/dist/cssm/components/ModalOutlet/ModalOutlet.js +1 -1
  988. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  989. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  990. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
  991. package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +1 -1
  992. package/dist/cssm/components/ModalPage/ModalPageBase.js +1 -1
  993. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  994. package/dist/cssm/components/ModalPage/ModalPageInternal.js +1 -1
  995. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  996. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  997. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  998. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  999. package/dist/cssm/components/ModalRoot/types.js +1 -1
  1000. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  1001. package/dist/cssm/components/ModalRoot/useModalManager.js +1 -1
  1002. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  1003. package/dist/cssm/components/ModalRoot/withModalRootContext.js +2 -2
  1004. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  1005. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  1006. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +1 -1
  1007. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  1008. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  1009. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js +4 -1
  1010. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  1011. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js +1 -1
  1012. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -1
  1013. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  1014. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js +1 -1
  1015. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  1016. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js +1 -1
  1017. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  1018. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js +1 -1
  1019. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  1020. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js +1 -1
  1021. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  1022. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  1023. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -1
  1024. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  1025. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +2 -2
  1026. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  1027. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  1028. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  1029. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  1030. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  1031. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +5 -5
  1032. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  1033. package/dist/cssm/components/PanelSpinner/PanelSpinner.js +6 -2
  1034. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  1035. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  1036. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  1037. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  1038. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  1039. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  1040. package/dist/cssm/components/Popover/usePopover.js.map +1 -1
  1041. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  1042. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  1043. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  1044. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +1 -1
  1045. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
  1046. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  1047. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  1048. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  1049. package/dist/cssm/components/Removable/Removable.js +1 -1
  1050. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  1051. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  1052. package/dist/cssm/components/Root/Root.js +1 -1
  1053. package/dist/cssm/components/Root/Root.js.map +1 -1
  1054. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  1055. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +6 -4
  1056. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  1057. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.js +0 -2
  1058. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
  1059. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.js +0 -1
  1060. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
  1061. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js +1 -3
  1062. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  1063. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  1064. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  1065. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  1066. package/dist/cssm/components/Search/Search.js.map +1 -1
  1067. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  1068. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +2 -2
  1069. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -1
  1070. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  1071. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  1072. package/dist/cssm/components/SelectTypography/SelectTypography.js +1 -1
  1073. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  1074. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +1 -1
  1075. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  1076. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  1077. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js +1 -1
  1078. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  1079. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  1080. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  1081. package/dist/cssm/components/Skeleton/Skeleton.js +5 -5
  1082. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  1083. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  1084. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +1 -1
  1085. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  1086. package/dist/cssm/components/Slider/types.js +1 -1
  1087. package/dist/cssm/components/Slider/types.js.map +1 -1
  1088. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  1089. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  1090. package/dist/cssm/components/Snackbar/types.js +1 -1
  1091. package/dist/cssm/components/Snackbar/types.js.map +1 -1
  1092. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  1093. package/dist/cssm/components/Spinner/Spinner.js +7 -3
  1094. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  1095. package/dist/cssm/components/Spinner/SpinnerAnimation.js +1 -1
  1096. package/dist/cssm/components/Spinner/SpinnerAnimation.js.map +1 -1
  1097. package/dist/cssm/components/Spinner/icons.js +52 -0
  1098. package/dist/cssm/components/Spinner/icons.js.map +1 -0
  1099. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  1100. package/dist/cssm/components/SplitCol/SplitColContext.js +1 -1
  1101. package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
  1102. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  1103. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  1104. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  1105. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  1106. package/dist/cssm/components/Switch/Switch.module.css +3 -3
  1107. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  1108. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1109. package/dist/cssm/components/Tabs/Tabs.js +1 -4
  1110. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1111. package/dist/cssm/components/TabsItem/TabsItem.js +3 -6
  1112. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1113. package/dist/cssm/components/Tappable/Ripple.js +3 -3
  1114. package/dist/cssm/components/Tappable/Ripple.js.map +1 -1
  1115. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  1116. package/dist/cssm/components/Tappable/state.js +3 -3
  1117. package/dist/cssm/components/Tappable/state.js.map +1 -1
  1118. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  1119. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  1120. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1121. package/dist/cssm/components/Tooltip/useTooltip.js.map +1 -1
  1122. package/dist/cssm/components/TooltipBase/TooltipBase.js +1 -1
  1123. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  1124. package/dist/cssm/components/Touch/Touch.js +2 -2
  1125. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  1126. package/dist/cssm/components/Touch/TouchContext.js +1 -1
  1127. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  1128. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1129. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  1130. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  1131. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1132. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1133. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  1134. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  1135. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1136. package/dist/cssm/components/View/View.js.map +1 -1
  1137. package/dist/cssm/components/View/View.module.css +1 -1
  1138. package/dist/cssm/components/View/ViewInfinite.js +1 -1
  1139. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1140. package/dist/cssm/components/View/useLayoutEffectCall.js +1 -1
  1141. package/dist/cssm/components/View/useLayoutEffectCall.js.map +1 -1
  1142. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  1143. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  1144. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1145. package/dist/cssm/hooks/useCalendar.js +6 -0
  1146. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  1147. package/dist/cssm/hooks/useDateInput.js +62 -26
  1148. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  1149. package/dist/cssm/hooks/useFocusTrap.js +18 -8
  1150. package/dist/cssm/hooks/useFocusTrap.js.map +1 -1
  1151. package/dist/cssm/hooks/useLocale.js +7 -0
  1152. package/dist/cssm/hooks/useLocale.js.map +1 -0
  1153. package/dist/cssm/index.js +1 -0
  1154. package/dist/cssm/index.js.map +1 -1
  1155. package/dist/cssm/lib/calendar.js +25 -3
  1156. package/dist/cssm/lib/calendar.js.map +1 -1
  1157. package/dist/cssm/lib/platform.js +5 -1
  1158. package/dist/cssm/lib/platform.js.map +1 -1
  1159. package/dist/cssm/lib/react/defineComponentDisplayNames.js +8 -0
  1160. package/dist/cssm/lib/react/defineComponentDisplayNames.js.map +1 -0
  1161. package/dist/hooks/useCalendar.d.ts +2 -0
  1162. package/dist/hooks/useCalendar.d.ts.map +1 -1
  1163. package/dist/hooks/useCalendar.js +6 -0
  1164. package/dist/hooks/useCalendar.js.map +1 -1
  1165. package/dist/hooks/useDateInput.d.ts +3 -1
  1166. package/dist/hooks/useDateInput.d.ts.map +1 -1
  1167. package/dist/hooks/useDateInput.js +63 -27
  1168. package/dist/hooks/useDateInput.js.map +1 -1
  1169. package/dist/hooks/useFocusTrap.d.ts +9 -1
  1170. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  1171. package/dist/hooks/useFocusTrap.js +18 -8
  1172. package/dist/hooks/useFocusTrap.js.map +1 -1
  1173. package/dist/hooks/useLocale.d.ts +2 -0
  1174. package/dist/hooks/useLocale.d.ts.map +1 -0
  1175. package/dist/hooks/useLocale.js +7 -0
  1176. package/dist/hooks/useLocale.js.map +1 -0
  1177. package/dist/index.d.ts +1 -0
  1178. package/dist/index.d.ts.map +1 -1
  1179. package/dist/index.js +1 -0
  1180. package/dist/index.js.map +1 -1
  1181. package/dist/lib/calendar.d.ts +4 -1
  1182. package/dist/lib/calendar.d.ts.map +1 -1
  1183. package/dist/lib/calendar.js +25 -3
  1184. package/dist/lib/calendar.js.map +1 -1
  1185. package/dist/lib/platform.d.ts +5 -3
  1186. package/dist/lib/platform.d.ts.map +1 -1
  1187. package/dist/lib/platform.js +5 -1
  1188. package/dist/lib/platform.js.map +1 -1
  1189. package/dist/lib/react/defineComponentDisplayNames.d.ts +2 -0
  1190. package/dist/lib/react/defineComponentDisplayNames.d.ts.map +1 -0
  1191. package/dist/lib/react/defineComponentDisplayNames.js +8 -0
  1192. package/dist/lib/react/defineComponentDisplayNames.js.map +1 -0
  1193. package/dist/vkui.css +1 -1
  1194. package/dist/vkui.css.map +1 -1
  1195. package/package.json +13 -9
  1196. package/src/components/Accordion/Accordion.module.css.d.ts.map +1 -0
  1197. package/src/components/Accordion/Accordion.tsx +12 -5
  1198. package/src/components/Accordion/AccordionContent.tsx +2 -4
  1199. package/src/components/Accordion/AccordionContext.tsx +13 -0
  1200. package/src/components/Accordion/AccordionSummary.tsx +1 -3
  1201. package/src/components/ActionSheet/ActionSheet.module.css.d.ts.map +1 -0
  1202. package/src/components/ActionSheet/ActionSheet.tsx +29 -2
  1203. package/src/components/ActionSheet/ActionSheetContext.ts +23 -0
  1204. package/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx +6 -3
  1205. package/src/components/ActionSheet/types.ts +8 -5
  1206. package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -0
  1207. package/src/components/ActionSheetItem/ActionSheetItem.tsx +40 -8
  1208. package/src/components/ActionSheetItem/helpers.ts +2 -2
  1209. package/src/components/ActionSheetItem/subcomponents/Radio/Radio.module.css.d.ts.map +1 -0
  1210. package/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx +6 -0
  1211. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +12 -4
  1212. package/src/components/Alert/Alert.module.css +2 -2
  1213. package/src/components/Alert/Alert.module.css.d.ts.map +1 -0
  1214. package/src/components/Alert/Alert.tsx +42 -13
  1215. package/src/components/Alert/AlertAction.tsx +6 -0
  1216. package/src/components/Alert/AlertActions.tsx +3 -0
  1217. package/src/components/Alert/AlertBase.tsx +8 -0
  1218. package/src/components/Alert/AlertTypography.tsx +1 -0
  1219. package/src/components/AppRoot/AppRoot.module.css.d.ts.map +1 -0
  1220. package/src/components/AppRoot/AppRoot.tsx +7 -5
  1221. package/src/components/AppRoot/AppRootContext.ts +3 -1
  1222. package/src/components/AppRoot/AppRootPortal.tsx +11 -4
  1223. package/src/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.module.css.d.ts.map +1 -0
  1224. package/src/components/AppRoot/ScrollContext.tsx +6 -5
  1225. package/src/components/AppRoot/types.ts +2 -0
  1226. package/src/components/AspectRatio/AspectRatio.module.css.d.ts.map +1 -0
  1227. package/src/components/AspectRatio/AspectRatio.tsx +4 -1
  1228. package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -0
  1229. package/src/components/Avatar/Avatar.tsx +8 -9
  1230. package/src/components/Avatar/AvatarBadge/AvatarBadge.module.css.d.ts.map +1 -0
  1231. package/src/components/Avatar/AvatarBadge/AvatarBadge.tsx +1 -6
  1232. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -3
  1233. package/src/components/Avatar/AvatarBadge/icons.tsx +2 -0
  1234. package/src/components/Badge/Badge.module.css.d.ts.map +1 -0
  1235. package/src/components/Badge/Badge.tsx +3 -0
  1236. package/src/components/Banner/Banner.module.css.d.ts.map +1 -0
  1237. package/src/components/Banner/Banner.tsx +8 -5
  1238. package/src/components/Button/Button.module.css.d.ts.map +1 -0
  1239. package/src/components/Button/Button.tsx +27 -0
  1240. package/src/components/ButtonGroup/ButtonGroup.module.css.d.ts.map +1 -0
  1241. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -2
  1242. package/src/components/Calendar/Calendar.module.css.d.ts.map +1 -0
  1243. package/src/components/Calendar/Calendar.tsx +128 -20
  1244. package/src/components/CalendarDay/CalendarDay.module.css.d.ts.map +1 -0
  1245. package/src/components/CalendarDay/CalendarDay.tsx +93 -11
  1246. package/src/components/CalendarDays/CalendarDays.module.css.d.ts.map +1 -0
  1247. package/src/components/CalendarDays/CalendarDays.tsx +165 -48
  1248. package/src/components/CalendarHeader/CalendarHeader.module.css.d.ts.map +1 -0
  1249. package/src/components/CalendarHeader/CalendarHeader.tsx +56 -6
  1250. package/src/components/CalendarRange/CalendarRange.module.css.d.ts.map +1 -0
  1251. package/src/components/CalendarRange/CalendarRange.tsx +62 -13
  1252. package/src/components/CalendarTime/CalendarTime.module.css.d.ts.map +1 -0
  1253. package/src/components/CalendarTime/CalendarTime.tsx +48 -6
  1254. package/src/components/Card/Card.module.css +2 -2
  1255. package/src/components/Card/Card.module.css.d.ts.map +1 -0
  1256. package/src/components/Card/Card.tsx +3 -0
  1257. package/src/components/CardGrid/CardGrid.module.css.d.ts.map +1 -0
  1258. package/src/components/CardGrid/CardGrid.tsx +4 -1
  1259. package/src/components/CardScroll/CardScroll.module.css.d.ts.map +1 -0
  1260. package/src/components/CardScroll/CardScroll.tsx +2 -2
  1261. package/src/components/CarouselBase/Bullets.tsx +4 -3
  1262. package/src/components/CarouselBase/CarouselBase.module.css.d.ts.map +1 -0
  1263. package/src/components/CarouselBase/CarouselBase.tsx +6 -6
  1264. package/src/components/CarouselBase/CarouselViewPort.tsx +3 -2
  1265. package/src/components/CarouselBase/ScrollArrows.tsx +5 -4
  1266. package/src/components/CarouselBase/helpers.ts +3 -2
  1267. package/src/components/CarouselBase/types.ts +22 -20
  1268. package/src/components/Cell/Cell.module.css.d.ts.map +1 -0
  1269. package/src/components/Cell/Cell.tsx +13 -8
  1270. package/src/components/Cell/CellCheckbox/CellCheckbox.module.css.d.ts.map +1 -0
  1271. package/src/components/Cell/CellDragger/CellDragger.module.css.d.ts.map +1 -0
  1272. package/src/components/Cell/CellDragger/CellDragger.tsx +1 -0
  1273. package/src/components/CellButton/CellButton.module.css.d.ts.map +1 -0
  1274. package/src/components/CellButton/CellButton.tsx +3 -0
  1275. package/src/components/CellButtonGroup/CellButtonGroup.tsx +5 -3
  1276. package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.module.css.d.ts.map +1 -0
  1277. package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.tsx +0 -2
  1278. package/src/components/Checkbox/Checkbox.tsx +6 -0
  1279. package/src/components/Checkbox/CheckboxInput/CheckboxInput.module.css.d.ts.map +1 -0
  1280. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +21 -0
  1281. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css.d.ts.map +1 -0
  1282. package/src/components/ChipsInput/ChipsInput.tsx +3 -1
  1283. package/src/components/ChipsInput/useChipsInput.ts +53 -19
  1284. package/src/components/ChipsInputBase/Chip/Chip.module.css.d.ts.map +1 -0
  1285. package/src/components/ChipsInputBase/ChipsInputBase.module.css.d.ts.map +1 -0
  1286. package/src/components/ChipsInputBase/types.ts +86 -6
  1287. package/src/components/ChipsSelect/ChipsSelect.module.css.d.ts.map +1 -0
  1288. package/src/components/ChipsSelect/ChipsSelect.tsx +17 -10
  1289. package/src/components/ChipsSelect/types.ts +2 -0
  1290. package/src/components/ChipsSelect/useChipsSelect.ts +17 -6
  1291. package/src/components/Clickable/Clickable.module.css.d.ts.map +1 -0
  1292. package/src/components/Clickable/Clickable.tsx +6 -5
  1293. package/src/components/Clickable/RealClickable.tsx +1 -1
  1294. package/src/components/Clickable/useState.tsx +16 -14
  1295. package/src/components/Clickable/useStateWithDelay.tsx +1 -1
  1296. package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +6 -4
  1297. package/src/components/ConfigProvider/ConfigProvider.tsx +3 -0
  1298. package/src/components/ConfigProvider/ConfigProviderContext.tsx +7 -7
  1299. package/src/components/ConfigProvider/ConfigProviderOverride.tsx +4 -1
  1300. package/src/components/ContentBadge/ContentBadge.module.css.d.ts.map +1 -0
  1301. package/src/components/ContentBadge/ContentBadge.tsx +7 -5
  1302. package/src/components/ContentBadge/ContentBadgeContext.tsx +1 -0
  1303. package/src/components/ContentBadge/ContentBadgeSlotIcon.tsx +1 -3
  1304. package/src/components/ContentCard/ContentCard.module.css.d.ts.map +1 -0
  1305. package/src/components/ContentCard/ContentCard.tsx +12 -9
  1306. package/src/components/Counter/Counter.module.css.d.ts.map +1 -0
  1307. package/src/components/Counter/Counter.tsx +6 -4
  1308. package/src/components/CustomScrollView/CustomScrollView.module.css.d.ts.map +1 -0
  1309. package/src/components/CustomScrollView/CustomScrollView.tsx +14 -5
  1310. package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -0
  1311. package/src/components/CustomSelect/CustomSelect.tsx +57 -13
  1312. package/src/components/CustomSelect/CustomSelectClearButton.tsx +9 -0
  1313. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css.d.ts.map +1 -0
  1314. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +1 -0
  1315. package/src/components/CustomSelectDropdown/CustomSelectDropdown.module.css.d.ts.map +1 -0
  1316. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +4 -2
  1317. package/src/components/CustomSelectOption/CustomSelectOption.module.css.d.ts.map +1 -0
  1318. package/src/components/DateInput/DateInput.module.css.d.ts.map +1 -0
  1319. package/src/components/DateInput/DateInput.tsx +196 -74
  1320. package/src/components/DateInput/hooks.ts +2 -0
  1321. package/src/components/DateRangeInput/DateRangeInput.module.css.d.ts.map +1 -0
  1322. package/src/components/DateRangeInput/DateRangeInput.tsx +42 -6
  1323. package/src/components/DirectionProvider/DirectionProvider.tsx +7 -1
  1324. package/src/components/Div/Div.module.css.d.ts.map +1 -0
  1325. package/src/components/DropZone/DropZone.module.css.d.ts.map +1 -0
  1326. package/src/components/DropZone/DropZone.tsx +11 -3
  1327. package/src/components/DropZone/components/DropZoneGrid.module.css.d.ts.map +1 -0
  1328. package/src/components/DropZone/components/DropZoneGrid.tsx +4 -6
  1329. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -0
  1330. package/src/components/Epic/Epic.module.css.d.ts.map +1 -0
  1331. package/src/components/Epic/Epic.tsx +10 -0
  1332. package/src/components/Epic/ScrollSaver.tsx +1 -0
  1333. package/src/components/FixedLayout/FixedLayout.module.css.d.ts.map +1 -0
  1334. package/src/components/FixedLayout/FixedLayout.tsx +3 -7
  1335. package/src/components/Flex/Flex.module.css.d.ts.map +1 -0
  1336. package/src/components/Flex/FlexItem/FlexItem.module.css.d.ts.map +1 -0
  1337. package/src/components/Flex/FlexItem/FlexItem.tsx +3 -3
  1338. package/src/components/FloatingArrow/DefaultIcon.tsx +1 -1
  1339. package/src/components/FloatingArrow/FloatingArrow.module.css.d.ts.map +1 -0
  1340. package/src/components/FloatingArrow/FloatingArrow.tsx +17 -0
  1341. package/src/components/FocusTrap/FocusTrap.tsx +2 -0
  1342. package/src/components/Footer/Footer.module.css.d.ts.map +1 -0
  1343. package/src/components/FormField/FormField.module.css.d.ts.map +1 -0
  1344. package/src/components/FormField/FormField.tsx +11 -5
  1345. package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +9 -0
  1346. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -0
  1347. package/src/components/FormItem/FormItem.tsx +24 -10
  1348. package/src/components/FormItem/FormItemTop/FormItemTop.tsx +1 -3
  1349. package/src/components/FormItem/FormItemTop/FormItemTopAside.tsx +1 -6
  1350. package/src/components/FormItem/FormItemTop/FormItemTopLabel.tsx +1 -3
  1351. package/src/components/FormItem/context.ts +2 -0
  1352. package/src/components/FormLayoutGroup/FormLayoutGroup.module.css.d.ts.map +1 -0
  1353. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +3 -0
  1354. package/src/components/FormStatus/FormStatus.module.css.d.ts.map +1 -0
  1355. package/src/components/FormStatus/FormStatus.tsx +6 -0
  1356. package/src/components/Gallery/Gallery.tsx +6 -0
  1357. package/src/components/Gallery/hooks.ts +2 -0
  1358. package/src/components/Gradient/Gradient.module.css.d.ts.map +1 -0
  1359. package/src/components/Gradient/Gradient.tsx +2 -2
  1360. package/src/components/GridAvatar/GridAvatar.module.css.d.ts.map +1 -0
  1361. package/src/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css.d.ts.map +1 -0
  1362. package/src/components/Group/Group.module.css.d.ts.map +1 -0
  1363. package/src/components/Group/Group.tsx +14 -5
  1364. package/src/components/Group/GroupContainer.tsx +1 -2
  1365. package/src/components/Group/GroupDescription.tsx +2 -6
  1366. package/src/components/Group/GroupExpandedContent.tsx +5 -8
  1367. package/src/components/Group/GroupHeader.tsx +1 -6
  1368. package/src/components/Header/Header.module.css.d.ts.map +1 -0
  1369. package/src/components/Header/Header.tsx +19 -8
  1370. package/src/components/HorizontalCell/HorizontalCell.module.css.d.ts.map +1 -0
  1371. package/src/components/HorizontalCell/HorizontalCell.tsx +5 -5
  1372. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css.d.ts.map +1 -0
  1373. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +3 -3
  1374. package/src/components/HorizontalScroll/HorizontalScroll.module.css.d.ts.map +1 -0
  1375. package/src/components/HorizontalScroll/HorizontalScroll.tsx +26 -15
  1376. package/src/components/IconButton/IconButton.module.css.d.ts.map +1 -0
  1377. package/src/components/IconButton/IconButton.tsx +1 -1
  1378. package/src/components/Image/Image.module.css.d.ts.map +1 -0
  1379. package/src/components/Image/Image.tsx +11 -11
  1380. package/src/components/Image/ImageBadge/ImageBadge.module.css.d.ts.map +1 -0
  1381. package/src/components/Image/ImageBadge/ImageBadge.tsx +1 -6
  1382. package/src/components/ImageBase/ImageBase.module.css.d.ts.map +1 -0
  1383. package/src/components/ImageBase/ImageBase.tsx +14 -15
  1384. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css.d.ts.map +1 -0
  1385. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +2 -7
  1386. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css.d.ts.map +1 -0
  1387. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +4 -6
  1388. package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css.d.ts.map +1 -0
  1389. package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.tsx +1 -3
  1390. package/src/components/ImageBase/ImageBaseOverlay/types.ts +6 -0
  1391. package/src/components/ImageBase/helpers.ts +3 -3
  1392. package/src/components/ImageBase/types.ts +18 -0
  1393. package/src/components/ImageBase/validators.ts +4 -3
  1394. package/src/components/InfoRow/InfoRow.module.css.d.ts.map +1 -0
  1395. package/src/components/InfoRow/InfoRow.tsx +3 -0
  1396. package/src/components/Input/Input.module.css.d.ts.map +1 -0
  1397. package/src/components/InputLike/InputLike.module.css +1 -1
  1398. package/src/components/InputLike/InputLike.module.css.d.ts.map +1 -0
  1399. package/src/components/InputLike/InputLike.tsx +5 -6
  1400. package/src/components/Link/Link.module.css +2 -4
  1401. package/src/components/Link/Link.module.css.d.ts.map +1 -0
  1402. package/src/components/Link/Link.tsx +4 -6
  1403. package/src/components/List/List.module.css.d.ts.map +1 -0
  1404. package/src/components/List/List.tsx +1 -1
  1405. package/src/components/LocaleProvider/LocaleProvider.tsx +5 -2
  1406. package/src/components/Mark/Mark.module.css.d.ts.map +1 -0
  1407. package/src/components/MiniInfoCell/MiniInfoCell.module.css.d.ts.map +1 -0
  1408. package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
  1409. package/src/components/ModalCard/ModalCard.module.css.d.ts.map +1 -0
  1410. package/src/components/ModalCard/ModalCardInternal.tsx +1 -0
  1411. package/src/components/ModalCard/types.ts +1 -1
  1412. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -0
  1413. package/src/components/ModalCardBase/ModalCardBase.tsx +26 -18
  1414. package/src/components/ModalDismissButton/ModalDismissButton.module.css.d.ts.map +1 -0
  1415. package/src/components/ModalDismissButton/ModalDismissButton.tsx +3 -0
  1416. package/src/components/ModalOutlet/ModalOutlet.module.css.d.ts.map +1 -0
  1417. package/src/components/ModalOutlet/ModalOutlet.tsx +2 -0
  1418. package/src/components/ModalOutsideButton/ModalOutsideButton.module.css.d.ts.map +1 -0
  1419. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +2 -2
  1420. package/src/components/ModalOutsideButtons/ModalOutsideButtons.module.css.d.ts.map +1 -0
  1421. package/src/components/ModalOverlay/ModalOverlay.module.css +1 -1
  1422. package/src/components/ModalOverlay/ModalOverlay.module.css.d.ts.map +1 -0
  1423. package/src/components/ModalOverlay/ModalOverlay.tsx +1 -0
  1424. package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -0
  1425. package/src/components/ModalPage/ModalPageBase.tsx +3 -2
  1426. package/src/components/ModalPage/ModalPageInternal.tsx +1 -0
  1427. package/src/components/ModalPage/types.ts +11 -8
  1428. package/src/components/ModalPageContent/ModalPageContent.module.css.d.ts.map +1 -0
  1429. package/src/components/ModalPageFooter/ModalPageFooter.module.css.d.ts.map +1 -0
  1430. package/src/components/ModalPageFooter/ModalPageFooter.tsx +6 -0
  1431. package/src/components/ModalPageHeader/ModalPageHeader.module.css.d.ts.map +1 -0
  1432. package/src/components/ModalPageHeader/ModalPageHeader.tsx +3 -0
  1433. package/src/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.module.css.d.ts.map +1 -0
  1434. package/src/components/ModalRoot/types.ts +21 -16
  1435. package/src/components/ModalRoot/useModalManager.tsx +2 -0
  1436. package/src/components/ModalRoot/withModalRootContext.tsx +2 -2
  1437. package/src/components/NativeSelect/NativeSelect.tsx +15 -6
  1438. package/src/components/NavTransitionContext/NavTransitionContext.tsx +1 -0
  1439. package/src/components/OnboardingTooltip/OnboardingTooltip.module.css.d.ts.map +1 -0
  1440. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +2 -2
  1441. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +8 -1
  1442. package/src/components/OnboardingTooltip/OnboardingTooltipContext.tsx +2 -0
  1443. package/src/components/Pagination/Pagination.module.css.d.ts.map +1 -0
  1444. package/src/components/Pagination/Pagination.tsx +10 -4
  1445. package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +2 -0
  1446. package/src/components/Pagination/PaginationPage/PaginationPage.module.css.d.ts.map +1 -0
  1447. package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +2 -0
  1448. package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -0
  1449. package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +2 -0
  1450. package/src/components/Panel/Panel.module.css.d.ts.map +1 -0
  1451. package/src/components/Panel/Panel.tsx +4 -1
  1452. package/src/components/PanelHeader/PanelHeader.module.css +2 -2
  1453. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -0
  1454. package/src/components/PanelHeader/PanelHeader.tsx +15 -2
  1455. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +6 -0
  1456. package/src/components/PanelHeaderButton/PanelHeaderButton.module.css.d.ts.map +1 -0
  1457. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +13 -3
  1458. package/src/components/PanelHeaderContent/PanelHeaderContent.module.css.d.ts.map +1 -0
  1459. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +15 -0
  1460. package/src/components/PanelHeaderContext/PanelHeaderContext.module.css +5 -5
  1461. package/src/components/PanelHeaderContext/PanelHeaderContext.module.css.d.ts.map +1 -0
  1462. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +8 -0
  1463. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
  1464. package/src/components/PanelSpinner/PanelSpinner.tsx +9 -2
  1465. package/src/components/Placeholder/Placeholder.module.css.d.ts.map +1 -0
  1466. package/src/components/Placeholder/Placeholder.tsx +5 -5
  1467. package/src/components/PlatformProvider/PlatformProvider.tsx +5 -2
  1468. package/src/components/PopoutWrapper/PopoutWrapper.module.css.d.ts.map +1 -0
  1469. package/src/components/PopoutWrapper/PopoutWrapper.tsx +4 -4
  1470. package/src/components/Popover/Popover.module.css.d.ts.map +1 -0
  1471. package/src/components/Popover/Popover.tsx +7 -4
  1472. package/src/components/Popover/usePopover.tsx +9 -0
  1473. package/src/components/Popper/Popper.module.css.d.ts.map +1 -0
  1474. package/src/components/Popper/Popper.tsx +4 -1
  1475. package/src/components/Progress/Progress.module.css.d.ts.map +1 -0
  1476. package/src/components/Progress/Progress.tsx +6 -3
  1477. package/src/components/PullToRefresh/PullToRefresh.module.css +1 -1
  1478. package/src/components/PullToRefresh/PullToRefresh.module.css.d.ts.map +1 -0
  1479. package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
  1480. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +2 -0
  1481. package/src/components/Radio/Radio.module.css.d.ts.map +1 -0
  1482. package/src/components/Radio/Radio.tsx +7 -1
  1483. package/src/components/Radio/RadioInput/RadioInput.module.css.d.ts.map +1 -0
  1484. package/src/components/RadioGroup/RadioGroup.module.css.d.ts.map +1 -0
  1485. package/src/components/RadioGroup/RadioGroup.tsx +3 -0
  1486. package/src/components/Removable/Removable.module.css.d.ts.map +1 -0
  1487. package/src/components/Removable/Removable.tsx +12 -8
  1488. package/src/components/RichCell/RichCell.module.css.d.ts.map +1 -0
  1489. package/src/components/RichCell/RichCell.tsx +6 -6
  1490. package/src/components/RichCell/RichCellIcon/RichCellIcon.module.css.d.ts.map +1 -0
  1491. package/src/components/Root/Root.module.css.d.ts.map +1 -0
  1492. package/src/components/Root/Root.tsx +11 -0
  1493. package/src/components/RootComponent/RootComponent.module.css.d.ts.map +1 -0
  1494. package/src/components/RootComponent/RootComponent.tsx +12 -2
  1495. package/src/components/ScreenSpinner/ScreenSpinner.module.css.d.ts.map +1 -0
  1496. package/src/components/ScreenSpinner/ScreenSpinner.tsx +7 -7
  1497. package/src/components/ScreenSpinner/ScreenSpinnerContainer.tsx +1 -4
  1498. package/src/components/ScreenSpinner/ScreenSpinnerLoader.tsx +3 -6
  1499. package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +3 -6
  1500. package/src/components/ScreenSpinner/context.ts +9 -0
  1501. package/src/components/ScreenSpinner/types.tsx +23 -14
  1502. package/src/components/ScrollArrow/ScrollArrow.module.css.d.ts.map +1 -0
  1503. package/src/components/ScrollArrow/ScrollArrow.tsx +5 -2
  1504. package/src/components/Search/Search.module.css.d.ts.map +1 -0
  1505. package/src/components/Search/Search.tsx +24 -6
  1506. package/src/components/SegmentedControl/SegmentedControl.module.css +2 -2
  1507. package/src/components/SegmentedControl/SegmentedControl.module.css.d.ts.map +1 -0
  1508. package/src/components/SegmentedControl/SegmentedControl.tsx +25 -1
  1509. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css.d.ts.map +1 -0
  1510. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +1 -0
  1511. package/src/components/Select/Select.module.css.d.ts.map +1 -0
  1512. package/src/components/SelectMimicry/SelectMimicry.tsx +9 -0
  1513. package/src/components/SelectTypography/SelectTypography.tsx +2 -0
  1514. package/src/components/SelectionControl/SelectionControl.module.css.d.ts.map +1 -0
  1515. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css.d.ts.map +1 -0
  1516. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +1 -0
  1517. package/src/components/Separator/Separator.module.css.d.ts.map +1 -0
  1518. package/src/components/Separator/Separator.tsx +6 -6
  1519. package/src/components/SimpleCell/Chevron/Chevron.tsx +2 -0
  1520. package/src/components/SimpleCell/SimpleCell.module.css.d.ts.map +1 -0
  1521. package/src/components/SimpleCell/SimpleCell.tsx +5 -5
  1522. package/src/components/SimpleGrid/SimpleGrid.module.css.d.ts.map +1 -0
  1523. package/src/components/SimpleGrid/SimpleGrid.tsx +4 -4
  1524. package/src/components/Skeleton/Skeleton.module.css.d.ts.map +1 -0
  1525. package/src/components/Skeleton/Skeleton.tsx +9 -9
  1526. package/src/components/Slider/Slider.module.css.d.ts.map +1 -0
  1527. package/src/components/Slider/Slider.tsx +41 -2
  1528. package/src/components/Slider/SliderThumb/SliderThumb.module.css.d.ts.map +1 -0
  1529. package/src/components/Slider/SliderThumb/SliderThumb.tsx +1 -0
  1530. package/src/components/Slider/types.ts +2 -0
  1531. package/src/components/Snackbar/Snackbar.module.css.d.ts.map +1 -0
  1532. package/src/components/Snackbar/Snackbar.tsx +4 -4
  1533. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -0
  1534. package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
  1535. package/src/components/Snackbar/types.ts +2 -0
  1536. package/src/components/Spacing/Spacing.module.css.d.ts.map +1 -0
  1537. package/src/components/Spacing/Spacing.tsx +3 -3
  1538. package/src/components/Spinner/Spinner.module.css.d.ts.map +1 -0
  1539. package/src/components/Spinner/Spinner.tsx +14 -4
  1540. package/src/components/Spinner/SpinnerAnimation.tsx +1 -0
  1541. package/src/components/Spinner/icons.tsx +53 -0
  1542. package/src/components/SplitCol/SplitCol.module.css.d.ts.map +1 -0
  1543. package/src/components/SplitCol/SplitCol.tsx +15 -3
  1544. package/src/components/SplitCol/SplitColContext.tsx +2 -0
  1545. package/src/components/SplitLayout/SplitLayout.module.css.d.ts.map +1 -0
  1546. package/src/components/SplitLayout/SplitLayout.tsx +5 -2
  1547. package/src/components/SubnavigationBar/SubnavigationBar.module.css.d.ts.map +1 -0
  1548. package/src/components/SubnavigationBar/SubnavigationBar.tsx +3 -0
  1549. package/src/components/SubnavigationButton/SubnavigationButton.module.css.d.ts.map +1 -0
  1550. package/src/components/SubnavigationButton/SubnavigationButton.tsx +19 -4
  1551. package/src/components/Switch/Switch.module.css +3 -3
  1552. package/src/components/Switch/Switch.module.css.d.ts.map +1 -0
  1553. package/src/components/Tabbar/Tabbar.module.css.d.ts.map +1 -0
  1554. package/src/components/Tabbar/Tabbar.tsx +2 -2
  1555. package/src/components/TabbarItem/TabbarItem.module.css.d.ts.map +1 -0
  1556. package/src/components/TabbarItem/TabbarItem.tsx +5 -2
  1557. package/src/components/Tabs/Tabs.module.css.d.ts.map +1 -0
  1558. package/src/components/Tabs/Tabs.tsx +7 -6
  1559. package/src/components/TabsItem/TabsItem.module.css.d.ts.map +1 -0
  1560. package/src/components/TabsItem/TabsItem.tsx +16 -16
  1561. package/src/components/Tappable/Ripple.tsx +4 -2
  1562. package/src/components/Tappable/Tappable.module.css.d.ts.map +1 -0
  1563. package/src/components/Tappable/Tappable.tsx +13 -1
  1564. package/src/components/Tappable/state.tsx +5 -5
  1565. package/src/components/Textarea/Textarea.module.css.d.ts.map +1 -0
  1566. package/src/components/Textarea/Textarea.tsx +9 -0
  1567. package/src/components/ToolButton/ToolButton.module.css.d.ts.map +1 -0
  1568. package/src/components/ToolButton/ToolButton.tsx +9 -0
  1569. package/src/components/Tooltip/Tooltip.tsx +1 -1
  1570. package/src/components/Tooltip/useTooltip.tsx +9 -0
  1571. package/src/components/TooltipBase/TooltipBase.module.css.d.ts.map +1 -0
  1572. package/src/components/TooltipBase/TooltipBase.tsx +5 -5
  1573. package/src/components/Touch/Touch.tsx +117 -4
  1574. package/src/components/Touch/TouchContext.ts +1 -1
  1575. package/src/components/Typography/Caption/Caption.module.css.d.ts.map +1 -0
  1576. package/src/components/Typography/Caption/Caption.tsx +3 -0
  1577. package/src/components/Typography/DisplayTitle/DisplayTitle.module.css.d.ts.map +1 -0
  1578. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +3 -0
  1579. package/src/components/Typography/EllipsisText/EllipsisText.module.css.d.ts.map +1 -0
  1580. package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
  1581. package/src/components/Typography/Footnote/Footnote.module.css.d.ts.map +1 -0
  1582. package/src/components/Typography/Headline/Headline.module.css.d.ts.map +1 -0
  1583. package/src/components/Typography/Headline/Headline.tsx +3 -0
  1584. package/src/components/Typography/Paragraph/Paragraph.module.css.d.ts.map +1 -0
  1585. package/src/components/Typography/Subhead/Subhead.module.css.d.ts.map +1 -0
  1586. package/src/components/Typography/Text/Text.module.css.d.ts.map +1 -0
  1587. package/src/components/Typography/Title/Title.module.css.d.ts.map +1 -0
  1588. package/src/components/Typography/Title/Title.tsx +3 -0
  1589. package/src/components/Typography/Typography.module.css.d.ts.map +1 -0
  1590. package/src/components/Typography/Typography.tsx +6 -3
  1591. package/src/components/UnstyledTextField/UnstyledTextField.module.css.d.ts.map +1 -0
  1592. package/src/components/UnstyledTextField/UnstyledTextField.tsx +6 -0
  1593. package/src/components/UsersStack/UsersStack.module.css.d.ts.map +1 -0
  1594. package/src/components/UsersStack/UsersStack.tsx +22 -4
  1595. package/src/components/View/View.module.css +1 -1
  1596. package/src/components/View/View.module.css.d.ts.map +1 -0
  1597. package/src/components/View/View.tsx +15 -4
  1598. package/src/components/View/ViewInfinite.tsx +18 -3
  1599. package/src/components/View/useLayoutEffectCall.tsx +1 -1
  1600. package/src/components/VisuallyHidden/VisuallyHidden.module.css.d.ts.map +1 -0
  1601. package/src/components/WriteBar/WriteBar.module.css.d.ts.map +1 -0
  1602. package/src/components/WriteBar/WriteBar.tsx +7 -5
  1603. package/src/components/WriteBarIcon/WriteBarIcon.module.css.d.ts.map +1 -0
  1604. package/src/components/WriteBarIcon/WriteBarIcon.tsx +2 -2
  1605. package/src/hooks/useCalendar.ts +8 -0
  1606. package/src/hooks/useDateInput.ts +60 -27
  1607. package/src/hooks/useFocusTrap.ts +29 -5
  1608. package/src/hooks/useLocale.ts +7 -0
  1609. package/src/index.ts +1 -0
  1610. package/src/lib/animation/useCSSTransition.stories.module.css.d.ts.map +1 -0
  1611. package/src/lib/calendar.ts +20 -3
  1612. package/src/lib/platform.ts +6 -3
  1613. package/src/lib/react/defineComponentDisplayNames.ts +6 -0
  1614. package/src/lib/tokens/TokensClassProvider.module.css.d.ts.map +1 -0
  1615. package/src/styles/adaptivity.module.css.d.ts.map +1 -0
  1616. package/src/styles/animationFades.module.css.d.ts.map +1 -0
  1617. package/src/styles/common.css.d.ts.map +1 -0
  1618. package/src/styles/constants.css.d.ts.map +1 -0
  1619. package/src/styles/customMedias.generated.css.d.ts.map +1 -0
  1620. package/src/styles/dynamicTokens.css.d.ts.map +1 -0
  1621. package/src/styles/focusVisible.module.css.d.ts.map +1 -0
  1622. package/src/styles/gaps.module.css.d.ts.map +1 -0
  1623. package/src/styles/missedThemeTokens.css.d.ts.map +1 -0
  1624. package/src/styles/spacings.module.css.d.ts.map +1 -0
  1625. package/src/styles/themes.css.d.ts.map +1 -0
  1626. package/src/styles/transformOriginByPlacement.module.css.d.ts.map +1 -0
@@ -7,10 +7,11 @@ import { startOfDay, startOfMinute } from "date-fns";
7
7
  import { useAdaptivity } from "../../hooks/useAdaptivity.js";
8
8
  import { useDateInput } from "../../hooks/useDateInput.js";
9
9
  import { useExternRef } from "../../hooks/useExternRef.js";
10
- import { callMultiple } from "../../lib/callMultiple.js";
11
10
  import { format, isMatch, parse } from "../../lib/date.js";
12
11
  import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect.js";
13
12
  import { Calendar } from "../Calendar/Calendar.js";
13
+ import { useConfigProvider } from "../ConfigProvider/ConfigProviderContext.js";
14
+ import { FocusTrap } from "../FocusTrap/FocusTrap.js";
14
15
  import { FormField } from "../FormField/FormField.js";
15
16
  import { IconButton } from "../IconButton/IconButton.js";
16
17
  import { InputLike } from "../InputLike/InputLike.js";
@@ -73,7 +74,7 @@ const getInternalValue = (value)=>{
73
74
  };
74
75
  /**
75
76
  * @see https://vkcom.github.io/VKUI/#/DateInput
76
- */ export const DateInput = ({ enableTime, shouldDisableDate, disableFuture, disablePast, minDateTime, maxDateTime, value: valueProp, defaultValue, onChange, calendarPlacement: calendarPlacementProp = 'bottom-start', style, className, doneButtonText, DoneButton, closeOnChange = true, disablePickers, getRootRef, name, autoFocus, disabled, onClick, onFocus, prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', showNeighboringMonth, size, changeMonthLabel = 'Изменить месяц', changeYearLabel = 'Изменить год', changeDayLabel = 'Изменить день', changeHoursLabel = 'Изменить час', changeMinutesLabel = 'Изменить минуту', clearFieldLabel = 'Очистить поле', showCalendarLabel = 'Показать календарь', viewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, disableCalendar = false, renderDayContent, onCalendarOpenChanged, calendarTestsProps, dayFieldTestId, monthFieldTestId, yearFieldTestId, hourFieldTestId, minuteFieldTestId, showCalendarButtonTestId, clearButtonTestId, id, onApply, renderCustomValue, timezone, ...props })=>{
77
+ */ export const DateInput = ({ enableTime, shouldDisableDate, disableFuture, disablePast, minDateTime, maxDateTime, 'value': valueProp, defaultValue, onChange, 'calendarPlacement': calendarPlacementProp = 'bottom-start', style, className, doneButtonText, DoneButton, closeOnChange = true, disablePickers, getRootRef, name, autoFocus, disabled, onClick, onFocus, accessible, calendarLabel = 'Календарь', prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', changeDayLabel = 'День', changeMonthLabel = 'Месяц', changeYearLabel = 'Год', changeHoursLabel = 'Час', changeMinutesLabel = 'Минута', clearFieldLabel = 'Очистить поле', showCalendarLabel = 'Показать календарь', showNeighboringMonth, size, viewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, disableCalendar = false, renderDayContent, onCalendarOpenChanged, calendarTestsProps, dayFieldTestId, monthFieldTestId, yearFieldTestId, hourFieldTestId, minuteFieldTestId, showCalendarButtonTestId, clearButtonTestId, id, onApply, renderCustomValue, timezone, restoreFocus, disableFocusTrap, 'aria-label': ariaLabel = '', ...props })=>{
77
78
  const daysRef = React.useRef(null);
78
79
  const monthsRef = React.useRef(null);
79
80
  const yearsRef = React.useRef(null);
@@ -121,7 +122,7 @@ const getInternalValue = (value)=>{
121
122
  hoursRef,
122
123
  minutesRef
123
124
  ]);
124
- const { rootRef, calendarRef, open, openCalendar, internalValue, handleKeyDown, setFocusedElement, handleFieldEnter, clear, removeFocusFromField } = useDateInput({
125
+ const { rootRef, calendarRef, open, internalValue, handleKeyDown, setFocusedElement, handleFieldEnter, clear, removeFocusFromField, closeCalendar, toggleCalendar, openCalendar } = useDateInput({
125
126
  maxElement,
126
127
  refs,
127
128
  autoFocus,
@@ -131,7 +132,8 @@ const getInternalValue = (value)=>{
131
132
  onInternalValueChange,
132
133
  getInternalValue,
133
134
  value,
134
- onCalendarOpenChanged
135
+ onCalendarOpenChanged,
136
+ accessible
135
137
  });
136
138
  const { sizeY = 'none' } = useAdaptivity();
137
139
  const handleRootRef = useExternRef(rootRef, getRootRef);
@@ -185,54 +187,97 @@ const getInternalValue = (value)=>{
185
187
  // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался
186
188
  // на ней, пока помещается.
187
189
  const [calendarPlacement, setCalendarPlacement] = React.useState(calendarPlacementProp);
190
+ const { locale } = useConfigProvider();
191
+ const currentDateLabel = value ? new Intl.DateTimeFormat(locale, {
192
+ weekday: 'long',
193
+ year: 'numeric',
194
+ month: 'long',
195
+ day: 'numeric'
196
+ }).format(value) : null;
197
+ const currentDateLabelId = React.useId();
198
+ const ariaLabelId = React.useId();
199
+ const showCalendarOnInputAreaClick = React.useCallback(()=>{
200
+ handleFieldEnter();
201
+ if (accessible) {
202
+ openCalendar();
203
+ }
204
+ }, [
205
+ handleFieldEnter,
206
+ openCalendar,
207
+ accessible
208
+ ]);
188
209
  return /*#__PURE__*/ _jsxs(FormField, {
189
210
  style: style,
190
211
  className: classNames(sizeY !== 'regular' && sizeYClassNames[sizeY], className),
191
212
  getRootRef: handleRootRef,
192
- after: value ? /*#__PURE__*/ _jsx(IconButton, {
193
- hoverMode: "opacity",
194
- label: clearFieldLabel,
195
- onClick: clear,
196
- "data-testid": clearButtonTestId,
197
- children: /*#__PURE__*/ _jsx(Icon16Clear, {})
198
- }) : /*#__PURE__*/ _jsx(IconButton, {
199
- hoverMode: "opacity",
200
- label: showCalendarLabel,
201
- onClick: openCalendar,
202
- "data-testid": showCalendarButtonTestId,
203
- children: /*#__PURE__*/ _jsx(Icon20CalendarOutline, {})
213
+ role: "group",
214
+ "aria-labelledby": `${ariaLabelId} ${currentDateLabelId}`,
215
+ after: /*#__PURE__*/ _jsxs(React.Fragment, {
216
+ children: [
217
+ !disableCalendar && (accessible || !accessible && !value) ? /*#__PURE__*/ _jsx(IconButton, {
218
+ hoverMode: "opacity",
219
+ label: showCalendarLabel,
220
+ onClick: toggleCalendar,
221
+ "data-testid": showCalendarButtonTestId,
222
+ children: /*#__PURE__*/ _jsx(Icon20CalendarOutline, {})
223
+ }) : null,
224
+ value ? /*#__PURE__*/ _jsx(IconButton, {
225
+ hoverMode: "opacity",
226
+ label: clearFieldLabel,
227
+ onClick: clear,
228
+ "data-testid": clearButtonTestId,
229
+ children: /*#__PURE__*/ _jsx(Icon16Clear, {})
230
+ }) : null
231
+ ]
204
232
  }),
205
233
  disabled: disabled,
206
- onClick: callMultiple(handleFieldEnter, onClick),
207
- onFocus: callMultiple(handleFieldEnter, onFocus),
234
+ onClick: onClick,
208
235
  ...props,
209
236
  children: [
210
237
  /*#__PURE__*/ _jsxs("div", {
211
238
  className: styles.wrapper,
212
239
  children: [
240
+ ariaLabel && /*#__PURE__*/ _jsx(VisuallyHidden, {
241
+ id: ariaLabelId,
242
+ children: ariaLabel
243
+ }),
244
+ currentDateLabel && /*#__PURE__*/ _jsx(VisuallyHidden, {
245
+ id: currentDateLabelId,
246
+ children: currentDateLabel
247
+ }),
213
248
  /*#__PURE__*/ _jsx(VisuallyHidden, {
214
249
  id: id,
215
250
  Component: "input",
251
+ readOnly: true,
252
+ "aria-hidden": true,
253
+ tabIndex: -1,
216
254
  name: name,
217
- value: value ? format(value, enableTime ? "dd.MM.yyyy'T'HH:mm" : 'dd.MM.yyyy') : ''
255
+ value: value ? format(value, enableTime ? "dd.MM.yyyy'T'HH:mm" : 'dd.MM.yyyy') : '',
256
+ onFocus: handleFieldEnter
218
257
  }),
219
258
  /*#__PURE__*/ _jsxs(Text, {
220
259
  className: classNames(styles.input, customValue && styles.hidden),
221
- onKeyDown: handleKeyDown,
222
260
  // Инцидент: в PR https://github.com/VKCOM/VKUI/pull/6649 стабильно ломается порядок стилей
223
261
  // из-за чего `.Typography--normalize` перебивает стили.
224
262
  normalize: false,
225
263
  Component: "span" // для <span> нормализация не нужна
226
264
  ,
265
+ onClick: showCalendarOnInputAreaClick,
227
266
  children: [
228
267
  /*#__PURE__*/ _jsx(InputLike, {
229
268
  length: 2,
230
269
  getRootRef: daysRef,
231
270
  index: 0,
271
+ onKeyDown: handleKeyDown,
232
272
  onElementSelect: setFocusedElement,
233
273
  value: internalValue[0],
234
274
  label: changeDayLabel,
235
- "data-testid": dayFieldTestId
275
+ "data-testid": dayFieldTestId,
276
+ role: "spinbutton",
277
+ "aria-valuemin": 1,
278
+ "aria-valuemax": 31,
279
+ "aria-valuetext": internalValue[0],
280
+ "aria-label": changeDayLabel
236
281
  }),
237
282
  /*#__PURE__*/ _jsx(InputLikeDivider, {
238
283
  children: "."
@@ -242,9 +287,15 @@ const getInternalValue = (value)=>{
242
287
  getRootRef: monthsRef,
243
288
  index: 1,
244
289
  onElementSelect: setFocusedElement,
290
+ onKeyDown: handleKeyDown,
245
291
  value: internalValue[1],
246
292
  label: changeMonthLabel,
247
- "data-testid": monthFieldTestId
293
+ "data-testid": monthFieldTestId,
294
+ role: "spinbutton",
295
+ "aria-valuemin": 1,
296
+ "aria-valuemax": 12,
297
+ "aria-valuetext": internalValue[1],
298
+ "aria-label": changeMonthLabel
248
299
  }),
249
300
  /*#__PURE__*/ _jsx(InputLikeDivider, {
250
301
  children: "."
@@ -256,7 +307,13 @@ const getInternalValue = (value)=>{
256
307
  onElementSelect: setFocusedElement,
257
308
  value: internalValue[2],
258
309
  label: changeYearLabel,
259
- "data-testid": yearFieldTestId
310
+ onKeyDown: handleKeyDown,
311
+ "data-testid": yearFieldTestId,
312
+ role: "spinbutton",
313
+ "aria-valuemin": 1,
314
+ "aria-valuemax": 275750,
315
+ "aria-valuetext": internalValue[2],
316
+ "aria-label": changeYearLabel
260
317
  }),
261
318
  enableTime && /*#__PURE__*/ _jsxs(React.Fragment, {
262
319
  children: [
@@ -271,7 +328,13 @@ const getInternalValue = (value)=>{
271
328
  onElementSelect: setFocusedElement,
272
329
  value: internalValue[3],
273
330
  label: changeHoursLabel,
274
- "data-testid": hourFieldTestId
331
+ onKeyDown: handleKeyDown,
332
+ "data-testid": hourFieldTestId,
333
+ role: "spinbutton",
334
+ "aria-valuemin": 1,
335
+ "aria-valuemax": 24,
336
+ "aria-valuetext": internalValue[3],
337
+ "aria-label": changeHoursLabel
275
338
  }),
276
339
  /*#__PURE__*/ _jsx(InputLikeDivider, {
277
340
  children: ":"
@@ -283,7 +346,13 @@ const getInternalValue = (value)=>{
283
346
  onElementSelect: setFocusedElement,
284
347
  value: internalValue[4],
285
348
  label: changeMinutesLabel,
286
- "data-testid": minuteFieldTestId
349
+ onKeyDown: handleKeyDown,
350
+ "data-testid": minuteFieldTestId,
351
+ role: "spinbutton",
352
+ "aria-valuemin": 1,
353
+ "aria-valuemax": 59,
354
+ "aria-valuetext": internalValue[4],
355
+ "aria-label": changeMinutesLabel
287
356
  })
288
357
  ]
289
358
  })
@@ -302,37 +371,44 @@ const getInternalValue = (value)=>{
302
371
  placement: calendarPlacement,
303
372
  onPlacementChange: setCalendarPlacement,
304
373
  autoUpdateOnTargetResize: true,
305
- children: /*#__PURE__*/ _jsx(Calendar, {
306
- value: value,
307
- onChange: onCalendarChange,
308
- enableTime: enableTime,
309
- disablePast: disablePast,
310
- disableFuture: disableFuture,
311
- shouldDisableDate: shouldDisableDate,
312
- onDoneButtonClick: onDoneButtonClick,
313
- getRootRef: calendarRef,
314
- doneButtonText: doneButtonText,
315
- DoneButton: DoneButton,
316
- disablePickers: disablePickers,
317
- changeHoursLabel: changeHoursLabel,
318
- changeMinutesLabel: changeMinutesLabel,
319
- prevMonthLabel: prevMonthLabel,
320
- nextMonthLabel: nextMonthLabel,
321
- changeMonthLabel: changeMonthLabel,
322
- changeYearLabel: changeYearLabel,
323
- changeDayLabel: changeDayLabel,
324
- showNeighboringMonth: showNeighboringMonth,
325
- renderDayContent: renderDayContent,
326
- size: size,
327
- viewDate: viewDate,
328
- onHeaderChange: onHeaderChange,
329
- onNextMonth: onNextMonth,
330
- onPrevMonth: onPrevMonth,
331
- prevMonthIcon: prevMonthIcon,
332
- nextMonthIcon: nextMonthIcon,
333
- minDateTime: minDateTime,
334
- maxDateTime: maxDateTime,
335
- ...calendarTestsProps
374
+ children: /*#__PURE__*/ _jsx(FocusTrap, {
375
+ onClose: closeCalendar,
376
+ disabled: disableFocusTrap ?? !accessible,
377
+ restoreFocus: restoreFocus ?? Boolean(accessible),
378
+ captureEscapeKeyboardEvent: false,
379
+ children: /*#__PURE__*/ _jsx(Calendar, {
380
+ "aria-label": calendarLabel,
381
+ role: "dialog",
382
+ value: value,
383
+ onChange: onCalendarChange,
384
+ enableTime: enableTime,
385
+ disablePast: disablePast,
386
+ disableFuture: disableFuture,
387
+ shouldDisableDate: shouldDisableDate,
388
+ onDoneButtonClick: onDoneButtonClick,
389
+ getRootRef: calendarRef,
390
+ doneButtonText: doneButtonText,
391
+ DoneButton: DoneButton,
392
+ disablePickers: disablePickers,
393
+ changeHoursLabel: changeHoursLabel,
394
+ changeMinutesLabel: changeMinutesLabel,
395
+ prevMonthLabel: prevMonthLabel,
396
+ nextMonthLabel: nextMonthLabel,
397
+ changeMonthLabel: changeMonthLabel,
398
+ changeYearLabel: changeYearLabel,
399
+ showNeighboringMonth: showNeighboringMonth,
400
+ renderDayContent: renderDayContent,
401
+ size: size,
402
+ viewDate: viewDate,
403
+ onHeaderChange: onHeaderChange,
404
+ onNextMonth: onNextMonth,
405
+ onPrevMonth: onPrevMonth,
406
+ prevMonthIcon: prevMonthIcon,
407
+ nextMonthIcon: nextMonthIcon,
408
+ minDateTime: minDateTime,
409
+ maxDateTime: maxDateTime,
410
+ ...calendarTestsProps
411
+ })
336
412
  })
337
413
  })
338
414
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon20CalendarOutline } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { startOfDay, startOfMinute } from 'date-fns';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useDateInput } from '../../hooks/useDateInput';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { format, isMatch, parse } from '../../lib/date';\nimport type { PlacementWithAuto } from '../../lib/floating';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasRootRef } from '../../types';\nimport { Calendar, type CalendarProps, type CalendarTestsProps } from '../Calendar/Calendar';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { InputLike } from '../InputLike/InputLike';\nimport { InputLikeDivider } from '../InputLike/InputLikeDivider';\nimport { Popper } from '../Popper/Popper';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { useDateInputValue } from './hooks';\nimport '../InputLike/InputLike.module.css'; // Reorder css\nimport styles from './DateInput.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport type DateInputPropsTestsProps = {\n /**\n * Передает атрибут `data-testid` для поля ввода дня\n */\n dayFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода месяца\n */\n monthFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода года\n */\n yearFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода часа\n */\n hourFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода минут\n */\n minuteFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки показа календаря.\n */\n showCalendarButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки очистки даты.\n */\n clearButtonTestId?: string;\n};\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n 'value' | 'defaultValue' | 'onChange' | 'size'\n >,\n Pick<\n CalendarProps,\n | 'disablePast'\n | 'disableFuture'\n | 'enableTime'\n | 'shouldDisableDate'\n | 'onChange'\n | 'value'\n | 'defaultValue'\n | 'doneButtonText'\n | 'DoneButton'\n | 'weekStartsOn'\n | 'disablePickers'\n | 'changeHoursLabel'\n | 'changeMinutesLabel'\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'changeDayLabel'\n | 'showNeighboringMonth'\n | 'size'\n | 'viewDate'\n | 'onHeaderChange'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'minDateTime'\n | 'maxDateTime'\n | 'renderDayContent'\n >,\n HasRootRef<HTMLDivElement>,\n Omit<FormFieldProps, 'maxHeight'>,\n DateInputPropsTestsProps {\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в календаре\n */\n calendarTestsProps?: CalendarTestsProps;\n calendarPlacement?: PlacementWithAuto;\n closeOnChange?: boolean;\n clearFieldLabel?: string;\n showCalendarLabel?: string;\n disableCalendar?: boolean;\n onCalendarOpenChanged?: (opened: boolean) => void;\n /**\n * Колбэк срабатывающий при нажатии на кнопку \"Done\". Используется совместно с флагом `enableTime`.\n */\n onApply?: (value?: Date) => void;\n /**\n * Функция для кастомного форматирования отображаемого значения даты.\n * Позволяет переопределить стандартное отображение даты и вернуть собственное представление.\n */\n renderCustomValue?: (date: Date | undefined) => React.ReactNode;\n /**\n * Свойство для отображения времени в нужной таймзоне\n */\n timezone?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps['value']) => {\n const newValue = ['', '', '', '', ''];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, '0');\n newValue[1] = String(value.getMonth() + 1).padStart(2, '0');\n newValue[2] = String(value.getFullYear()).padStart(4, '0');\n newValue[3] = String(value.getHours()).padStart(2, '0');\n newValue[4] = String(value.getMinutes()).padStart(2, '0');\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateInput\n */\nexport const DateInput = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n minDateTime,\n maxDateTime,\n value: valueProp,\n defaultValue,\n onChange,\n calendarPlacement: calendarPlacementProp = 'bottom-start',\n style,\n className,\n doneButtonText,\n DoneButton,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n showNeighboringMonth,\n size,\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n changeDayLabel = 'Изменить день',\n changeHoursLabel = 'Изменить час',\n changeMinutesLabel = 'Изменить минуту',\n clearFieldLabel = 'Очистить поле',\n showCalendarLabel = 'Показать календарь',\n viewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n disableCalendar = false,\n renderDayContent,\n onCalendarOpenChanged,\n calendarTestsProps,\n dayFieldTestId,\n monthFieldTestId,\n yearFieldTestId,\n hourFieldTestId,\n minuteFieldTestId,\n showCalendarButtonTestId,\n clearButtonTestId,\n id,\n onApply,\n renderCustomValue,\n timezone,\n ...props\n}: DateInputProps): React.ReactNode => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n\n const { value, updateValue, setInternalValue, getLastUpdatedValue, clearValue } =\n useDateInputValue({\n value: valueProp,\n defaultValue,\n onChange,\n timezone,\n });\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = 'dd.MM.yyyy';\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += ' HH:mm';\n }\n\n if (isMatch(formattedValue, mask)) {\n const now = new Date();\n updateValue(\n parse(formattedValue, mask, value ?? (enableTime ? startOfMinute(now) : startOfDay(now))),\n );\n }\n },\n [enableTime, maxElement, updateValue, value],\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onClear: clearValue,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n });\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const handleRootRef = useExternRef(rootRef, getRootRef);\n\n useIsomorphicLayoutEffect(\n function resetValueOnCloseCalendar() {\n if (!open) {\n setInternalValue(getLastUpdatedValue());\n }\n },\n [open, getLastUpdatedValue],\n );\n\n const onCalendarChange = React.useCallback(\n (value?: Date | undefined) => {\n if (!value) {\n return;\n }\n if (enableTime) {\n setInternalValue(value);\n return;\n }\n updateValue(value);\n if (closeOnChange) {\n removeFocusFromField();\n }\n },\n [enableTime, updateValue, closeOnChange, setInternalValue, removeFocusFromField],\n );\n\n const onDoneButtonClick = React.useCallback(() => {\n if (!value) {\n return;\n }\n const newValue = updateValue(value);\n onApply?.(newValue);\n removeFocusFromField();\n }, [onApply, removeFocusFromField, updateValue, value]);\n\n const customValue = React.useMemo(\n () => !open && renderCustomValue?.(value || undefined),\n [open, renderCustomValue, value],\n );\n\n // при переключении месяцев высота календаря может меняться,\n // чтобы календарь не прыгал при переключении месяцев каждый раз на\n // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался\n // на ней, пока помещается.\n const [calendarPlacement, setCalendarPlacement] =\n React.useState<PlacementWithAuto>(calendarPlacementProp);\n\n return (\n <FormField\n style={style}\n className={classNames(sizeY !== 'regular' && sizeYClassNames[sizeY], className)}\n getRootRef={handleRootRef}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n label={clearFieldLabel}\n onClick={clear}\n data-testid={clearButtonTestId}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n label={showCalendarLabel}\n onClick={openCalendar}\n data-testid={showCalendarButtonTestId}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <div className={styles.wrapper}>\n <VisuallyHidden\n id={id}\n Component=\"input\"\n name={name}\n value={value ? format(value, enableTime ? \"dd.MM.yyyy'T'HH:mm\" : 'dd.MM.yyyy') : ''}\n />\n <Text\n className={classNames(styles.input, customValue && styles.hidden)}\n onKeyDown={handleKeyDown}\n // Инцидент: в PR https://github.com/VKCOM/VKUI/pull/6649 стабильно ломается порядок стилей\n // из-за чего `.Typography--normalize` перебивает стили.\n normalize={false}\n Component=\"span\" // для <span> нормализация не нужна\n >\n <InputLike\n length={2}\n getRootRef={daysRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n label={changeDayLabel}\n data-testid={dayFieldTestId}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n label={changeMonthLabel}\n data-testid={monthFieldTestId}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n label={changeYearLabel}\n data-testid={yearFieldTestId}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider className={styles.inputTimeDivider}> </InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n label={changeHoursLabel}\n data-testid={hourFieldTestId}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n label={changeMinutesLabel}\n data-testid={minuteFieldTestId}\n />\n </React.Fragment>\n )}\n </Text>\n {customValue && (\n <Text className={styles.customValue} aria-hidden>\n {customValue}\n </Text>\n )}\n </div>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetByMainAxis={8}\n placement={calendarPlacement}\n onPlacementChange={setCalendarPlacement}\n autoUpdateOnTargetResize\n >\n <Calendar\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onDoneButtonClick={onDoneButtonClick}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n DoneButton={DoneButton}\n disablePickers={disablePickers}\n changeHoursLabel={changeHoursLabel}\n changeMinutesLabel={changeMinutesLabel}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n changeDayLabel={changeDayLabel}\n showNeighboringMonth={showNeighboringMonth}\n renderDayContent={renderDayContent}\n size={size}\n viewDate={viewDate}\n onHeaderChange={onHeaderChange}\n onNextMonth={onNextMonth}\n onPrevMonth={onPrevMonth}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n minDateTime={minDateTime}\n maxDateTime={maxDateTime}\n {...calendarTestsProps}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"names":["React","Icon16Clear","Icon20CalendarOutline","classNames","startOfDay","startOfMinute","useAdaptivity","useDateInput","useExternRef","callMultiple","format","isMatch","parse","useIsomorphicLayoutEffect","Calendar","FormField","IconButton","InputLike","InputLikeDivider","Popper","Text","VisuallyHidden","useDateInputValue","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","minDateTime","maxDateTime","valueProp","defaultValue","onChange","calendarPlacement","calendarPlacementProp","style","className","doneButtonText","DoneButton","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthLabel","nextMonthLabel","showNeighboringMonth","size","changeMonthLabel","changeYearLabel","changeDayLabel","changeHoursLabel","changeMinutesLabel","clearFieldLabel","showCalendarLabel","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","disableCalendar","renderDayContent","onCalendarOpenChanged","calendarTestsProps","dayFieldTestId","monthFieldTestId","yearFieldTestId","hourFieldTestId","minuteFieldTestId","showCalendarButtonTestId","clearButtonTestId","id","onApply","renderCustomValue","timezone","props","daysRef","useRef","monthsRef","yearsRef","hoursRef","minutesRef","updateValue","setInternalValue","getLastUpdatedValue","clearValue","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","now","Date","refs","useMemo","rootRef","calendarRef","open","openCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","onClear","sizeY","handleRootRef","resetValueOnCloseCalendar","onCalendarChange","onDoneButtonClick","customValue","undefined","setCalendarPlacement","useState","after","hoverMode","label","data-testid","div","wrapper","Component","input","hidden","onKeyDown","normalize","onElementSelect","Fragment","inputTimeDivider","aria-hidden","targetRef","offsetByMainAxis","placement","onPlacementChange","autoUpdateOnTargetResize"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon20CalendarOutline } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { startOfDay, startOfMinute } from 'date-fns';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useDateInput } from '../../hooks/useDateInput';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { type UseFocusTrapProps } from '../../hooks/useFocusTrap';\nimport { format, isMatch, parse } from '../../lib/date';\nimport type { PlacementWithAuto } from '../../lib/floating';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasRootRef } from '../../types';\nimport { Calendar, type CalendarProps, type CalendarTestsProps } from '../Calendar/Calendar';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { InputLike } from '../InputLike/InputLike';\nimport { InputLikeDivider } from '../InputLike/InputLikeDivider';\nimport { Popper } from '../Popper/Popper';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { useDateInputValue } from './hooks';\nimport '../InputLike/InputLike.module.css'; // Reorder css\nimport styles from './DateInput.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport type DateInputPropsTestsProps = {\n /**\n * Передает атрибут `data-testid` для поля ввода дня.\n */\n dayFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода месяца.\n */\n monthFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода года.\n */\n yearFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода часа.\n */\n hourFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода минут.\n */\n minuteFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки показа календаря.\n */\n showCalendarButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки очистки даты.\n */\n clearButtonTestId?: string;\n};\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n 'value' | 'defaultValue' | 'onChange' | 'size'\n >,\n Pick<\n CalendarProps,\n | 'disablePast'\n | 'disableFuture'\n | 'enableTime'\n | 'shouldDisableDate'\n | 'onChange'\n | 'value'\n | 'defaultValue'\n | 'doneButtonText'\n | 'DoneButton'\n | 'weekStartsOn'\n | 'disablePickers'\n | 'changeHoursLabel'\n | 'changeMinutesLabel'\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'showNeighboringMonth'\n | 'size'\n | 'viewDate'\n | 'onHeaderChange'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'minDateTime'\n | 'maxDateTime'\n | 'renderDayContent'\n >,\n Pick<UseFocusTrapProps, 'restoreFocus'>,\n HasRootRef<HTMLDivElement>,\n Omit<FormFieldProps, 'maxHeight'>,\n DateInputPropsTestsProps {\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в календаре.\n */\n calendarTestsProps?: CalendarTestsProps;\n /**\n * Расположение календаря относительно поля ввода.\n */\n calendarPlacement?: PlacementWithAuto;\n /**\n * Автоматически закрывать календарь при изменениях.\n */\n closeOnChange?: boolean;\n /**\n * `aria-label` для календаря.\n */\n calendarLabel?: string;\n /**\n * Label для кнопки очистки. Делает доступным для ассистивных технологий.\n */\n clearFieldLabel?: string;\n /**\n * Label для кнопки открытия календаря. Делает доступным для ассистивных технологий.\n */\n showCalendarLabel?: string;\n /**\n * Отключение открытия календаря.\n */\n disableCalendar?: boolean;\n /**\n * Обработчик изменения состояния открытия календаря.\n */\n onCalendarOpenChanged?: (opened: boolean) => void;\n /**\n * `aria-label` для поля изменения дня.\n */\n changeDayLabel?: string;\n /**\n * Обработчик нажатия на кнопку `\"Done\"`. Используется совместно с флагом `enableTime`.\n */\n onApply?: (value?: Date) => void;\n /**\n * Функция для кастомного форматирования отображаемого значения даты.\n * Позволяет переопределить стандартное отображение даты и вернуть собственное представление.\n */\n renderCustomValue?: (date: Date | undefined) => React.ReactNode;\n /**\n * Часовой пояс для отображения даты.\n */\n timezone?: string;\n /**\n * Включает режим в котором DateInput доступен\n * для ассистивных технологий.\n * В этом режиме:\n * - календарь больше не открывает при фокусе на DateInput;\n * - иконка календаря видна всегда, чтобы пользователи\n * ассистивных технологий могли открыть календарь по клику на иконку;\n * - календарь при открытии получает фокус, клавиатурный\n * фокус зациклен и не выходит за пределы календаря пока календарь не закрыт;\n *\n * TODO [>=8]: включить по умолчанию.\n */\n accessible?: boolean;\n /**\n * Позволяет отключить захват фокуса при появлении календаря.\n */\n disableFocusTrap?: UseFocusTrapProps['disabled'];\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps['value']) => {\n const newValue = ['', '', '', '', ''];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, '0');\n newValue[1] = String(value.getMonth() + 1).padStart(2, '0');\n newValue[2] = String(value.getFullYear()).padStart(4, '0');\n newValue[3] = String(value.getHours()).padStart(2, '0');\n newValue[4] = String(value.getMinutes()).padStart(2, '0');\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateInput\n */\nexport const DateInput = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n minDateTime,\n maxDateTime,\n 'value': valueProp,\n defaultValue,\n onChange,\n 'calendarPlacement': calendarPlacementProp = 'bottom-start',\n style,\n className,\n doneButtonText,\n DoneButton,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n accessible,\n calendarLabel = 'Календарь',\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeDayLabel = 'День',\n changeMonthLabel = 'Месяц',\n changeYearLabel = 'Год',\n changeHoursLabel = 'Час',\n changeMinutesLabel = 'Минута',\n clearFieldLabel = 'Очистить поле',\n showCalendarLabel = 'Показать календарь',\n showNeighboringMonth,\n size,\n viewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n disableCalendar = false,\n renderDayContent,\n onCalendarOpenChanged,\n calendarTestsProps,\n dayFieldTestId,\n monthFieldTestId,\n yearFieldTestId,\n hourFieldTestId,\n minuteFieldTestId,\n showCalendarButtonTestId,\n clearButtonTestId,\n id,\n onApply,\n renderCustomValue,\n timezone,\n restoreFocus,\n disableFocusTrap,\n 'aria-label': ariaLabel = '',\n ...props\n}: DateInputProps): React.ReactNode => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n\n const { value, updateValue, setInternalValue, getLastUpdatedValue, clearValue } =\n useDateInputValue({\n value: valueProp,\n defaultValue,\n onChange,\n timezone,\n });\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = 'dd.MM.yyyy';\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += ' HH:mm';\n }\n\n if (isMatch(formattedValue, mask)) {\n const now = new Date();\n updateValue(\n parse(formattedValue, mask, value ?? (enableTime ? startOfMinute(now) : startOfDay(now))),\n );\n }\n },\n [enableTime, maxElement, updateValue, value],\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n closeCalendar,\n toggleCalendar,\n openCalendar,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onClear: clearValue,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n accessible,\n });\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const handleRootRef = useExternRef(rootRef, getRootRef);\n\n useIsomorphicLayoutEffect(\n function resetValueOnCloseCalendar() {\n if (!open) {\n setInternalValue(getLastUpdatedValue());\n }\n },\n [open, getLastUpdatedValue],\n );\n\n const onCalendarChange = React.useCallback(\n (value?: Date | undefined) => {\n if (!value) {\n return;\n }\n if (enableTime) {\n setInternalValue(value);\n return;\n }\n updateValue(value);\n if (closeOnChange) {\n removeFocusFromField();\n }\n },\n [enableTime, updateValue, closeOnChange, setInternalValue, removeFocusFromField],\n );\n\n const onDoneButtonClick = React.useCallback(() => {\n if (!value) {\n return;\n }\n const newValue = updateValue(value);\n onApply?.(newValue);\n removeFocusFromField();\n }, [onApply, removeFocusFromField, updateValue, value]);\n\n const customValue = React.useMemo(\n () => !open && renderCustomValue?.(value || undefined),\n [open, renderCustomValue, value],\n );\n\n // при переключении месяцев высота календаря может меняться,\n // чтобы календарь не прыгал при переключении месяцев каждый раз на\n // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался\n // на ней, пока помещается.\n const [calendarPlacement, setCalendarPlacement] =\n React.useState<PlacementWithAuto>(calendarPlacementProp);\n\n const { locale } = useConfigProvider();\n const currentDateLabel = value\n ? new Intl.DateTimeFormat(locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(value)\n : null;\n const currentDateLabelId = React.useId();\n const ariaLabelId = React.useId();\n\n const showCalendarOnInputAreaClick = React.useCallback(() => {\n handleFieldEnter();\n if (accessible) {\n openCalendar();\n }\n }, [handleFieldEnter, openCalendar, accessible]);\n\n return (\n <FormField\n style={style}\n className={classNames(sizeY !== 'regular' && sizeYClassNames[sizeY], className)}\n getRootRef={handleRootRef}\n role=\"group\"\n aria-labelledby={`${ariaLabelId} ${currentDateLabelId}`}\n after={\n <React.Fragment>\n {!disableCalendar && (accessible || (!accessible && !value)) ? (\n <IconButton\n hoverMode=\"opacity\"\n label={showCalendarLabel}\n onClick={toggleCalendar}\n data-testid={showCalendarButtonTestId}\n >\n <Icon20CalendarOutline />\n </IconButton>\n ) : null}\n {value ? (\n <IconButton\n hoverMode=\"opacity\"\n label={clearFieldLabel}\n onClick={clear}\n data-testid={clearButtonTestId}\n >\n <Icon16Clear />\n </IconButton>\n ) : null}\n </React.Fragment>\n }\n disabled={disabled}\n onClick={onClick}\n {...props}\n >\n <div className={styles.wrapper}>\n {ariaLabel && <VisuallyHidden id={ariaLabelId}>{ariaLabel}</VisuallyHidden>}\n {currentDateLabel && (\n <VisuallyHidden id={currentDateLabelId}>{currentDateLabel}</VisuallyHidden>\n )}\n <VisuallyHidden\n id={id}\n Component=\"input\"\n readOnly\n aria-hidden\n tabIndex={-1}\n name={name}\n value={value ? format(value, enableTime ? \"dd.MM.yyyy'T'HH:mm\" : 'dd.MM.yyyy') : ''}\n onFocus={handleFieldEnter}\n />\n <Text\n className={classNames(styles.input, customValue && styles.hidden)}\n // Инцидент: в PR https://github.com/VKCOM/VKUI/pull/6649 стабильно ломается порядок стилей\n // из-за чего `.Typography--normalize` перебивает стили.\n normalize={false}\n Component=\"span\" // для <span> нормализация не нужна\n onClick={showCalendarOnInputAreaClick}\n >\n <InputLike\n length={2}\n getRootRef={daysRef}\n index={0}\n onKeyDown={handleKeyDown}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n label={changeDayLabel}\n data-testid={dayFieldTestId}\n role=\"spinbutton\"\n aria-valuemin={1}\n aria-valuemax={31}\n aria-valuetext={internalValue[0]}\n aria-label={changeDayLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n onKeyDown={handleKeyDown}\n value={internalValue[1]}\n label={changeMonthLabel}\n data-testid={monthFieldTestId}\n role=\"spinbutton\"\n aria-valuemin={1}\n aria-valuemax={12}\n aria-valuetext={internalValue[1]}\n aria-label={changeMonthLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n label={changeYearLabel}\n onKeyDown={handleKeyDown}\n data-testid={yearFieldTestId}\n role=\"spinbutton\"\n aria-valuemin={1}\n aria-valuemax={275750}\n aria-valuetext={internalValue[2]}\n aria-label={changeYearLabel}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider className={styles.inputTimeDivider}> </InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n label={changeHoursLabel}\n onKeyDown={handleKeyDown}\n data-testid={hourFieldTestId}\n role=\"spinbutton\"\n aria-valuemin={1}\n aria-valuemax={24}\n aria-valuetext={internalValue[3]}\n aria-label={changeHoursLabel}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n label={changeMinutesLabel}\n onKeyDown={handleKeyDown}\n data-testid={minuteFieldTestId}\n role=\"spinbutton\"\n aria-valuemin={1}\n aria-valuemax={59}\n aria-valuetext={internalValue[4]}\n aria-label={changeMinutesLabel}\n />\n </React.Fragment>\n )}\n </Text>\n {customValue && (\n <Text className={styles.customValue} aria-hidden>\n {customValue}\n </Text>\n )}\n </div>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetByMainAxis={8}\n placement={calendarPlacement}\n onPlacementChange={setCalendarPlacement}\n autoUpdateOnTargetResize\n >\n <FocusTrap\n onClose={closeCalendar}\n disabled={disableFocusTrap ?? !accessible}\n restoreFocus={restoreFocus ?? Boolean(accessible)}\n captureEscapeKeyboardEvent={false}\n >\n <Calendar\n aria-label={calendarLabel}\n role=\"dialog\"\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onDoneButtonClick={onDoneButtonClick}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n DoneButton={DoneButton}\n disablePickers={disablePickers}\n changeHoursLabel={changeHoursLabel}\n changeMinutesLabel={changeMinutesLabel}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n showNeighboringMonth={showNeighboringMonth}\n renderDayContent={renderDayContent}\n size={size}\n viewDate={viewDate}\n onHeaderChange={onHeaderChange}\n onNextMonth={onNextMonth}\n onPrevMonth={onPrevMonth}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n minDateTime={minDateTime}\n maxDateTime={maxDateTime}\n {...calendarTestsProps}\n />\n </FocusTrap>\n </Popper>\n )}\n </FormField>\n );\n};\n"],"names":["React","Icon16Clear","Icon20CalendarOutline","classNames","startOfDay","startOfMinute","useAdaptivity","useDateInput","useExternRef","format","isMatch","parse","useIsomorphicLayoutEffect","Calendar","useConfigProvider","FocusTrap","FormField","IconButton","InputLike","InputLikeDivider","Popper","Text","VisuallyHidden","useDateInputValue","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","minDateTime","maxDateTime","valueProp","defaultValue","onChange","calendarPlacementProp","style","className","doneButtonText","DoneButton","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","accessible","calendarLabel","prevMonthLabel","nextMonthLabel","changeDayLabel","changeMonthLabel","changeYearLabel","changeHoursLabel","changeMinutesLabel","clearFieldLabel","showCalendarLabel","showNeighboringMonth","size","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","disableCalendar","renderDayContent","onCalendarOpenChanged","calendarTestsProps","dayFieldTestId","monthFieldTestId","yearFieldTestId","hourFieldTestId","minuteFieldTestId","showCalendarButtonTestId","clearButtonTestId","id","onApply","renderCustomValue","timezone","restoreFocus","disableFocusTrap","ariaLabel","props","daysRef","useRef","monthsRef","yearsRef","hoursRef","minutesRef","updateValue","setInternalValue","getLastUpdatedValue","clearValue","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","now","Date","refs","useMemo","rootRef","calendarRef","open","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","closeCalendar","toggleCalendar","openCalendar","onClear","sizeY","handleRootRef","resetValueOnCloseCalendar","onCalendarChange","onDoneButtonClick","customValue","undefined","calendarPlacement","setCalendarPlacement","useState","locale","currentDateLabel","Intl","DateTimeFormat","weekday","year","month","day","currentDateLabelId","useId","ariaLabelId","showCalendarOnInputAreaClick","role","aria-labelledby","after","Fragment","hoverMode","label","data-testid","div","wrapper","Component","readOnly","aria-hidden","tabIndex","input","hidden","normalize","onKeyDown","onElementSelect","aria-valuemin","aria-valuemax","aria-valuetext","aria-label","inputTimeDivider","targetRef","offsetByMainAxis","placement","onPlacementChange","autoUpdateOnTargetResize","onClose","Boolean","captureEscapeKeyboardEvent"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ /* eslint-disable jsdoc/require-jsdoc */ import * as React from "react";
2
2
  import { convertDateFromTimeZone, convertDateToTimeZone } from "../../lib/date.js";
3
3
  const _convertDateToTimeZone = (date, timezone)=>{
4
4
  return convertDateToTimeZone(date, timezone) || null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateInput/hooks.ts"],"sourcesContent":["import * as React from 'react';\nimport { convertDateFromTimeZone, convertDateToTimeZone } from '../../lib/date';\n\ninterface UseDateInputValueOptions {\n value?: Date | null;\n defaultValue?: Date | null;\n onChange?: (value?: Date) => void;\n timezone?: string;\n}\n\nexport interface UseDateInputValueReturn {\n value?: Date | null;\n updateValue: (v: Date) => Date;\n setInternalValue: (v?: Date | null) => void;\n getLastUpdatedValue: () => Date | null | undefined;\n clearValue: () => void;\n}\n\nconst _convertDateToTimeZone = (date: Date | null, timezone?: string): Date | null => {\n return convertDateToTimeZone(date, timezone) || null;\n};\n\nconst _convertDateFromTimeZone = (date: Date, timezone?: string): Date => {\n return convertDateFromTimeZone(date, timezone) as Date;\n};\n\nconst getStateValue = (\n defaultStateValue: Date | null,\n value?: Date | null,\n defaultValue?: Date | null,\n timezone?: string,\n): Date | null => {\n if (value !== undefined) {\n return _convertDateToTimeZone(value, timezone);\n }\n if (defaultValue !== undefined) {\n return _convertDateToTimeZone(defaultValue, timezone);\n }\n return _convertDateToTimeZone(defaultStateValue, timezone);\n};\n\nexport const useDateInputValue = ({\n value,\n defaultValue,\n onChange,\n timezone,\n}: UseDateInputValueOptions): UseDateInputValueReturn => {\n const [internalValue, setInternalValue] = React.useState<Date | null | undefined>(\n getStateValue(null, value, defaultValue, timezone),\n );\n const lastUpdatedValueRef = React.useRef<Date | null | undefined>(\n getStateValue(null, value, defaultValue, timezone),\n );\n\n const isControlled = value !== undefined;\n\n React.useEffect(() => {\n if (isControlled) {\n const newInternalValue = _convertDateToTimeZone(value, timezone);\n setInternalValue(newInternalValue);\n lastUpdatedValueRef.current = newInternalValue;\n }\n }, [isControlled, timezone, value]);\n\n const getLastUpdatedValue = React.useCallback(() => lastUpdatedValueRef.current, []);\n\n const updateValue = React.useCallback(\n (newValue: Date) => {\n if (!isControlled) {\n setInternalValue(newValue);\n lastUpdatedValueRef.current = newValue;\n }\n const originalTimezoneValue = _convertDateFromTimeZone(newValue, timezone);\n onChange?.(originalTimezoneValue);\n return originalTimezoneValue;\n },\n [isControlled, onChange, timezone],\n );\n\n const clearValue = () => {\n setInternalValue(null);\n lastUpdatedValueRef.current = null;\n onChange?.(undefined);\n };\n\n return {\n value: internalValue,\n updateValue,\n setInternalValue,\n getLastUpdatedValue,\n clearValue,\n };\n};\n"],"names":["React","convertDateFromTimeZone","convertDateToTimeZone","_convertDateToTimeZone","date","timezone","_convertDateFromTimeZone","getStateValue","defaultStateValue","value","defaultValue","undefined","useDateInputValue","onChange","internalValue","setInternalValue","useState","lastUpdatedValueRef","useRef","isControlled","useEffect","newInternalValue","current","getLastUpdatedValue","useCallback","updateValue","newValue","originalTimezoneValue","clearValue"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,oBAAiB;AAiBhF,MAAMC,yBAAyB,CAACC,MAAmBC;IACjD,OAAOH,sBAAsBE,MAAMC,aAAa;AAClD;AAEA,MAAMC,2BAA2B,CAACF,MAAYC;IAC5C,OAAOJ,wBAAwBG,MAAMC;AACvC;AAEA,MAAME,gBAAgB,CACpBC,mBACAC,OACAC,cACAL;IAEA,IAAII,UAAUE,WAAW;QACvB,OAAOR,uBAAuBM,OAAOJ;IACvC;IACA,IAAIK,iBAAiBC,WAAW;QAC9B,OAAOR,uBAAuBO,cAAcL;IAC9C;IACA,OAAOF,uBAAuBK,mBAAmBH;AACnD;AAEA,OAAO,MAAMO,oBAAoB,CAAC,EAChCH,KAAK,EACLC,YAAY,EACZG,QAAQ,EACRR,QAAQ,EACiB;IACzB,MAAM,CAACS,eAAeC,iBAAiB,GAAGf,MAAMgB,QAAQ,CACtDT,cAAc,MAAME,OAAOC,cAAcL;IAE3C,MAAMY,sBAAsBjB,MAAMkB,MAAM,CACtCX,cAAc,MAAME,OAAOC,cAAcL;IAG3C,MAAMc,eAAeV,UAAUE;IAE/BX,MAAMoB,SAAS,CAAC;QACd,IAAID,cAAc;YAChB,MAAME,mBAAmBlB,uBAAuBM,OAAOJ;YACvDU,iBAAiBM;YACjBJ,oBAAoBK,OAAO,GAAGD;QAChC;IACF,GAAG;QAACF;QAAcd;QAAUI;KAAM;IAElC,MAAMc,sBAAsBvB,MAAMwB,WAAW,CAAC,IAAMP,oBAAoBK,OAAO,EAAE,EAAE;IAEnF,MAAMG,cAAczB,MAAMwB,WAAW,CACnC,CAACE;QACC,IAAI,CAACP,cAAc;YACjBJ,iBAAiBW;YACjBT,oBAAoBK,OAAO,GAAGI;QAChC;QACA,MAAMC,wBAAwBrB,yBAAyBoB,UAAUrB;QACjEQ,WAAWc;QACX,OAAOA;IACT,GACA;QAACR;QAAcN;QAAUR;KAAS;IAGpC,MAAMuB,aAAa;QACjBb,iBAAiB;QACjBE,oBAAoBK,OAAO,GAAG;QAC9BT,WAAWF;IACb;IAEA,OAAO;QACLF,OAAOK;QACPW;QACAV;QACAQ;QACAK;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/DateInput/hooks.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { convertDateFromTimeZone, convertDateToTimeZone } from '../../lib/date';\n\ninterface UseDateInputValueOptions {\n value?: Date | null;\n defaultValue?: Date | null;\n onChange?: (value?: Date) => void;\n timezone?: string;\n}\n\nexport interface UseDateInputValueReturn {\n value?: Date | null;\n updateValue: (v: Date) => Date;\n setInternalValue: (v?: Date | null) => void;\n getLastUpdatedValue: () => Date | null | undefined;\n clearValue: () => void;\n}\n\nconst _convertDateToTimeZone = (date: Date | null, timezone?: string): Date | null => {\n return convertDateToTimeZone(date, timezone) || null;\n};\n\nconst _convertDateFromTimeZone = (date: Date, timezone?: string): Date => {\n return convertDateFromTimeZone(date, timezone) as Date;\n};\n\nconst getStateValue = (\n defaultStateValue: Date | null,\n value?: Date | null,\n defaultValue?: Date | null,\n timezone?: string,\n): Date | null => {\n if (value !== undefined) {\n return _convertDateToTimeZone(value, timezone);\n }\n if (defaultValue !== undefined) {\n return _convertDateToTimeZone(defaultValue, timezone);\n }\n return _convertDateToTimeZone(defaultStateValue, timezone);\n};\n\nexport const useDateInputValue = ({\n value,\n defaultValue,\n onChange,\n timezone,\n}: UseDateInputValueOptions): UseDateInputValueReturn => {\n const [internalValue, setInternalValue] = React.useState<Date | null | undefined>(\n getStateValue(null, value, defaultValue, timezone),\n );\n const lastUpdatedValueRef = React.useRef<Date | null | undefined>(\n getStateValue(null, value, defaultValue, timezone),\n );\n\n const isControlled = value !== undefined;\n\n React.useEffect(() => {\n if (isControlled) {\n const newInternalValue = _convertDateToTimeZone(value, timezone);\n setInternalValue(newInternalValue);\n lastUpdatedValueRef.current = newInternalValue;\n }\n }, [isControlled, timezone, value]);\n\n const getLastUpdatedValue = React.useCallback(() => lastUpdatedValueRef.current, []);\n\n const updateValue = React.useCallback(\n (newValue: Date) => {\n if (!isControlled) {\n setInternalValue(newValue);\n lastUpdatedValueRef.current = newValue;\n }\n const originalTimezoneValue = _convertDateFromTimeZone(newValue, timezone);\n onChange?.(originalTimezoneValue);\n return originalTimezoneValue;\n },\n [isControlled, onChange, timezone],\n );\n\n const clearValue = () => {\n setInternalValue(null);\n lastUpdatedValueRef.current = null;\n onChange?.(undefined);\n };\n\n return {\n value: internalValue,\n updateValue,\n setInternalValue,\n getLastUpdatedValue,\n clearValue,\n };\n};\n"],"names":["React","convertDateFromTimeZone","convertDateToTimeZone","_convertDateToTimeZone","date","timezone","_convertDateFromTimeZone","getStateValue","defaultStateValue","value","defaultValue","undefined","useDateInputValue","onChange","internalValue","setInternalValue","useState","lastUpdatedValueRef","useRef","isControlled","useEffect","newInternalValue","current","getLastUpdatedValue","useCallback","updateValue","newValue","originalTimezoneValue","clearValue"],"mappings":"AAAA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,oBAAiB;AAiBhF,MAAMC,yBAAyB,CAACC,MAAmBC;IACjD,OAAOH,sBAAsBE,MAAMC,aAAa;AAClD;AAEA,MAAMC,2BAA2B,CAACF,MAAYC;IAC5C,OAAOJ,wBAAwBG,MAAMC;AACvC;AAEA,MAAME,gBAAgB,CACpBC,mBACAC,OACAC,cACAL;IAEA,IAAII,UAAUE,WAAW;QACvB,OAAOR,uBAAuBM,OAAOJ;IACvC;IACA,IAAIK,iBAAiBC,WAAW;QAC9B,OAAOR,uBAAuBO,cAAcL;IAC9C;IACA,OAAOF,uBAAuBK,mBAAmBH;AACnD;AAEA,OAAO,MAAMO,oBAAoB,CAAC,EAChCH,KAAK,EACLC,YAAY,EACZG,QAAQ,EACRR,QAAQ,EACiB;IACzB,MAAM,CAACS,eAAeC,iBAAiB,GAAGf,MAAMgB,QAAQ,CACtDT,cAAc,MAAME,OAAOC,cAAcL;IAE3C,MAAMY,sBAAsBjB,MAAMkB,MAAM,CACtCX,cAAc,MAAME,OAAOC,cAAcL;IAG3C,MAAMc,eAAeV,UAAUE;IAE/BX,MAAMoB,SAAS,CAAC;QACd,IAAID,cAAc;YAChB,MAAME,mBAAmBlB,uBAAuBM,OAAOJ;YACvDU,iBAAiBM;YACjBJ,oBAAoBK,OAAO,GAAGD;QAChC;IACF,GAAG;QAACF;QAAcd;QAAUI;KAAM;IAElC,MAAMc,sBAAsBvB,MAAMwB,WAAW,CAAC,IAAMP,oBAAoBK,OAAO,EAAE,EAAE;IAEnF,MAAMG,cAAczB,MAAMwB,WAAW,CACnC,CAACE;QACC,IAAI,CAACP,cAAc;YACjBJ,iBAAiBW;YACjBT,oBAAoBK,OAAO,GAAGI;QAChC;QACA,MAAMC,wBAAwBrB,yBAAyBoB,UAAUrB;QACjEQ,WAAWc;QACX,OAAOA;IACT,GACA;QAACR;QAAcN;QAAUR;KAAS;IAGpC,MAAMuB,aAAa;QACjBb,iBAAiB;QACjBE,oBAAoBK,OAAO,GAAG;QAC9BT,WAAWF;IACb;IAEA,OAAO;QACLF,OAAOK;QACPW;QACAV;QACAQ;QACAK;IACF;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon20CalendarOutline } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { isAfter } from 'date-fns';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useDateInput } from '../../hooks/useDateInput';\nimport { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { format, isMatch, parse } from '../../lib/date';\nimport type { PlacementWithAuto } from '../../lib/floating';\nimport type { HasRootRef } from '../../types';\nimport {\n CalendarRange,\n type CalendarRangeProps,\n type CalendarRangeTestsProps,\n type DateRangeType,\n} from '../CalendarRange/CalendarRange';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { InputLike } from '../InputLike/InputLike';\nimport { InputLikeDivider } from '../InputLike/InputLikeDivider';\nimport { Popper } from '../Popper/Popper';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './DateRangeInput.module.css';\nimport dateInputStyles from '../DateInput/DateInput.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\ntype DateTestsProps = {\n /**\n * Передает атрибут `data-testid` для поля ввода дня\n */\n day?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода месяца\n */\n month?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода года\n */\n year?: string;\n};\n\nexport type DateRangeInputTestsProps = {\n /**\n * Передает атрибуты `data-testid` для полей ввода начальной даты\n */\n startDateTestsProps?: DateTestsProps;\n /**\n * Передает атрибуты `data-testid` для полей ввода конечной даты\n */\n endDateTestsProps?: DateTestsProps;\n /**\n * Передает атрибут `data-testid` для кнопки показа календаря.\n */\n showCalendarButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки очистки даты.\n */\n clearButtonTestId?: string;\n};\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'>,\n Pick<\n CalendarRangeProps,\n | 'disablePast'\n | 'disableFuture'\n | 'shouldDisableDate'\n | 'onChange'\n | 'value'\n | 'defaultValue'\n | 'weekStartsOn'\n | 'disablePickers'\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'changeDayLabel'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'renderDayContent'\n >,\n HasRootRef<HTMLDivElement>,\n Omit<FormFieldProps, 'maxHeight'>,\n DateRangeInputTestsProps {\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в календаре\n */\n calendarTestsProps?: CalendarRangeTestsProps;\n calendarPlacement?: PlacementWithAuto;\n closeOnChange?: boolean;\n onCalendarOpenChanged?: (opened: boolean) => void;\n clearFieldLabel?: string;\n showCalendarLabel?: string;\n changeStartDayLabel?: string;\n changeStartMonthLabel?: string;\n changeStartYearLabel?: string;\n changeEndDayLabel?: string;\n changeEndMonthLabel?: string;\n changeEndYearLabel?: string;\n disableCalendar?: boolean;\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\n/**\n * @see https://vkcom.github.io/VKUI/#/DateRangeInput\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value: valueProp,\n defaultValue,\n onChange,\n calendarPlacement: calendarPlacementProp = 'bottom-start',\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeDayLabel = 'Изменить день',\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n changeStartDayLabel = 'Изменить день начала',\n changeStartMonthLabel = 'Изменить месяц начала',\n changeStartYearLabel = 'Изменить год начала',\n changeEndDayLabel = 'Изменить день окончания',\n changeEndMonthLabel = 'Изменить месяц окончания',\n changeEndYearLabel = 'Изменить год окончания',\n clearFieldLabel = 'Очистить поле',\n showCalendarLabel = 'Показать календарь',\n prevMonthIcon,\n nextMonthIcon,\n disableCalendar = false,\n onCalendarOpenChanged,\n renderDayContent,\n calendarTestsProps,\n startDateTestsProps,\n endDateTestsProps,\n clearButtonTestId,\n showCalendarButtonTestId,\n id,\n ...props\n}: DateRangeInputProps): React.ReactNode => {\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 _onChange = React.useCallback(\n (newValue: DateRangeType | null | undefined) => onChange?.(newValue || undefined),\n [onChange],\n );\n\n const [value, updateValue] = useCustomEnsuredControl<DateRangeType | null | undefined>({\n value: valueProp,\n defaultValue,\n onChange: _onChange,\n });\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 updateValue([start, end]);\n }\n },\n [updateValue, value],\n );\n\n const refs = React.useMemo(\n () => [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef],\n [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef],\n );\n\n const onClear = React.useCallback(() => updateValue(undefined), [updateValue]);\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 onClear,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n });\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const handleRootRef = useExternRef(rootRef, getRootRef);\n\n const onCalendarChange = React.useCallback(\n (newValue: DateRangeType | undefined) => {\n updateValue(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [updateValue, closeOnChange, value, removeFocusFromField],\n );\n\n // при переключении месяцев высота календаря может меняться,\n // чтобы календарь не прыгал при переключении месяцев каждый раз на\n // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался\n // на ней, пока помещается.\n const [calendarPlacement, setCalendarPlacement] =\n React.useState<PlacementWithAuto>(calendarPlacementProp);\n\n return (\n <FormField\n style={style}\n className={classNames(sizeY !== 'regular' && sizeYClassNames[sizeY], className)}\n getRootRef={handleRootRef}\n after={\n value ? (\n <IconButton hoverMode=\"opacity\" onClick={clear} data-testid={clearButtonTestId}>\n <VisuallyHidden>{clearFieldLabel}</VisuallyHidden>\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n onClick={openCalendar}\n data-testid={showCalendarButtonTestId}\n >\n <VisuallyHidden>{showCalendarLabel}</VisuallyHidden>\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <div className={dateInputStyles.wrapper}>\n <VisuallyHidden\n id={id}\n Component=\"input\"\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 <Text className={dateInputStyles.input} onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n label={changeStartDayLabel}\n data-testid={startDateTestsProps?.day}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n label={changeStartMonthLabel}\n data-testid={startDateTestsProps?.month}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n label={changeStartYearLabel}\n data-testid={startDateTestsProps?.year}\n />\n <InputLikeDivider>{' — '}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n label={changeEndDayLabel}\n data-testid={endDateTestsProps?.day}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n label={changeEndMonthLabel}\n data-testid={endDateTestsProps?.month}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n label={changeEndYearLabel}\n data-testid={endDateTestsProps?.year}\n />\n </Text>\n </div>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetByMainAxis={8}\n placement={calendarPlacement}\n onPlacementChange={setCalendarPlacement}\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 prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n changeDayLabel={changeDayLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n renderDayContent={renderDayContent}\n {...calendarTestsProps}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"names":["React","Icon16Clear","Icon20CalendarOutline","classNames","isAfter","useAdaptivity","useDateInput","useCustomEnsuredControl","useExternRef","callMultiple","format","isMatch","parse","CalendarRange","FormField","IconButton","InputLike","InputLikeDivider","Popper","Text","VisuallyHidden","styles","dateInputStyles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","valueProp","defaultValue","onChange","calendarPlacement","calendarPlacementProp","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthLabel","nextMonthLabel","changeDayLabel","changeMonthLabel","changeYearLabel","changeStartDayLabel","changeStartMonthLabel","changeStartYearLabel","changeEndDayLabel","changeEndMonthLabel","changeEndYearLabel","clearFieldLabel","showCalendarLabel","prevMonthIcon","nextMonthIcon","disableCalendar","onCalendarOpenChanged","renderDayContent","calendarTestsProps","startDateTestsProps","endDateTestsProps","clearButtonTestId","showCalendarButtonTestId","id","props","daysStartRef","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","_onChange","useCallback","undefined","updateValue","onInternalValueChange","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","onClear","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","maxElement","sizeY","handleRootRef","onCalendarChange","setCalendarPlacement","useState","after","hoverMode","data-testid","div","wrapper","Component","input","onKeyDown","onElementSelect","label","day","month","year","targetRef","offsetByMainAxis","placement","onPlacementChange","onClose"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,WAAW,EAAEC,qBAAqB,QAAQ,mBAAmB;AACtE,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,uBAAuB,QAAQ,mCAAgC;AACxE,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,MAAM,EAAEC,OAAO,EAAEC,KAAK,QAAQ,oBAAiB;AAGxD,SACEC,aAAa,QAIR,oCAAiC;AACxC,SAASC,SAAS,QAA6B,4BAAyB;AACxE,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,SAAS,QAAQ,4BAAyB;AACnD,SAASC,gBAAgB,QAAQ,mCAAgC;AACjE,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,IAAI,QAAQ,6BAA0B;AAC/C,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,8BAA8B;AACjD,OAAOC,qBAAqB,oCAAoC;AAEhE,MAAMC,kBAAkB;IACtBC,MAAMH,OAAOI,SAAS;IACtBC,SAASL,OAAOM,YAAY;AAC9B;AA8EA,MAAMC,iBAAiB,CAACC;IACtB,IAAIC,SAAS;IACb,IAAIC,MAAM;IACV,IAAIC,MAAM;IAEV,OAAQH;QACN,KAAK;QACL,KAAK;YACHG,MAAM;YACN;QACF,KAAK;QACL,KAAK;YACHA,MAAM;YACN;QACF,KAAK;QACL,KAAK;YACHA,MAAM;YACND,MAAM;YACND,SAAS;YACT;IACJ;IAEA,OAAO;QAAEA;QAAQC;QAAKC;IAAI;AAC5B;AAEA,MAAMC,mBAAmB,CAACC;IACxB,MAAMC,WAAW;QAAC;QAAI;QAAI;QAAI;QAAI;QAAI;KAAG;IACzC,IAAID,OAAO,CAAC,EAAE,EAAE;QACdC,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACG,OAAO,IAAIC,QAAQ,CAAC,GAAG;QACrDH,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACK,QAAQ,KAAK,GAAGD,QAAQ,CAAC,GAAG;QAC1DH,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACM,WAAW,IAAIF,QAAQ,CAAC,GAAG;IAC3D;IACA,IAAIJ,OAAO,CAAC,EAAE,EAAE;QACdC,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACG,OAAO,IAAIC,QAAQ,CAAC,GAAG;QACrDH,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACK,QAAQ,KAAK,GAAGD,QAAQ,CAAC,GAAG;QAC1DH,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACM,WAAW,IAAIF,QAAQ,CAAC,GAAG;IAC3D;IACA,OAAOH;AACT;AAEA;;CAEC,GACD,OAAO,MAAMM,iBAAiB,CAAC,EAC7BC,iBAAiB,EACjBC,aAAa,EACbC,WAAW,EACXV,OAAOW,SAAS,EAChBC,YAAY,EACZC,QAAQ,EACRC,mBAAmBC,wBAAwB,cAAc,EACzDC,KAAK,EACLC,SAAS,EACTC,gBAAgB,IAAI,EACpBC,cAAc,EACdC,UAAU,EACVC,IAAI,EACJC,SAAS,EACTC,QAAQ,EACRC,OAAO,EACPC,OAAO,EACPC,iBAAiB,kBAAkB,EACnCC,iBAAiB,iBAAiB,EAClCC,iBAAiB,eAAe,EAChCC,mBAAmB,gBAAgB,EACnCC,kBAAkB,cAAc,EAChCC,sBAAsB,sBAAsB,EAC5CC,wBAAwB,uBAAuB,EAC/CC,uBAAuB,qBAAqB,EAC5CC,oBAAoB,yBAAyB,EAC7CC,sBAAsB,0BAA0B,EAChDC,qBAAqB,wBAAwB,EAC7CC,kBAAkB,eAAe,EACjCC,oBAAoB,oBAAoB,EACxCC,aAAa,EACbC,aAAa,EACbC,kBAAkB,KAAK,EACvBC,qBAAqB,EACrBC,gBAAgB,EAChBC,kBAAkB,EAClBC,mBAAmB,EACnBC,iBAAiB,EACjBC,iBAAiB,EACjBC,wBAAwB,EACxBC,EAAE,EACF,GAAGC,OACiB;IACpB,MAAMC,eAAerF,MAAMsF,MAAM,CAAkB;IACnD,MAAMC,iBAAiBvF,MAAMsF,MAAM,CAAkB;IACrD,MAAME,gBAAgBxF,MAAMsF,MAAM,CAAkB;IACpD,MAAMG,aAAazF,MAAMsF,MAAM,CAAkB;IACjD,MAAMI,eAAe1F,MAAMsF,MAAM,CAAkB;IACnD,MAAMK,cAAc3F,MAAMsF,MAAM,CAAkB;IAElD,MAAMM,YAAY5F,MAAM6F,WAAW,CACjC,CAAC1D,WAA+CY,WAAWZ,YAAY2D,YACvE;QAAC/C;KAAS;IAGZ,MAAM,CAACb,OAAO6D,YAAY,GAAGxF,wBAA0D;QACrF2B,OAAOW;QACPC;QACAC,UAAU6C;IACZ;IAEA,MAAMI,wBAAwBhG,MAAM6F,WAAW,CAC7C,CAACI;QACC,IAAIC,eAAe;QACnB,IAAIC,aAAa;QACjB,IAAK,IAAIC,IAAI,GAAGA,KAAK,GAAGA,KAAK,EAAG;YAC9B,IAAIH,aAAa,CAACG,EAAE,CAACtE,MAAM,GAAGF,eAAewE,GAAGtE,MAAM,EAAE;gBACtDoE,eAAe;YACjB;QACF;QACA,IAAK,IAAIE,IAAI,GAAGA,KAAK,GAAGA,KAAK,EAAG;YAC9B,IAAIH,aAAa,CAACG,EAAE,CAACtE,MAAM,GAAGF,eAAewE,GAAGtE,MAAM,EAAE;gBACtDqE,aAAa;YACf;QACF;QACA,MAAME,sBAAsB,GAAGJ,aAAa,CAAC,EAAE,CAAC,CAAC,EAAEA,aAAa,CAAC,EAAE,CAAC,CAAC,EAAEA,aAAa,CAAC,EAAE,EAAE;QACzF,MAAMK,oBAAoB,GAAGL,aAAa,CAAC,EAAE,CAAC,CAAC,EAAEA,aAAa,CAAC,EAAE,CAAC,CAAC,EAAEA,aAAa,CAAC,EAAE,EAAE;QACvF,MAAMM,OAAO;QAEb,IAAI,CAAC5F,QAAQ0F,qBAAqBE,OAAO;YACvCL,eAAe;QACjB;QACA,IAAI,CAACvF,QAAQ2F,mBAAmBC,OAAO;YACrCJ,aAAa;QACf;QAEA,IAAI,CAACD,gBAAgB,CAACC,YAAY;YAChC;QACF;QAEA,MAAMK,cAAcC,MAAMC,OAAO,CAACxE;QAClC,MAAMyE,MAAM,IAAIC;QAChB,MAAMC,QAAQX,eACVtF,MAAMyF,qBAAqBE,MAAM,AAACC,eAAetE,OAAO,CAAC,EAAE,IAAKyE,OAChE;QACJ,MAAMG,MAAMX,aACRvF,MAAM0F,mBAAmBC,MAAM,AAACC,eAAetE,OAAO,CAAC,EAAE,IAAKyE,OAC9D;QACJ,IAAIE,SAASC,OAAO1G,QAAQ0G,KAAKD,QAAQ;YACvCd,YAAY;gBAACc;gBAAOC;aAAI;QAC1B;IACF,GACA;QAACf;QAAa7D;KAAM;IAGtB,MAAM6E,OAAO/G,MAAMgH,OAAO,CACxB,IAAM;YAAC3B;YAAcE;YAAgBC;YAAeC;YAAYC;YAAcC;SAAY,EAC1F;QAACN;QAAcE;QAAgBC;QAAeC;QAAYC;QAAcC;KAAY;IAGtF,MAAMsB,UAAUjH,MAAM6F,WAAW,CAAC,IAAME,YAAYD,YAAY;QAACC;KAAY;IAE7E,MAAM,EACJmB,OAAO,EACPC,WAAW,EACXC,IAAI,EACJC,YAAY,EACZC,aAAa,EACbrB,aAAa,EACbsB,aAAa,EACbC,iBAAiB,EACjBC,gBAAgB,EAChBC,KAAK,EACLC,oBAAoB,EACrB,GAAGrH,aAAa;QACfsH,YAAY;QACZb;QACAvD;QACAC;QACA7B;QACAqF;QACAjB;QACA/D;QACAC;QACA0C;IACF;IAEA,MAAM,EAAEiD,QAAQ,MAAM,EAAE,GAAGxH;IAE3B,MAAMyH,gBAAgBtH,aAAa0G,SAAS5D;IAE5C,MAAMyE,mBAAmB/H,MAAM6F,WAAW,CACxC,CAAC1D;QACC4D,YAAY5D;QACZ,IAAIiB,iBAAiBjB,UAAU,CAAC,EAAE,IAAIA,QAAQ,CAAC,EAAE,KAAKD,OAAO,CAAC,EAAE,EAAE;YAChEyF;QACF;IACF,GACA;QAAC5B;QAAa3C;QAAelB;QAAOyF;KAAqB;IAG3D,4DAA4D;IAC5D,mEAAmE;IACnE,4EAA4E;IAC5E,2BAA2B;IAC3B,MAAM,CAAC3E,mBAAmBgF,qBAAqB,GAC7ChI,MAAMiI,QAAQ,CAAoBhF;IAEpC,qBACE,MAACnC;QACCoC,OAAOA;QACPC,WAAWhD,WAAW0H,UAAU,aAAatG,eAAe,CAACsG,MAAM,EAAE1E;QACrEG,YAAYwE;QACZI,OACEhG,sBACE,MAACnB;YAAWoH,WAAU;YAAUzE,SAASgE;YAAOU,eAAanD;;8BAC3D,KAAC7D;8BAAgBmD;;8BACjB,KAACtE;;2BAGH,MAACc;YACCoH,WAAU;YACVzE,SAAS2D;YACTe,eAAalD;;8BAEb,KAAC9D;8BAAgBoD;;8BACjB,KAACtE;;;QAIPuD,UAAUA;QACVC,SAASjD,aAAagH,kBAAkB/D;QACxCC,SAASlD,aAAagH,kBAAkB9D;QACvC,GAAGyB,KAAK;;0BAET,MAACiD;gBAAIlF,WAAW7B,gBAAgBgH,OAAO;;kCACrC,KAAClH;wBACC+D,IAAIA;wBACJoD,WAAU;wBACVhF,MAAMA;wBACNrB,OACEA,QACI,GAAGA,KAAK,CAAC,EAAE,GAAGxB,OAAOwB,KAAK,CAAC,EAAE,EAAE,gBAAgB,GAAG,GAAG,EACnDA,KAAK,CAAC,EAAE,GAAGxB,OAAOwB,KAAK,CAAC,EAAE,EAAE,gBAAgB,IAC5C,GACF;;kCAGR,MAACf;wBAAKgC,WAAW7B,gBAAgBkH,KAAK;wBAAEC,WAAWlB;;0CACjD,KAACvG;gCACCc,QAAQ;gCACRwB,YAAY+B;gCACZxD,OAAO;gCACP6G,iBAAiBlB;gCACjBtF,OAAO+D,aAAa,CAAC,EAAE;gCACvB0C,OAAO1E;gCACPmE,eAAarD,qBAAqB6D;;0CAEpC,KAAC3H;0CAAiB;;0CAClB,KAACD;gCACCc,QAAQ;gCACRwB,YAAYiC;gCACZ1D,OAAO;gCACP6G,iBAAiBlB;gCACjBtF,OAAO+D,aAAa,CAAC,EAAE;gCACvB0C,OAAOzE;gCACPkE,eAAarD,qBAAqB8D;;0CAEpC,KAAC5H;0CAAiB;;0CAClB,KAACD;gCACCc,QAAQ;gCACRwB,YAAYkC;gCACZ3D,OAAO;gCACP6G,iBAAiBlB;gCACjBtF,OAAO+D,aAAa,CAAC,EAAE;gCACvB0C,OAAOxE;gCACPiE,eAAarD,qBAAqB+D;;0CAEpC,KAAC7H;0CAAkB;;0CACnB,KAACD;gCACCc,QAAQ;gCACRwB,YAAYmC;gCACZ5D,OAAO;gCACP6G,iBAAiBlB;gCACjBtF,OAAO+D,aAAa,CAAC,EAAE;gCACvB0C,OAAOvE;gCACPgE,eAAapD,mBAAmB4D;;0CAElC,KAAC3H;0CAAiB;;0CAClB,KAACD;gCACCc,QAAQ;gCACRwB,YAAYoC;gCACZ7D,OAAO;gCACP6G,iBAAiBlB;gCACjBtF,OAAO+D,aAAa,CAAC,EAAE;gCACvB0C,OAAOtE;gCACP+D,eAAapD,mBAAmB6D;;0CAElC,KAAC5H;0CAAiB;;0CAClB,KAACD;gCACCc,QAAQ;gCACRwB,YAAYqC;gCACZ9D,OAAO;gCACP6G,iBAAiBlB;gCACjBtF,OAAO+D,aAAa,CAAC,EAAE;gCACvB0C,OAAOrE;gCACP8D,eAAapD,mBAAmB8D;;;;;;YAIrC1B,QAAQ,CAACzC,iCACR,KAACzD;gBACC6H,WAAW7B;gBACX8B,kBAAkB;gBAClBC,WAAWjG;gBACXkG,mBAAmBlB;0BAEnB,cAAA,KAACnH;oBACCqB,OAAOA;oBACPa,UAAUgF;oBACVnF,aAAaA;oBACbD,eAAeA;oBACfD,mBAAmBA;oBACnByG,SAAS7B;oBACThE,YAAY6D;oBACZ9D,gBAAgBA;oBAChBO,gBAAgBA;oBAChBC,gBAAgBA;oBAChBE,kBAAkBA;oBAClBC,iBAAiBA;oBACjBF,gBAAgBA;oBAChBW,eAAeA;oBACfC,eAAeA;oBACfG,kBAAkBA;oBACjB,GAAGC,kBAAkB;;;;;AAMlC,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon20CalendarOutline } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { isAfter } from 'date-fns';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useDateInput } from '../../hooks/useDateInput';\nimport { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { format, isMatch, parse } from '../../lib/date';\nimport type { PlacementWithAuto } from '../../lib/floating';\nimport type { HasRootRef } from '../../types';\nimport {\n CalendarRange,\n type CalendarRangeProps,\n type CalendarRangeTestsProps,\n type DateRangeType,\n} from '../CalendarRange/CalendarRange';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { InputLike } from '../InputLike/InputLike';\nimport { InputLikeDivider } from '../InputLike/InputLikeDivider';\nimport { Popper } from '../Popper/Popper';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './DateRangeInput.module.css';\nimport dateInputStyles from '../DateInput/DateInput.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\ntype DateTestsProps = {\n /**\n * Передает атрибут `data-testid` для поля ввода дня.\n */\n day?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода месяца.\n */\n month?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода года.\n */\n year?: string;\n};\n\nexport type DateRangeInputTestsProps = {\n /**\n * Передает атрибуты `data-testid` для полей ввода начальной даты.\n */\n startDateTestsProps?: DateTestsProps;\n /**\n * Передает атрибуты `data-testid` для полей ввода конечной даты.\n */\n endDateTestsProps?: DateTestsProps;\n /**\n * Передает атрибут `data-testid` для кнопки показа календаря.\n */\n showCalendarButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки очистки даты.\n */\n clearButtonTestId?: string;\n};\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'>,\n Pick<\n CalendarRangeProps,\n | 'disablePast'\n | 'disableFuture'\n | 'shouldDisableDate'\n | 'onChange'\n | 'value'\n | 'defaultValue'\n | 'weekStartsOn'\n | 'disablePickers'\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'changeDayLabel'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'renderDayContent'\n >,\n HasRootRef<HTMLDivElement>,\n Omit<FormFieldProps, 'maxHeight'>,\n DateRangeInputTestsProps {\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в календаре.\n */\n calendarTestsProps?: CalendarRangeTestsProps;\n /**\n * Расположение календаря относительно поля ввода.\n */\n calendarPlacement?: PlacementWithAuto;\n /**\n * Автоматически закрывать календарь при изменениях.\n */\n closeOnChange?: boolean;\n /**\n * Обработчик изменения состояния открытия календаря.\n */\n onCalendarOpenChanged?: (opened: boolean) => void;\n /**\n * Label для кнопки очистки. Делает доступным для ассистивных технологий.\n */\n clearFieldLabel?: string;\n /**\n * Label для кнопки открытия календаря. Делает доступным для ассистивных технологий.\n */\n showCalendarLabel?: string;\n /**\n * Label для ввода дня начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartDayLabel?: string;\n /**\n * Label для ввода месяца начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartMonthLabel?: string;\n /**\n * Label для ввода года начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartYearLabel?: string;\n /**\n * Label для ввода дня конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndDayLabel?: string;\n /**\n * Label для ввода месяца конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndMonthLabel?: string;\n /**\n * Label для ввода года конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndYearLabel?: string;\n /**\n * Отключение открытия календаря.\n */\n disableCalendar?: boolean;\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\n/**\n * @see https://vkcom.github.io/VKUI/#/DateRangeInput\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value: valueProp,\n defaultValue,\n onChange,\n calendarPlacement: calendarPlacementProp = 'bottom-start',\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeDayLabel = 'Изменить день',\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n changeStartDayLabel = 'Изменить день начала',\n changeStartMonthLabel = 'Изменить месяц начала',\n changeStartYearLabel = 'Изменить год начала',\n changeEndDayLabel = 'Изменить день окончания',\n changeEndMonthLabel = 'Изменить месяц окончания',\n changeEndYearLabel = 'Изменить год окончания',\n clearFieldLabel = 'Очистить поле',\n showCalendarLabel = 'Показать календарь',\n prevMonthIcon,\n nextMonthIcon,\n disableCalendar = false,\n onCalendarOpenChanged,\n renderDayContent,\n calendarTestsProps,\n startDateTestsProps,\n endDateTestsProps,\n clearButtonTestId,\n showCalendarButtonTestId,\n id,\n ...props\n}: DateRangeInputProps): React.ReactNode => {\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 _onChange = React.useCallback(\n (newValue: DateRangeType | null | undefined) => onChange?.(newValue || undefined),\n [onChange],\n );\n\n const [value, updateValue] = useCustomEnsuredControl<DateRangeType | null | undefined>({\n value: valueProp,\n defaultValue,\n onChange: _onChange,\n });\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 updateValue([start, end]);\n }\n },\n [updateValue, value],\n );\n\n const refs = React.useMemo(\n () => [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef],\n [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef],\n );\n\n const onClear = React.useCallback(() => updateValue(undefined), [updateValue]);\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 onClear,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n });\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const handleRootRef = useExternRef(rootRef, getRootRef);\n\n const onCalendarChange = React.useCallback(\n (newValue: DateRangeType | undefined) => {\n updateValue(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [updateValue, closeOnChange, value, removeFocusFromField],\n );\n\n // при переключении месяцев высота календаря может меняться,\n // чтобы календарь не прыгал при переключении месяцев каждый раз на\n // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался\n // на ней, пока помещается.\n const [calendarPlacement, setCalendarPlacement] =\n React.useState<PlacementWithAuto>(calendarPlacementProp);\n\n return (\n <FormField\n style={style}\n className={classNames(sizeY !== 'regular' && sizeYClassNames[sizeY], className)}\n getRootRef={handleRootRef}\n after={\n value ? (\n <IconButton hoverMode=\"opacity\" onClick={clear} data-testid={clearButtonTestId}>\n <VisuallyHidden>{clearFieldLabel}</VisuallyHidden>\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n onClick={openCalendar}\n data-testid={showCalendarButtonTestId}\n >\n <VisuallyHidden>{showCalendarLabel}</VisuallyHidden>\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <div className={dateInputStyles.wrapper}>\n <VisuallyHidden\n id={id}\n Component=\"input\"\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 <Text className={dateInputStyles.input} onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n label={changeStartDayLabel}\n data-testid={startDateTestsProps?.day}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n label={changeStartMonthLabel}\n data-testid={startDateTestsProps?.month}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n label={changeStartYearLabel}\n data-testid={startDateTestsProps?.year}\n />\n <InputLikeDivider>{' — '}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n label={changeEndDayLabel}\n data-testid={endDateTestsProps?.day}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n label={changeEndMonthLabel}\n data-testid={endDateTestsProps?.month}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n label={changeEndYearLabel}\n data-testid={endDateTestsProps?.year}\n />\n </Text>\n </div>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetByMainAxis={8}\n placement={calendarPlacement}\n onPlacementChange={setCalendarPlacement}\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 prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n changeDayLabel={changeDayLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n renderDayContent={renderDayContent}\n {...calendarTestsProps}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"names":["React","Icon16Clear","Icon20CalendarOutline","classNames","isAfter","useAdaptivity","useDateInput","useCustomEnsuredControl","useExternRef","callMultiple","format","isMatch","parse","CalendarRange","FormField","IconButton","InputLike","InputLikeDivider","Popper","Text","VisuallyHidden","styles","dateInputStyles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","valueProp","defaultValue","onChange","calendarPlacement","calendarPlacementProp","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthLabel","nextMonthLabel","changeDayLabel","changeMonthLabel","changeYearLabel","changeStartDayLabel","changeStartMonthLabel","changeStartYearLabel","changeEndDayLabel","changeEndMonthLabel","changeEndYearLabel","clearFieldLabel","showCalendarLabel","prevMonthIcon","nextMonthIcon","disableCalendar","onCalendarOpenChanged","renderDayContent","calendarTestsProps","startDateTestsProps","endDateTestsProps","clearButtonTestId","showCalendarButtonTestId","id","props","daysStartRef","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","_onChange","useCallback","undefined","updateValue","onInternalValueChange","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","onClear","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","maxElement","sizeY","handleRootRef","onCalendarChange","setCalendarPlacement","useState","after","hoverMode","data-testid","div","wrapper","Component","input","onKeyDown","onElementSelect","label","day","month","year","targetRef","offsetByMainAxis","placement","onPlacementChange","onClose"],"mappings":"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"}