@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
@@ -65,6 +65,11 @@ export const CalendarHeader = ({ viewDate, onChange, prevMonthHidden: prevMonthH
65
65
  if (isMonthDisabled && !prevMonthHidden) {
66
66
  prevMonthHidden = isMonthDisabled(currentMonth === 0 ? 11 : currentMonth - 1, currentMonth === 0 ? Math.max(currentYear - 1, DEFAULT_MIN_YEAR) : currentYear);
67
67
  }
68
+ const stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen = React.useCallback((event, isOpen)=>{
69
+ if (isOpen && event.key === 'Escape') {
70
+ event.stopPropagation();
71
+ }
72
+ }, []);
68
73
  return /*#__PURE__*/ _jsxs(RootComponent, {
69
74
  baseClassName: styles.host,
70
75
  ...restProps,
@@ -119,7 +124,8 @@ export const CalendarHeader = ({ viewDate, onChange, prevMonthHidden: prevMonthH
119
124
  forceDropdownPortal: false,
120
125
  selectType: "accent",
121
126
  "aria-label": changeMonthLabel,
122
- "data-testid": typeof monthDropdownTestId === 'string' ? monthDropdownTestId : monthDropdownTestId?.(currentMonth)
127
+ "data-testid": typeof monthDropdownTestId === 'string' ? monthDropdownTestId : monthDropdownTestId?.(currentMonth),
128
+ onInputKeyDown: stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen
123
129
  }),
124
130
  /*#__PURE__*/ _jsx(CustomSelect, {
125
131
  className: classNames(styles.picker, 'vkuiInternalCalendarHeader__picker'),
@@ -132,7 +138,8 @@ export const CalendarHeader = ({ viewDate, onChange, prevMonthHidden: prevMonthH
132
138
  forceDropdownPortal: false,
133
139
  selectType: "accent",
134
140
  "aria-label": changeYearLabel,
135
- "data-testid": yearDropdownTestId
141
+ "data-testid": yearDropdownTestId,
142
+ onInputKeyDown: stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen
136
143
  })
137
144
  ]
138
145
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CalendarHeader/CalendarHeader.tsx"],"sourcesContent":["'use client';\n\nimport { type ChangeEvent } from 'react';\nimport * as React from 'react';\nimport {\n Icon12Dropdown,\n Icon20ChevronLeftOutline,\n Icon20ChevronRightOutline,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { addMonths, setMonth, setYear, subMonths } from 'date-fns';\nimport { DEFAULT_MAX_YEAR, DEFAULT_MIN_YEAR, getMonths, getYears } from '../../lib/calendar';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { AdaptivityProvider } from '../AdaptivityProvider/AdaptivityProvider';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { CustomSelect, type SelectProps } from '../CustomSelect/CustomSelect';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Paragraph } from '../Typography/Paragraph/Paragraph';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './CalendarHeader.module.css';\n\ntype ArrowMonthProps = Omit<React.AllHTMLAttributes<HTMLElement>, 'onClick' | 'aria-label'>;\n\nexport type CalendarHeaderTestsProps = {\n /**\n * Передает атрибут `data-testid` для дропдауна выбора месяца в заголовке календаря\n */\n monthDropdownTestId?: string | ((monthIndex: number) => string);\n /**\n * Передает атрибут `data-testid` для дропдауна выбора года в заголовке календаря\n */\n yearDropdownTestId?: string | ((year: number) => string);\n /**\n * Передает атрибут `data-testid` для кнопки перехода к следующему месяцу в заголовке календаря\n */\n nextMonthButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки перехода к предыдущему месяцу в заголовке календаря\n */\n prevMonthButtonTestId?: string;\n};\n\nexport interface CalendarHeaderProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>,\n CalendarHeaderTestsProps {\n viewDate: Date;\n /**\n * Скрывает иконку для переключения на предыдущий месяц\n */\n prevMonthHidden?: boolean;\n /**\n * Скрывает иконку для переключения на следующий месяц\n */\n nextMonthHidden?: boolean;\n disablePickers?: boolean;\n prevMonthLabel?: string;\n nextMonthLabel?: string;\n changeMonthLabel?: string;\n changeYearLabel?: string;\n prevMonthIcon?: React.ReactNode;\n nextMonthIcon?: React.ReactNode;\n prevMonthProps?: ArrowMonthProps;\n nextMonthProps?: ArrowMonthProps;\n isMonthDisabled?: (monthNumber: number, year?: number) => boolean;\n isYearDisabled?: (yearNumber: number) => boolean;\n onChange: (viewDate: Date) => void;\n /**\n * Нажатие на кнопку переключения на следующий месяц.\n */\n onNextMonth?: () => void;\n /**\n * Нажатие на кнопку переключения на предыдущий месяц.\n */\n onPrevMonth?: () => void;\n}\n\nexport const CalendarHeader = ({\n viewDate,\n onChange,\n prevMonthHidden: prevMonthHiddenProp = false,\n nextMonthHidden: nextMonthHiddenProp = false,\n disablePickers = false,\n onNextMonth,\n onPrevMonth,\n prevMonthProps = {},\n nextMonthProps = {},\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n prevMonthIcon = (\n <Icon20ChevronLeftOutline className={styles.navIconAccent} width={30} height={30} />\n ),\n nextMonthIcon = (\n <Icon20ChevronRightOutline className={styles.navIconAccent} width={30} height={30} />\n ),\n isMonthDisabled,\n isYearDisabled,\n monthDropdownTestId,\n yearDropdownTestId,\n prevMonthButtonTestId,\n nextMonthButtonTestId,\n ...restProps\n}: CalendarHeaderProps): React.ReactNode => {\n const { locale, direction } = useConfigProvider();\n\n const onMonthsChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange(setMonth(viewDate, Number(newValue))),\n [onChange, viewDate],\n );\n const onYearChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange(setYear(viewDate, Number(newValue))),\n [onChange, viewDate],\n );\n\n const currentYear = viewDate.getFullYear();\n const currentMonth = viewDate.getMonth();\n\n const months = React.useMemo(\n () =>\n getMonths(locale).map(({ value, label }) => ({\n value,\n label: <span className={styles.month}>{label}</span>,\n disabled: isMonthDisabled && isMonthDisabled(value),\n })),\n [locale, isMonthDisabled],\n );\n\n const years = React.useMemo(\n () =>\n getYears(currentYear, 100).map((year) => ({\n ...year,\n disabled: isYearDisabled && isYearDisabled(year.value),\n })),\n [currentYear, isYearDisabled],\n );\n\n const formatter = new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: 'long',\n });\n\n const { className: prevMonthClassName, ...restPrevMonthProps } = prevMonthProps;\n const { className: nextMonthClassName, ...restNextMonthProps } = nextMonthProps;\n\n let nextMonthHidden =\n nextMonthHiddenProp || (currentMonth === 11 && currentYear === DEFAULT_MAX_YEAR);\n if (isMonthDisabled && !nextMonthHidden) {\n nextMonthHidden = isMonthDisabled(\n currentMonth === 11 ? 0 : currentMonth + 1,\n currentMonth === 11 ? Math.min(currentYear + 1, DEFAULT_MAX_YEAR) : currentYear,\n );\n }\n\n let prevMonthHidden =\n prevMonthHiddenProp || (currentMonth === 0 && currentYear === DEFAULT_MIN_YEAR);\n if (isMonthDisabled && !prevMonthHidden) {\n prevMonthHidden = isMonthDisabled(\n currentMonth === 0 ? 11 : currentMonth - 1,\n currentMonth === 0 ? Math.max(currentYear - 1, DEFAULT_MIN_YEAR) : currentYear,\n );\n }\n\n return (\n <RootComponent baseClassName={styles.host} {...restProps}>\n {!prevMonthHidden && (\n <AdaptivityProvider sizeX=\"regular\">\n <Tappable\n baseClassName={classNames(styles.navIcon, styles.navIconPrev, prevMonthClassName)}\n onClick={onPrevMonth}\n data-testid={prevMonthButtonTestId}\n {...restPrevMonthProps}\n >\n <VisuallyHidden>\n {prevMonthLabel}, {formatter.format(subMonths(viewDate, 1))}\n </VisuallyHidden>\n {direction === 'ltr' ? prevMonthIcon : nextMonthIcon}\n </Tappable>\n </AdaptivityProvider>\n )}\n {disablePickers ? (\n <Paragraph\n className={classNames(styles.pickers, 'vkuiInternalCalendarHeader__pickers')}\n weight=\"2\"\n >\n <span className={styles.month}>\n {new Intl.DateTimeFormat(locale, {\n month: 'long',\n }).format(viewDate)}\n </span>\n &nbsp;\n {new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n }).format(viewDate)}\n </Paragraph>\n ) : (\n <AdaptivityProvider sizeY=\"compact\">\n <div className={classNames(styles.pickers, 'vkuiInternalCalendarHeader__pickers')}>\n <CustomSelect\n className={classNames(styles.picker, 'vkuiInternalCalendarHeader__picker')}\n value={currentMonth}\n options={months}\n dropdownOffsetDistance={4}\n dropdownAutoWidth\n icon={<Icon12Dropdown />}\n onChange={onMonthsChange}\n forceDropdownPortal={false}\n selectType=\"accent\"\n aria-label={changeMonthLabel}\n data-testid={\n typeof monthDropdownTestId === 'string'\n ? monthDropdownTestId\n : monthDropdownTestId?.(currentMonth)\n }\n />\n <CustomSelect\n className={classNames(styles.picker, 'vkuiInternalCalendarHeader__picker')}\n value={currentYear}\n options={years}\n dropdownOffsetDistance={4}\n dropdownAutoWidth\n icon={<Icon12Dropdown />}\n onChange={onYearChange}\n forceDropdownPortal={false}\n selectType=\"accent\"\n aria-label={changeYearLabel}\n data-testid={yearDropdownTestId}\n />\n </div>\n </AdaptivityProvider>\n )}\n {!nextMonthHidden && (\n <AdaptivityProvider sizeX=\"regular\">\n <Tappable\n baseClassName={classNames(styles.navIcon, styles.navIconNext, nextMonthClassName)}\n onClick={onNextMonth}\n data-testid={nextMonthButtonTestId}\n {...restNextMonthProps}\n >\n <VisuallyHidden>\n {nextMonthLabel}, {formatter.format(addMonths(viewDate, 1))}\n </VisuallyHidden>\n {direction === 'ltr' ? nextMonthIcon : prevMonthIcon}\n </Tappable>\n </AdaptivityProvider>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon12Dropdown","Icon20ChevronLeftOutline","Icon20ChevronRightOutline","classNames","addMonths","setMonth","setYear","subMonths","DEFAULT_MAX_YEAR","DEFAULT_MIN_YEAR","getMonths","getYears","AdaptivityProvider","useConfigProvider","CustomSelect","RootComponent","Tappable","Paragraph","VisuallyHidden","styles","CalendarHeader","viewDate","onChange","prevMonthHidden","prevMonthHiddenProp","nextMonthHidden","nextMonthHiddenProp","disablePickers","onNextMonth","onPrevMonth","prevMonthProps","nextMonthProps","prevMonthLabel","nextMonthLabel","changeMonthLabel","changeYearLabel","prevMonthIcon","className","navIconAccent","width","height","nextMonthIcon","isMonthDisabled","isYearDisabled","monthDropdownTestId","yearDropdownTestId","prevMonthButtonTestId","nextMonthButtonTestId","restProps","locale","direction","onMonthsChange","useCallback","_","newValue","Number","onYearChange","currentYear","getFullYear","currentMonth","getMonth","months","useMemo","map","value","label","span","month","disabled","years","year","formatter","Intl","DateTimeFormat","prevMonthClassName","restPrevMonthProps","nextMonthClassName","restNextMonthProps","Math","min","max","baseClassName","host","sizeX","navIcon","navIconPrev","onClick","data-testid","format","pickers","weight","sizeY","div","picker","options","dropdownOffsetDistance","dropdownAutoWidth","icon","forceDropdownPortal","selectType","aria-label","navIconNext"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/CalendarHeader/CalendarHeader.tsx"],"sourcesContent":["'use client';\n\nimport { type ChangeEvent } from 'react';\nimport * as React from 'react';\nimport {\n Icon12Dropdown,\n Icon20ChevronLeftOutline,\n Icon20ChevronRightOutline,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { addMonths, setMonth, setYear, subMonths } from 'date-fns';\nimport { DEFAULT_MAX_YEAR, DEFAULT_MIN_YEAR, getMonths, getYears } from '../../lib/calendar';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { AdaptivityProvider } from '../AdaptivityProvider/AdaptivityProvider';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { CustomSelect, type SelectProps } from '../CustomSelect/CustomSelect';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Paragraph } from '../Typography/Paragraph/Paragraph';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './CalendarHeader.module.css';\n\ntype ArrowMonthProps = Omit<React.AllHTMLAttributes<HTMLElement>, 'onClick' | 'aria-label'>;\n\nexport type CalendarHeaderTestsProps = {\n /**\n * Передает атрибут `data-testid` для дропдауна выбора месяца в заголовке календаря.\n */\n monthDropdownTestId?: string | ((monthIndex: number) => string);\n /**\n * Передает атрибут `data-testid` для дропдауна выбора года в заголовке календаря.\n */\n yearDropdownTestId?: string | ((year: number) => string);\n /**\n * Передает атрибут `data-testid` для кнопки перехода к следующему месяцу в заголовке календаря.\n */\n nextMonthButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки перехода к предыдущему месяцу в заголовке календаря.\n */\n prevMonthButtonTestId?: string;\n};\n\nexport interface CalendarHeaderProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>,\n CalendarHeaderTestsProps {\n /**\n * Отображаемая дата.\n */\n viewDate: Date;\n /**\n * Скрывает иконку для переключения на предыдущий месяц.\n */\n prevMonthHidden?: boolean;\n /**\n * Скрывает иконку для переключения на следующий месяц.\n */\n nextMonthHidden?: boolean;\n /**\n * Отключает селекторы выбора месяца/года.\n */\n disablePickers?: boolean;\n /**\n * `aria-label` для кнопки предыдущего месяца.\n */\n prevMonthLabel?: string;\n /**\n * `aria-label` для кнопки следующего месяца.\n */\n nextMonthLabel?: string;\n /**\n * `aria-label` для селектора месяца.\n */\n changeMonthLabel?: string;\n /**\n * `aria-label` для селектора года.\n */\n changeYearLabel?: string;\n /**\n * Кастомная иконка для кнопки предыдущего месяца.\n */\n prevMonthIcon?: React.ReactNode;\n /**\n * Кастомная иконка для кнопки следующего месяца.\n */\n nextMonthIcon?: React.ReactNode;\n /**\n * Дополнительные свойства для кнопки предыдущего месяца.\n */\n prevMonthProps?: ArrowMonthProps;\n /**\n * Дополнительные свойства для кнопки следующего месяца.\n */\n nextMonthProps?: ArrowMonthProps;\n /**\n * Функция для проверки блокировки месяца.\n */\n isMonthDisabled?: (monthNumber: number, year?: number) => boolean;\n /**\n * Функция для проверки блокировки года.\n */\n isYearDisabled?: (yearNumber: number) => boolean;\n /**\n * Обработчик изменения отображаемой даты.\n */\n onChange: (viewDate: Date) => void;\n /**\n * Нажатие на кнопку переключения на следующий месяц.\n */\n onNextMonth?: () => void;\n /**\n * Нажатие на кнопку переключения на предыдущий месяц.\n */\n onPrevMonth?: () => void;\n}\n\nexport const CalendarHeader = ({\n viewDate,\n onChange,\n prevMonthHidden: prevMonthHiddenProp = false,\n nextMonthHidden: nextMonthHiddenProp = false,\n disablePickers = false,\n onNextMonth,\n onPrevMonth,\n prevMonthProps = {},\n nextMonthProps = {},\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n prevMonthIcon = (\n <Icon20ChevronLeftOutline className={styles.navIconAccent} width={30} height={30} />\n ),\n nextMonthIcon = (\n <Icon20ChevronRightOutline className={styles.navIconAccent} width={30} height={30} />\n ),\n isMonthDisabled,\n isYearDisabled,\n monthDropdownTestId,\n yearDropdownTestId,\n prevMonthButtonTestId,\n nextMonthButtonTestId,\n ...restProps\n}: CalendarHeaderProps): React.ReactNode => {\n const { locale, direction } = useConfigProvider();\n\n const onMonthsChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange(setMonth(viewDate, Number(newValue))),\n [onChange, viewDate],\n );\n const onYearChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange(setYear(viewDate, Number(newValue))),\n [onChange, viewDate],\n );\n\n const currentYear = viewDate.getFullYear();\n const currentMonth = viewDate.getMonth();\n\n const months = React.useMemo(\n () =>\n getMonths(locale).map(({ value, label }) => ({\n value,\n label: <span className={styles.month}>{label}</span>,\n disabled: isMonthDisabled && isMonthDisabled(value),\n })),\n [locale, isMonthDisabled],\n );\n\n const years = React.useMemo(\n () =>\n getYears(currentYear, 100).map((year) => ({\n ...year,\n disabled: isYearDisabled && isYearDisabled(year.value),\n })),\n [currentYear, isYearDisabled],\n );\n\n const formatter = new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: 'long',\n });\n\n const { className: prevMonthClassName, ...restPrevMonthProps } = prevMonthProps;\n const { className: nextMonthClassName, ...restNextMonthProps } = nextMonthProps;\n\n let nextMonthHidden =\n nextMonthHiddenProp || (currentMonth === 11 && currentYear === DEFAULT_MAX_YEAR);\n if (isMonthDisabled && !nextMonthHidden) {\n nextMonthHidden = isMonthDisabled(\n currentMonth === 11 ? 0 : currentMonth + 1,\n currentMonth === 11 ? Math.min(currentYear + 1, DEFAULT_MAX_YEAR) : currentYear,\n );\n }\n\n let prevMonthHidden =\n prevMonthHiddenProp || (currentMonth === 0 && currentYear === DEFAULT_MIN_YEAR);\n if (isMonthDisabled && !prevMonthHidden) {\n prevMonthHidden = isMonthDisabled(\n currentMonth === 0 ? 11 : currentMonth - 1,\n currentMonth === 0 ? Math.max(currentYear - 1, DEFAULT_MIN_YEAR) : currentYear,\n );\n }\n\n const stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen = React.useCallback(\n (event: React.KeyboardEvent, isOpen: boolean) => {\n if (isOpen && event.key === 'Escape') {\n event.stopPropagation();\n }\n },\n [],\n );\n\n return (\n <RootComponent baseClassName={styles.host} {...restProps}>\n {!prevMonthHidden && (\n <AdaptivityProvider sizeX=\"regular\">\n <Tappable\n baseClassName={classNames(styles.navIcon, styles.navIconPrev, prevMonthClassName)}\n onClick={onPrevMonth}\n data-testid={prevMonthButtonTestId}\n {...restPrevMonthProps}\n >\n <VisuallyHidden>\n {prevMonthLabel}, {formatter.format(subMonths(viewDate, 1))}\n </VisuallyHidden>\n {direction === 'ltr' ? prevMonthIcon : nextMonthIcon}\n </Tappable>\n </AdaptivityProvider>\n )}\n {disablePickers ? (\n <Paragraph\n className={classNames(styles.pickers, 'vkuiInternalCalendarHeader__pickers')}\n weight=\"2\"\n >\n <span className={styles.month}>\n {new Intl.DateTimeFormat(locale, {\n month: 'long',\n }).format(viewDate)}\n </span>\n &nbsp;\n {new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n }).format(viewDate)}\n </Paragraph>\n ) : (\n <AdaptivityProvider sizeY=\"compact\">\n <div className={classNames(styles.pickers, 'vkuiInternalCalendarHeader__pickers')}>\n <CustomSelect\n className={classNames(styles.picker, 'vkuiInternalCalendarHeader__picker')}\n value={currentMonth}\n options={months}\n dropdownOffsetDistance={4}\n dropdownAutoWidth\n icon={<Icon12Dropdown />}\n onChange={onMonthsChange}\n forceDropdownPortal={false}\n selectType=\"accent\"\n aria-label={changeMonthLabel}\n data-testid={\n typeof monthDropdownTestId === 'string'\n ? monthDropdownTestId\n : monthDropdownTestId?.(currentMonth)\n }\n onInputKeyDown={stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen}\n />\n <CustomSelect\n className={classNames(styles.picker, 'vkuiInternalCalendarHeader__picker')}\n value={currentYear}\n options={years}\n dropdownOffsetDistance={4}\n dropdownAutoWidth\n icon={<Icon12Dropdown />}\n onChange={onYearChange}\n forceDropdownPortal={false}\n selectType=\"accent\"\n aria-label={changeYearLabel}\n data-testid={yearDropdownTestId}\n onInputKeyDown={stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen}\n />\n </div>\n </AdaptivityProvider>\n )}\n {!nextMonthHidden && (\n <AdaptivityProvider sizeX=\"regular\">\n <Tappable\n baseClassName={classNames(styles.navIcon, styles.navIconNext, nextMonthClassName)}\n onClick={onNextMonth}\n data-testid={nextMonthButtonTestId}\n {...restNextMonthProps}\n >\n <VisuallyHidden>\n {nextMonthLabel}, {formatter.format(addMonths(viewDate, 1))}\n </VisuallyHidden>\n {direction === 'ltr' ? nextMonthIcon : prevMonthIcon}\n </Tappable>\n </AdaptivityProvider>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon12Dropdown","Icon20ChevronLeftOutline","Icon20ChevronRightOutline","classNames","addMonths","setMonth","setYear","subMonths","DEFAULT_MAX_YEAR","DEFAULT_MIN_YEAR","getMonths","getYears","AdaptivityProvider","useConfigProvider","CustomSelect","RootComponent","Tappable","Paragraph","VisuallyHidden","styles","CalendarHeader","viewDate","onChange","prevMonthHidden","prevMonthHiddenProp","nextMonthHidden","nextMonthHiddenProp","disablePickers","onNextMonth","onPrevMonth","prevMonthProps","nextMonthProps","prevMonthLabel","nextMonthLabel","changeMonthLabel","changeYearLabel","prevMonthIcon","className","navIconAccent","width","height","nextMonthIcon","isMonthDisabled","isYearDisabled","monthDropdownTestId","yearDropdownTestId","prevMonthButtonTestId","nextMonthButtonTestId","restProps","locale","direction","onMonthsChange","useCallback","_","newValue","Number","onYearChange","currentYear","getFullYear","currentMonth","getMonth","months","useMemo","map","value","label","span","month","disabled","years","year","formatter","Intl","DateTimeFormat","prevMonthClassName","restPrevMonthProps","nextMonthClassName","restNextMonthProps","Math","min","max","stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen","event","isOpen","key","stopPropagation","baseClassName","host","sizeX","navIcon","navIconPrev","onClick","data-testid","format","pickers","weight","sizeY","div","picker","options","dropdownOffsetDistance","dropdownAutoWidth","icon","forceDropdownPortal","selectType","aria-label","onInputKeyDown","navIconNext"],"mappings":"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"}
@@ -5,6 +5,7 @@ import { addMonths, endOfDay, isAfter, isBefore, isSameDay, isSameMonth, isWithi
5
5
  import { useCalendar } from "../../hooks/useCalendar.js";
6
6
  import { useCustomEnsuredControl } from "../../hooks/useEnsuredControl.js";
7
7
  import { isFirstDay, isLastDay, navigateDate } from "../../lib/calendar.js";
8
+ import { isHTMLElement } from "../../lib/dom.js";
8
9
  import { CalendarDays } from "../CalendarDays/CalendarDays.js";
9
10
  import { CalendarHeader } from "../CalendarHeader/CalendarHeader.js";
10
11
  import { RootComponent } from "../RootComponent/RootComponent.js";
@@ -20,7 +21,7 @@ const getIsDaySelected = (day, value)=>{
20
21
  };
21
22
  /**
22
23
  * @see https://vkcom.github.io/VKUI/#/CalendarRange
23
- */ export const CalendarRange = ({ value: valueProp, defaultValue, onChange, disablePast, disableFuture, shouldDisableDate, onClose, weekStartsOn = 1, disablePickers, prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', changeMonthLabel = 'Изменить месяц', changeYearLabel = 'Изменить год', changeDayLabel = 'Изменить день', prevMonthIcon, nextMonthIcon, listenDayChangesForUpdate, renderDayContent, dayTestId, leftPartHeaderTestsData, rightPartHeaderTestsData, getRootRef, ...props })=>{
24
+ */ export const CalendarRange = ({ value: valueProp, defaultValue, onChange, disablePast, disableFuture, shouldDisableDate, weekStartsOn = 1, disablePickers, prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', changeMonthLabel = 'Изменить месяц', changeYearLabel = 'Изменить год', changeDayLabel = 'Изменить день', prevMonthIcon, nextMonthIcon, listenDayChangesForUpdate, renderDayContent, dayTestId, leftPartHeaderTestsData, rightPartHeaderTestsData, getRootRef, ...props })=>{
24
25
  const _onChange = React.useCallback((newValue)=>onChange?.(newValue || undefined), [
25
26
  onChange
26
27
  ]);
@@ -42,15 +43,24 @@ const getIsDaySelected = (day, value)=>{
42
43
  'ArrowUp',
43
44
  'ArrowDown',
44
45
  'ArrowLeft',
45
- 'ArrowRight'
46
+ 'ArrowRight',
47
+ 'Home',
48
+ 'End',
49
+ 'PageUp',
50
+ 'PageDown'
46
51
  ].includes(event.key)) {
47
52
  event.preventDefault();
53
+ const newFocusedDay = navigateDate(focusedDay ?? value?.[1], event.key);
54
+ if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate) && !isSameMonth(newFocusedDay, addMonths(viewDate, 1))) {
55
+ setViewDate(newFocusedDay);
56
+ }
57
+ setFocusedDay(newFocusedDay);
58
+ return;
48
59
  }
49
- const newFocusedDay = navigateDate(focusedDay ?? value?.[1], event.key);
50
- if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate) && !isSameMonth(newFocusedDay, addMonths(viewDate, 1))) {
51
- setViewDate(newFocusedDay);
60
+ if ((event.key === 'Enter' || event.key === ' ') && isHTMLElement(event.target)) {
61
+ event.preventDefault();
62
+ event.target.click?.();
52
63
  }
53
- setFocusedDay(newFocusedDay);
54
64
  }, [
55
65
  focusedDay,
56
66
  setFocusedDay,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CalendarRange/CalendarRange.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n addMonths,\n endOfDay,\n isAfter,\n isBefore,\n isSameDay,\n isSameMonth,\n isWithinInterval,\n startOfDay,\n subMonths,\n} from 'date-fns';\nimport { useCalendar } from '../../hooks/useCalendar';\nimport { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { isFirstDay, isLastDay, navigateDate } from '../../lib/calendar';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport {\n CalendarDays,\n type CalendarDaysProps,\n type CalendarDaysTestsProps,\n} from '../CalendarDays/CalendarDays';\nimport {\n CalendarHeader,\n type CalendarHeaderProps,\n type CalendarHeaderTestsProps,\n} from '../CalendarHeader/CalendarHeader';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CalendarRange.module.css';\n\nexport type DateRangeType = [Date | null, Date | null];\n\nexport type CalendarRangeTestsProps = CalendarDaysTestsProps & {\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в заголовке календаря в левой части\n */\n leftPartHeaderTestsData?: CalendarHeaderTestsProps;\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в заголовке календаря в правой части\n */\n rightPartHeaderTestsData?: CalendarHeaderTestsProps;\n};\n\nexport interface CalendarRangeProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'defaultValue'>,\n Pick<\n CalendarHeaderProps,\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n >,\n Pick<CalendarDaysProps, 'listenDayChangesForUpdate' | 'renderDayContent'>,\n CalendarRangeTestsProps {\n value?: DateRangeType | null;\n defaultValue?: DateRangeType | null;\n disablePast?: boolean;\n disableFuture?: boolean;\n disablePickers?: boolean;\n changeDayLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n onChange?: (value: DateRangeType | undefined) => void; // TODO [>=8]: поменять тип на `(value?: DateRangeType | null) => void`\n shouldDisableDate?: (value: Date) => boolean;\n onClose?: () => void;\n}\n\nconst getIsDaySelected = (day: Date, value?: DateRangeType | null) => {\n if (!value?.[0] || !value[1]) {\n return false;\n }\n\n return isWithinInterval(day, { start: startOfDay(value[0]), end: endOfDay(value[1]) });\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CalendarRange\n */\nexport const CalendarRange = ({\n value: valueProp,\n defaultValue,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n weekStartsOn = 1,\n disablePickers,\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n changeDayLabel = 'Изменить день',\n prevMonthIcon,\n nextMonthIcon,\n listenDayChangesForUpdate,\n renderDayContent,\n dayTestId,\n leftPartHeaderTestsData,\n rightPartHeaderTestsData,\n getRootRef,\n ...props\n}: CalendarRangeProps): React.ReactNode => {\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 {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n isMonthDisabled,\n isYearDisabled,\n } = useCalendar({ value, disableFuture, disablePast, shouldDisableDate });\n\n const [hintedDate, setHintedDate] = React.useState<DateRangeType>();\n const secondViewDate = addMonths(viewDate, 1);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value?.[1], event.key);\n\n if (\n newFocusedDay &&\n !isSameMonth(newFocusedDay, viewDate) &&\n !isSameMonth(newFocusedDay, addMonths(viewDate, 1))\n ) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate],\n );\n\n const getNewValue = React.useCallback(\n (date: Date): DateRangeType => {\n const isValueEmpty = !value || (value[0] === null && value[1] === null);\n const isRangeSelected = value && !!value[0] && !!value[1];\n if (isValueEmpty || isRangeSelected) {\n return [date, null];\n }\n\n const [start] = value;\n if (start && isSameDay(date, start)) {\n return [startOfDay(start), endOfDay(start)];\n } else if (start && isBefore(date, start)) {\n return [startOfDay(date), endOfDay(start)];\n } else if (start && isAfter(date, start)) {\n return [start, endOfDay(date)];\n }\n return value;\n },\n [value],\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n updateValue(getNewValue(date));\n setHintedDate(undefined);\n },\n [updateValue, getNewValue],\n );\n\n const isDaySelected = React.useCallback((day: Date) => getIsDaySelected(day, value), [value]);\n\n const isDayActive = React.useCallback(\n (day: Date) =>\n Boolean((value?.[0] && isSameDay(day, value[0])) || (value?.[1] && isSameDay(day, value[1]))),\n [value],\n );\n\n const isDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(isLastDay(day, dayOfWeek) || (value?.[1] && isSameDay(day, value[1]))),\n [value],\n );\n\n const isHintedDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(isLastDay(day, dayOfWeek) || (hintedDate?.[1] && isSameDay(day, hintedDate[1]))),\n [hintedDate],\n );\n\n const isDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(isFirstDay(day, dayOfWeek) || (value?.[0] && isSameDay(day, value[0]))),\n [value],\n );\n\n const isHintedDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(isFirstDay(day, dayOfWeek) || (hintedDate?.[0] && isSameDay(day, hintedDate[0]))),\n [hintedDate],\n );\n\n const onDayEnter = React.useCallback(\n (date: Date) => setHintedDate(getNewValue(date)),\n [setHintedDate, getNewValue],\n );\n\n const onDayLeave = React.useCallback(() => setHintedDate(undefined), [setHintedDate]);\n\n const isDayHinted = React.useCallback(\n (day: Date) => getIsDaySelected(day, hintedDate),\n [hintedDate],\n );\n\n const onRightPartViewDateChange = React.useCallback(\n (newDate: Date) => setViewDate(subMonths(newDate, 1)),\n [setViewDate],\n );\n\n return (\n <RootComponent {...props} baseClassName={styles.host} getRootRef={getRootRef}>\n <div className={styles.inner}>\n <CalendarHeader\n viewDate={viewDate}\n onChange={setViewDate}\n nextMonthHidden\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers}\n className={styles.header}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n prevMonthIcon={prevMonthIcon}\n isMonthDisabled={isMonthDisabled}\n isYearDisabled={isYearDisabled}\n {...leftPartHeaderTestsData}\n />\n <CalendarDays\n viewDate={viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n renderDayContent={renderDayContent}\n aria-label={changeDayLabel}\n dayTestId={dayTestId}\n />\n </div>\n <div className={styles.inner}>\n <CalendarHeader\n viewDate={secondViewDate}\n onChange={onRightPartViewDateChange}\n prevMonthHidden\n onNextMonth={setNextMonth}\n disablePickers={disablePickers}\n className={styles.header}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n nextMonthIcon={nextMonthIcon}\n isMonthDisabled={isMonthDisabled}\n isYearDisabled={isYearDisabled}\n {...rightPartHeaderTestsData}\n />\n <CalendarDays\n viewDate={secondViewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n aria-label={changeDayLabel}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n renderDayContent={renderDayContent}\n tabIndex={0}\n onBlur={resetSelectedDay}\n dayTestId={dayTestId}\n />\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","addMonths","endOfDay","isAfter","isBefore","isSameDay","isSameMonth","isWithinInterval","startOfDay","subMonths","useCalendar","useCustomEnsuredControl","isFirstDay","isLastDay","navigateDate","CalendarDays","CalendarHeader","RootComponent","styles","getIsDaySelected","day","value","start","end","CalendarRange","valueProp","defaultValue","onChange","disablePast","disableFuture","shouldDisableDate","onClose","weekStartsOn","disablePickers","prevMonthLabel","nextMonthLabel","changeMonthLabel","changeYearLabel","changeDayLabel","prevMonthIcon","nextMonthIcon","listenDayChangesForUpdate","renderDayContent","dayTestId","leftPartHeaderTestsData","rightPartHeaderTestsData","getRootRef","props","_onChange","useCallback","newValue","undefined","updateValue","viewDate","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","isMonthDisabled","isYearDisabled","hintedDate","setHintedDate","useState","secondViewDate","handleKeyDown","event","includes","key","preventDefault","newFocusedDay","getNewValue","date","isValueEmpty","isRangeSelected","onDayChange","isDaySelected","isDayActive","Boolean","isDaySelectionEnd","dayOfWeek","isHintedDaySelectionEnd","isDaySelectionStart","isHintedDaySelectionStart","onDayEnter","onDayLeave","isDayHinted","onRightPartViewDateChange","newDate","baseClassName","host","div","className","inner","nextMonthHidden","onPrevMonth","header","onKeyDown","aria-label","prevMonthHidden","onNextMonth","tabIndex","onBlur"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/CalendarRange/CalendarRange.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n addMonths,\n endOfDay,\n isAfter,\n isBefore,\n isSameDay,\n isSameMonth,\n isWithinInterval,\n startOfDay,\n subMonths,\n} from 'date-fns';\nimport { useCalendar } from '../../hooks/useCalendar';\nimport { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { isFirstDay, isLastDay, navigateDate } from '../../lib/calendar';\nimport { isHTMLElement } from '../../lib/dom';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport {\n CalendarDays,\n type CalendarDaysProps,\n type CalendarDaysTestsProps,\n} from '../CalendarDays/CalendarDays';\nimport {\n CalendarHeader,\n type CalendarHeaderProps,\n type CalendarHeaderTestsProps,\n} from '../CalendarHeader/CalendarHeader';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CalendarRange.module.css';\n\nexport type DateRangeType = [Date | null, Date | null];\n\nexport type CalendarRangeTestsProps = CalendarDaysTestsProps & {\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в заголовке календаря в левой части.\n */\n leftPartHeaderTestsData?: CalendarHeaderTestsProps;\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в заголовке календаря в правой части.\n */\n rightPartHeaderTestsData?: CalendarHeaderTestsProps;\n};\n\nexport interface CalendarRangeProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'defaultValue'>,\n Pick<\n CalendarHeaderProps,\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n >,\n Pick<CalendarDaysProps, 'listenDayChangesForUpdate' | 'renderDayContent'>,\n CalendarRangeTestsProps {\n /**\n * Текущий выбранный промежуток.\n */\n value?: DateRangeType | null;\n /**\n * Начальный промежуток при монтировании.\n */\n defaultValue?: DateRangeType | null;\n /**\n * Запрещает выбор даты в прошлом.\n * Применяется, если не заданы `shouldDisableDate` и `disableFuture`.\n */\n disablePast?: boolean;\n /**\n * Запрещает выбор даты в будущем.\n * Применяется, если не задано `shouldDisableDate`.\n */\n disableFuture?: boolean;\n /**\n * Отключает селекторы выбора месяца/года.\n */\n disablePickers?: boolean;\n /**\n * `aria-label` для изменения дня.\n */\n changeDayLabel?: string;\n /**\n * День недели, с которого начинается неделя.\n */\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * Обработчик изменения выбранного промежутка.\n */\n onChange?: (value: DateRangeType | undefined) => void; // TODO [>=8]: поменять тип на `(value?: DateRangeType | null) => void`\n /**\n * Функция для проверки запрета выбора даты.\n */\n shouldDisableDate?: (value: Date) => boolean;\n /**\n * @deprecated Свойство не используется.\n */\n onClose?: () => void;\n}\n\nconst getIsDaySelected = (day: Date, value?: DateRangeType | null) => {\n if (!value?.[0] || !value[1]) {\n return false;\n }\n\n return isWithinInterval(day, { start: startOfDay(value[0]), end: endOfDay(value[1]) });\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CalendarRange\n */\nexport const CalendarRange = ({\n value: valueProp,\n defaultValue,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n weekStartsOn = 1,\n disablePickers,\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n changeDayLabel = 'Изменить день',\n prevMonthIcon,\n nextMonthIcon,\n listenDayChangesForUpdate,\n renderDayContent,\n dayTestId,\n leftPartHeaderTestsData,\n rightPartHeaderTestsData,\n getRootRef,\n ...props\n}: CalendarRangeProps): React.ReactNode => {\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 {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n isMonthDisabled,\n isYearDisabled,\n } = useCalendar({ value, disableFuture, disablePast, shouldDisableDate });\n\n const [hintedDate, setHintedDate] = React.useState<DateRangeType>();\n const secondViewDate = addMonths(viewDate, 1);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (\n [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n ].includes(event.key)\n ) {\n event.preventDefault();\n\n const newFocusedDay = navigateDate(focusedDay ?? value?.[1], event.key);\n\n if (\n newFocusedDay &&\n !isSameMonth(newFocusedDay, viewDate) &&\n !isSameMonth(newFocusedDay, addMonths(viewDate, 1))\n ) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n return;\n }\n\n if ((event.key === 'Enter' || event.key === ' ') && isHTMLElement(event.target)) {\n event.preventDefault();\n event.target.click?.();\n }\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate],\n );\n\n const getNewValue = React.useCallback(\n (date: Date): DateRangeType => {\n const isValueEmpty = !value || (value[0] === null && value[1] === null);\n const isRangeSelected = value && !!value[0] && !!value[1];\n if (isValueEmpty || isRangeSelected) {\n return [date, null];\n }\n\n const [start] = value;\n if (start && isSameDay(date, start)) {\n return [startOfDay(start), endOfDay(start)];\n } else if (start && isBefore(date, start)) {\n return [startOfDay(date), endOfDay(start)];\n } else if (start && isAfter(date, start)) {\n return [start, endOfDay(date)];\n }\n return value;\n },\n [value],\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n updateValue(getNewValue(date));\n setHintedDate(undefined);\n },\n [updateValue, getNewValue],\n );\n\n const isDaySelected = React.useCallback((day: Date) => getIsDaySelected(day, value), [value]);\n\n const isDayActive = React.useCallback(\n (day: Date) =>\n Boolean((value?.[0] && isSameDay(day, value[0])) || (value?.[1] && isSameDay(day, value[1]))),\n [value],\n );\n\n const isDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(isLastDay(day, dayOfWeek) || (value?.[1] && isSameDay(day, value[1]))),\n [value],\n );\n\n const isHintedDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(isLastDay(day, dayOfWeek) || (hintedDate?.[1] && isSameDay(day, hintedDate[1]))),\n [hintedDate],\n );\n\n const isDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(isFirstDay(day, dayOfWeek) || (value?.[0] && isSameDay(day, value[0]))),\n [value],\n );\n\n const isHintedDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(isFirstDay(day, dayOfWeek) || (hintedDate?.[0] && isSameDay(day, hintedDate[0]))),\n [hintedDate],\n );\n\n const onDayEnter = React.useCallback(\n (date: Date) => setHintedDate(getNewValue(date)),\n [setHintedDate, getNewValue],\n );\n\n const onDayLeave = React.useCallback(() => setHintedDate(undefined), [setHintedDate]);\n\n const isDayHinted = React.useCallback(\n (day: Date) => getIsDaySelected(day, hintedDate),\n [hintedDate],\n );\n\n const onRightPartViewDateChange = React.useCallback(\n (newDate: Date) => setViewDate(subMonths(newDate, 1)),\n [setViewDate],\n );\n\n return (\n <RootComponent {...props} baseClassName={styles.host} getRootRef={getRootRef}>\n <div className={styles.inner}>\n <CalendarHeader\n viewDate={viewDate}\n onChange={setViewDate}\n nextMonthHidden\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers}\n className={styles.header}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n prevMonthIcon={prevMonthIcon}\n isMonthDisabled={isMonthDisabled}\n isYearDisabled={isYearDisabled}\n {...leftPartHeaderTestsData}\n />\n <CalendarDays\n viewDate={viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n renderDayContent={renderDayContent}\n aria-label={changeDayLabel}\n dayTestId={dayTestId}\n />\n </div>\n <div className={styles.inner}>\n <CalendarHeader\n viewDate={secondViewDate}\n onChange={onRightPartViewDateChange}\n prevMonthHidden\n onNextMonth={setNextMonth}\n disablePickers={disablePickers}\n className={styles.header}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n nextMonthIcon={nextMonthIcon}\n isMonthDisabled={isMonthDisabled}\n isYearDisabled={isYearDisabled}\n {...rightPartHeaderTestsData}\n />\n <CalendarDays\n viewDate={secondViewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n aria-label={changeDayLabel}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n renderDayContent={renderDayContent}\n tabIndex={0}\n onBlur={resetSelectedDay}\n dayTestId={dayTestId}\n />\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","addMonths","endOfDay","isAfter","isBefore","isSameDay","isSameMonth","isWithinInterval","startOfDay","subMonths","useCalendar","useCustomEnsuredControl","isFirstDay","isLastDay","navigateDate","isHTMLElement","CalendarDays","CalendarHeader","RootComponent","styles","getIsDaySelected","day","value","start","end","CalendarRange","valueProp","defaultValue","onChange","disablePast","disableFuture","shouldDisableDate","weekStartsOn","disablePickers","prevMonthLabel","nextMonthLabel","changeMonthLabel","changeYearLabel","changeDayLabel","prevMonthIcon","nextMonthIcon","listenDayChangesForUpdate","renderDayContent","dayTestId","leftPartHeaderTestsData","rightPartHeaderTestsData","getRootRef","props","_onChange","useCallback","newValue","undefined","updateValue","viewDate","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","isMonthDisabled","isYearDisabled","hintedDate","setHintedDate","useState","secondViewDate","handleKeyDown","event","includes","key","preventDefault","newFocusedDay","target","click","getNewValue","date","isValueEmpty","isRangeSelected","onDayChange","isDaySelected","isDayActive","Boolean","isDaySelectionEnd","dayOfWeek","isHintedDaySelectionEnd","isDaySelectionStart","isHintedDaySelectionStart","onDayEnter","onDayLeave","isDayHinted","onRightPartViewDateChange","newDate","baseClassName","host","div","className","inner","nextMonthHidden","onPrevMonth","header","onKeyDown","aria-label","prevMonthHidden","onNextMonth","tabIndex","onBlur"],"mappings":"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"}
@@ -5,6 +5,7 @@ import * as React from "react";
5
5
  import { classNames } from "@vkontakte/vkjs";
6
6
  import { setHours, setMinutes } from "date-fns";
7
7
  import { Keys, pressedKey } from "../../lib/accessibility.js";
8
+ import { callMultiple } from "../../lib/callMultiple.js";
8
9
  import { AdaptivityProvider } from "../AdaptivityProvider/AdaptivityProvider.js";
9
10
  import { Button } from "../Button/Button.js";
10
11
  import { CustomSelect } from "../CustomSelect/CustomSelect.js";
@@ -87,6 +88,12 @@ export const CalendarTime = ({ value, onChange, onDoneButtonClick, changeHoursLa
87
88
  nextStep.current?.focus();
88
89
  }
89
90
  };
91
+ const stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen = React.useCallback((event, isOpen)=>{
92
+ if (isOpen && event.key === 'Escape') {
93
+ event.stopPropagation();
94
+ }
95
+ }, []);
96
+ const onSelectInputKeyDown = callMultiple(onPickerKeyDown, stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen);
90
97
  const renderDoneButton = ()=>{
91
98
  const ButtonComponent = DoneButton ?? Button;
92
99
  return /*#__PURE__*/ _jsx(ButtonComponent, {
@@ -115,7 +122,7 @@ export const CalendarTime = ({ value, onChange, onDoneButtonClick, changeHoursLa
115
122
  searchable: true,
116
123
  filterFn: selectFilterFn,
117
124
  onInputChange: onHoursInputChange,
118
- onInputKeyDown: onPickerKeyDown,
125
+ onInputKeyDown: onSelectInputKeyDown,
119
126
  getSelectInputRef: hoursInputRef,
120
127
  "aria-label": changeHoursLabel,
121
128
  "data-testid": hoursTestId
@@ -139,7 +146,7 @@ export const CalendarTime = ({ value, onChange, onDoneButtonClick, changeHoursLa
139
146
  filterFn: selectFilterFn,
140
147
  onInputChange: onMinutesInputChange,
141
148
  getSelectInputRef: minutesInputRef,
142
- onInputKeyDown: onPickerKeyDown,
149
+ onInputKeyDown: onSelectInputKeyDown,
143
150
  "aria-label": changeMinutesLabel,
144
151
  "data-testid": minutesTestId
145
152
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CalendarTime/CalendarTime.tsx"],"sourcesContent":["'use client';\n\nimport { type ChangeEvent, useRef } from 'react';\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { setHours, setMinutes } from 'date-fns';\nimport { Keys, pressedKey } from '../../lib/accessibility';\nimport { AdaptivityProvider } from '../AdaptivityProvider/AdaptivityProvider';\nimport { Button, type ButtonProps } from '../Button/Button';\nimport { CustomSelect, type SelectProps } from '../CustomSelect/CustomSelect';\nimport styles from './CalendarTime.module.css';\n\nconst selectFilterFn = () => true;\n\nexport type CalendarTimeTestsProps = {\n /**\n * Передает атрибут `data-testid` для дропдауна выбора часа в календаре\n */\n hoursTestId?: string;\n /**\n * Передает атрибут `data-testid` для дропдауна выбора минут в календаре\n */\n minutesTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки \"Готово\" в календаре\n */\n doneButtonTestId?: string;\n};\n\nexport type CalendarDoneButtonProps = {\n /**\n * Кастомное отображение кнопки Done.\n */\n DoneButton?: React.ComponentType<ButtonProps>;\n doneButtonText?: string;\n doneButtonShow?: boolean;\n doneButtonDisabled?: boolean;\n onDoneButtonClick?: () => void;\n};\n\nexport interface CalendarTimeProps extends CalendarTimeTestsProps, CalendarDoneButtonProps {\n value: Date;\n changeHoursLabel?: string;\n changeMinutesLabel?: string;\n onChange?: (value: Date) => void;\n isDayDisabled?: (day: Date, withTime?: boolean) => boolean;\n}\n\nconst hours: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 24; i += 1) {\n hours.push({ value: i, label: String(i).padStart(2, '0') });\n}\n\nconst minutes: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 60; i += 1) {\n minutes.push({ value: i, label: String(i).padStart(2, '0') });\n}\n\nconst validateValue = (\n value: string,\n validValues: Array<{\n value: number;\n label: string;\n }>,\n): boolean => {\n const numValue = Number(value);\n return !isNaN(numValue) && validValues.some((v) => v.value === numValue);\n};\n\nexport const CalendarTime = ({\n value,\n onChange,\n onDoneButtonClick,\n changeHoursLabel,\n changeMinutesLabel,\n isDayDisabled,\n doneButtonText = 'Готово',\n doneButtonDisabled = false,\n doneButtonShow = true,\n minutesTestId,\n hoursTestId,\n doneButtonTestId,\n DoneButton,\n}: CalendarTimeProps): React.ReactNode => {\n const hoursInputRef = useRef<HTMLInputElement | null>(null);\n const minutesInputRef = useRef<HTMLInputElement | null>(null);\n const doneButtonRef = useRef<HTMLButtonElement | null>(null);\n\n const localHours = isDayDisabled\n ? hours.map((hour) => {\n return { ...hour, disabled: isDayDisabled(setHours(value, hour.value), true) };\n })\n : hours;\n\n const localMinutes = isDayDisabled\n ? minutes.map((minute) => {\n return { ...minute, disabled: isDayDisabled(setMinutes(value, minute.value), true) };\n })\n : minutes;\n\n const onPickerValueChange = (\n e: ChangeEvent<HTMLInputElement>,\n validate: (numericValue: string) => boolean,\n setter: (value: Date, numericValue: number) => Date,\n ) => {\n const numericValue = e.target.value.replace(/\\D/g, '');\n e.target.value = numericValue;\n if (validate(numericValue)) {\n onChange?.(setter(value, Number(numericValue)));\n }\n };\n\n const onHoursInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onPickerValueChange(e, (numValue) => validateValue(numValue, localHours), setHours);\n };\n\n const onMinutesInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onPickerValueChange(e, (numValue) => validateValue(numValue, localMinutes), setMinutes);\n };\n\n const onHoursChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange?.(setHours(value, Number(newValue))),\n [onChange, value],\n );\n const onMinutesChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange?.(setMinutes(value, Number(newValue))),\n [onChange, value],\n );\n\n const onPickerKeyDown = (e: React.KeyboardEvent) => {\n const key = pressedKey(e);\n /* Мы хотим иметь возможность быстро, по Enter перемещаться между\n * селектами с часами и минутами, также как мы это делаем по нажатию на Tab */\n if (key !== Keys.ENTER) {\n return;\n }\n\n const steps = [hoursInputRef, minutesInputRef, doneButtonRef].filter((ref) =>\n Boolean(ref.current),\n );\n const currentStepIndex = steps.findIndex((step) => step.current === e.target);\n const nextStepIndex = currentStepIndex + 1;\n if (nextStepIndex >= steps.length) {\n return;\n }\n const nextStep = steps[nextStepIndex];\n\n if (nextStep.current) {\n e.preventDefault();\n nextStep.current?.focus();\n }\n };\n\n const renderDoneButton = () => {\n const ButtonComponent = DoneButton ?? Button;\n return (\n <ButtonComponent\n mode=\"secondary\"\n onClick={onDoneButtonClick}\n size=\"l\"\n getRootRef={doneButtonRef}\n onKeyDown={onPickerKeyDown}\n disabled={doneButtonDisabled}\n data-testid={doneButtonTestId}\n >\n {doneButtonText}\n </ButtonComponent>\n );\n };\n\n return (\n <div className={classNames(styles.host, !doneButtonShow && styles.host__withoutDone)}>\n <div className={styles.picker}>\n <AdaptivityProvider sizeY=\"compact\">\n <CustomSelect\n value={value.getHours()}\n options={localHours}\n onChange={onHoursChange}\n forceDropdownPortal={false}\n searchable\n filterFn={selectFilterFn}\n onInputChange={onHoursInputChange}\n onInputKeyDown={onPickerKeyDown}\n getSelectInputRef={hoursInputRef}\n aria-label={changeHoursLabel}\n data-testid={hoursTestId}\n />\n </AdaptivityProvider>\n </div>\n <div className={styles.divider}>:</div>\n <div className={styles.picker}>\n <AdaptivityProvider sizeY=\"compact\">\n <CustomSelect\n value={value.getMinutes()}\n options={localMinutes}\n onChange={onMinutesChange}\n forceDropdownPortal={false}\n searchable\n filterFn={selectFilterFn}\n onInputChange={onMinutesInputChange}\n getSelectInputRef={minutesInputRef}\n onInputKeyDown={onPickerKeyDown}\n aria-label={changeMinutesLabel}\n data-testid={minutesTestId}\n />\n </AdaptivityProvider>\n </div>\n {doneButtonShow && (\n <div className={styles.button}>\n <AdaptivityProvider sizeY=\"compact\">{renderDoneButton()}</AdaptivityProvider>\n </div>\n )}\n </div>\n );\n};\n"],"names":["useRef","React","classNames","setHours","setMinutes","Keys","pressedKey","AdaptivityProvider","Button","CustomSelect","styles","selectFilterFn","hours","i","push","value","label","String","padStart","minutes","validateValue","validValues","numValue","Number","isNaN","some","v","CalendarTime","onChange","onDoneButtonClick","changeHoursLabel","changeMinutesLabel","isDayDisabled","doneButtonText","doneButtonDisabled","doneButtonShow","minutesTestId","hoursTestId","doneButtonTestId","DoneButton","hoursInputRef","minutesInputRef","doneButtonRef","localHours","map","hour","disabled","localMinutes","minute","onPickerValueChange","e","validate","setter","numericValue","target","replace","onHoursInputChange","onMinutesInputChange","onHoursChange","useCallback","_","newValue","onMinutesChange","onPickerKeyDown","key","ENTER","steps","filter","ref","Boolean","current","currentStepIndex","findIndex","step","nextStepIndex","length","nextStep","preventDefault","focus","renderDoneButton","ButtonComponent","mode","onClick","size","getRootRef","onKeyDown","data-testid","div","className","host","host__withoutDone","picker","sizeY","getHours","options","forceDropdownPortal","searchable","filterFn","onInputChange","onInputKeyDown","getSelectInputRef","aria-label","divider","getMinutes","button"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/CalendarTime/CalendarTime.tsx"],"sourcesContent":["'use client';\n\nimport { type ChangeEvent, useRef } from 'react';\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { setHours, setMinutes } from 'date-fns';\nimport { Keys, pressedKey } from '../../lib/accessibility';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { AdaptivityProvider } from '../AdaptivityProvider/AdaptivityProvider';\nimport { Button, type ButtonProps } from '../Button/Button';\nimport { CustomSelect, type SelectProps } from '../CustomSelect/CustomSelect';\nimport styles from './CalendarTime.module.css';\n\nconst selectFilterFn = () => true;\n\nexport type CalendarTimeTestsProps = {\n /**\n * Передает атрибут `data-testid` для дропдауна выбора часа в календаре.\n */\n hoursTestId?: string;\n /**\n * Передает атрибут `data-testid` для дропдауна выбора минут в календаре.\n */\n minutesTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки \"Готово\" в календаре.\n */\n doneButtonTestId?: string;\n};\n\nexport type CalendarDoneButtonProps = {\n /**\n * Кастомное отображение кнопки `\"Done\"`.\n */\n DoneButton?: React.ComponentType<ButtonProps>;\n /**\n * Текст отображаемый в кнопке `\"Done\"`.\n */\n doneButtonText?: string;\n /**\n * Управление отображением кнопки `\"Done\"`.\n */\n doneButtonShow?: boolean;\n /**\n * Блокировка взаимодействия с кнопкой \"Done\".\n */\n doneButtonDisabled?: boolean;\n /**\n * Обработки нажатия на кнопку `\"Done\"`.\n */\n onDoneButtonClick?: () => void;\n};\n\nexport interface CalendarTimeProps extends CalendarTimeTestsProps, CalendarDoneButtonProps {\n /**\n * Отображаемая дата.\n */\n value: Date;\n /**\n * Текст выпадающего списка с выбором часов. Делает его доступным для ассистивных технологий.\n */\n changeHoursLabel?: string;\n /**\n * Текст выпадающего списка с выбором минут. Делает его доступным для ассистивных технологий.\n */\n changeMinutesLabel?: string;\n /**\n * Обработчик изменения времени.\n */\n onChange?: (value: Date) => void;\n /**\n * Функция для проверки блокировки выбора даты и времени.\n */\n isDayDisabled?: (day: Date, withTime?: boolean) => boolean;\n}\n\nconst hours: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 24; i += 1) {\n hours.push({ value: i, label: String(i).padStart(2, '0') });\n}\n\nconst minutes: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 60; i += 1) {\n minutes.push({ value: i, label: String(i).padStart(2, '0') });\n}\n\nconst validateValue = (\n value: string,\n validValues: Array<{\n value: number;\n label: string;\n }>,\n): boolean => {\n const numValue = Number(value);\n return !isNaN(numValue) && validValues.some((v) => v.value === numValue);\n};\n\nexport const CalendarTime = ({\n value,\n onChange,\n onDoneButtonClick,\n changeHoursLabel,\n changeMinutesLabel,\n isDayDisabled,\n doneButtonText = 'Готово',\n doneButtonDisabled = false,\n doneButtonShow = true,\n minutesTestId,\n hoursTestId,\n doneButtonTestId,\n DoneButton,\n}: CalendarTimeProps): React.ReactNode => {\n const hoursInputRef = useRef<HTMLInputElement | null>(null);\n const minutesInputRef = useRef<HTMLInputElement | null>(null);\n const doneButtonRef = useRef<HTMLButtonElement | null>(null);\n\n const localHours = isDayDisabled\n ? hours.map((hour) => {\n return { ...hour, disabled: isDayDisabled(setHours(value, hour.value), true) };\n })\n : hours;\n\n const localMinutes = isDayDisabled\n ? minutes.map((minute) => {\n return { ...minute, disabled: isDayDisabled(setMinutes(value, minute.value), true) };\n })\n : minutes;\n\n const onPickerValueChange = (\n e: ChangeEvent<HTMLInputElement>,\n validate: (numericValue: string) => boolean,\n setter: (value: Date, numericValue: number) => Date,\n ) => {\n const numericValue = e.target.value.replace(/\\D/g, '');\n e.target.value = numericValue;\n if (validate(numericValue)) {\n onChange?.(setter(value, Number(numericValue)));\n }\n };\n\n const onHoursInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onPickerValueChange(e, (numValue) => validateValue(numValue, localHours), setHours);\n };\n\n const onMinutesInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onPickerValueChange(e, (numValue) => validateValue(numValue, localMinutes), setMinutes);\n };\n\n const onHoursChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange?.(setHours(value, Number(newValue))),\n [onChange, value],\n );\n const onMinutesChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange?.(setMinutes(value, Number(newValue))),\n [onChange, value],\n );\n\n const onPickerKeyDown = (e: React.KeyboardEvent) => {\n const key = pressedKey(e);\n /* Мы хотим иметь возможность быстро, по Enter перемещаться между\n * селектами с часами и минутами, также как мы это делаем по нажатию на Tab */\n if (key !== Keys.ENTER) {\n return;\n }\n\n const steps = [hoursInputRef, minutesInputRef, doneButtonRef].filter((ref) =>\n Boolean(ref.current),\n );\n const currentStepIndex = steps.findIndex((step) => step.current === e.target);\n const nextStepIndex = currentStepIndex + 1;\n if (nextStepIndex >= steps.length) {\n return;\n }\n const nextStep = steps[nextStepIndex];\n\n if (nextStep.current) {\n e.preventDefault();\n nextStep.current?.focus();\n }\n };\n\n const stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen = React.useCallback(\n (event: React.KeyboardEvent, isOpen: boolean) => {\n if (isOpen && event.key === 'Escape') {\n event.stopPropagation();\n }\n },\n [],\n );\n\n const onSelectInputKeyDown = callMultiple(\n onPickerKeyDown,\n stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen,\n );\n\n const renderDoneButton = () => {\n const ButtonComponent = DoneButton ?? Button;\n return (\n <ButtonComponent\n mode=\"secondary\"\n onClick={onDoneButtonClick}\n size=\"l\"\n getRootRef={doneButtonRef}\n onKeyDown={onPickerKeyDown}\n disabled={doneButtonDisabled}\n data-testid={doneButtonTestId}\n >\n {doneButtonText}\n </ButtonComponent>\n );\n };\n\n return (\n <div className={classNames(styles.host, !doneButtonShow && styles.host__withoutDone)}>\n <div className={styles.picker}>\n <AdaptivityProvider sizeY=\"compact\">\n <CustomSelect\n value={value.getHours()}\n options={localHours}\n onChange={onHoursChange}\n forceDropdownPortal={false}\n searchable\n filterFn={selectFilterFn}\n onInputChange={onHoursInputChange}\n onInputKeyDown={onSelectInputKeyDown}\n getSelectInputRef={hoursInputRef}\n aria-label={changeHoursLabel}\n data-testid={hoursTestId}\n />\n </AdaptivityProvider>\n </div>\n <div className={styles.divider}>:</div>\n <div className={styles.picker}>\n <AdaptivityProvider sizeY=\"compact\">\n <CustomSelect\n value={value.getMinutes()}\n options={localMinutes}\n onChange={onMinutesChange}\n forceDropdownPortal={false}\n searchable\n filterFn={selectFilterFn}\n onInputChange={onMinutesInputChange}\n getSelectInputRef={minutesInputRef}\n onInputKeyDown={onSelectInputKeyDown}\n aria-label={changeMinutesLabel}\n data-testid={minutesTestId}\n />\n </AdaptivityProvider>\n </div>\n {doneButtonShow && (\n <div className={styles.button}>\n <AdaptivityProvider sizeY=\"compact\">{renderDoneButton()}</AdaptivityProvider>\n </div>\n )}\n </div>\n );\n};\n"],"names":["useRef","React","classNames","setHours","setMinutes","Keys","pressedKey","callMultiple","AdaptivityProvider","Button","CustomSelect","styles","selectFilterFn","hours","i","push","value","label","String","padStart","minutes","validateValue","validValues","numValue","Number","isNaN","some","v","CalendarTime","onChange","onDoneButtonClick","changeHoursLabel","changeMinutesLabel","isDayDisabled","doneButtonText","doneButtonDisabled","doneButtonShow","minutesTestId","hoursTestId","doneButtonTestId","DoneButton","hoursInputRef","minutesInputRef","doneButtonRef","localHours","map","hour","disabled","localMinutes","minute","onPickerValueChange","e","validate","setter","numericValue","target","replace","onHoursInputChange","onMinutesInputChange","onHoursChange","useCallback","_","newValue","onMinutesChange","onPickerKeyDown","key","ENTER","steps","filter","ref","Boolean","current","currentStepIndex","findIndex","step","nextStepIndex","length","nextStep","preventDefault","focus","stopPropogationOfEscapeKeyboardEventWhenSelectIsOpen","event","isOpen","stopPropagation","onSelectInputKeyDown","renderDoneButton","ButtonComponent","mode","onClick","size","getRootRef","onKeyDown","data-testid","div","className","host","host__withoutDone","picker","sizeY","getHours","options","forceDropdownPortal","searchable","filterFn","onInputChange","onInputKeyDown","getSelectInputRef","aria-label","divider","getMinutes","button"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Card.module.css';\n\nexport interface CardProps extends HTMLAttributesWithRootRef<HTMLDivElement>, HasComponent {\n mode?: 'tint' | 'shadow' | 'outline' | 'outline-tint' | 'plain';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Card\n */\nexport const Card = ({\n mode = 'tint',\n Component = 'li',\n ...restProps\n}: CardProps): React.ReactNode => {\n const withBorder = mode === 'outline' || mode === 'outline-tint';\n return (\n <RootComponent\n {...restProps}\n Component={Component}\n baseClassName={classNames(\n styles.host,\n mode === 'outline' && styles.modeOutline,\n mode === 'shadow' && styles.modeShadow,\n mode === 'plain' && styles.modePlain,\n withBorder && styles.withBorder,\n )}\n />\n );\n};\n"],"names":["classNames","RootComponent","styles","Card","mode","Component","restProps","withBorder","baseClassName","host","modeOutline","modeShadow","modePlain"],"mappings":";AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,oBAAoB;AAMvC;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,OAAO,MAAM,EACbC,YAAY,IAAI,EAChB,GAAGC,WACO;IACV,MAAMC,aAAaH,SAAS,aAAaA,SAAS;IAClD,qBACE,KAACH;QACE,GAAGK,SAAS;QACbD,WAAWA;QACXG,eAAeR,WACbE,OAAOO,IAAI,EACXL,SAAS,aAAaF,OAAOQ,WAAW,EACxCN,SAAS,YAAYF,OAAOS,UAAU,EACtCP,SAAS,WAAWF,OAAOU,SAAS,EACpCL,cAAcL,OAAOK,UAAU;;AAIvC,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Card.module.css';\n\nexport interface CardProps extends HTMLAttributesWithRootRef<HTMLDivElement>, HasComponent {\n /**\n * Внешний вид карточки.\n */\n mode?: 'tint' | 'shadow' | 'outline' | 'outline-tint' | 'plain';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Card\n */\nexport const Card = ({\n mode = 'tint',\n Component = 'li',\n ...restProps\n}: CardProps): React.ReactNode => {\n const withBorder = mode === 'outline' || mode === 'outline-tint';\n return (\n <RootComponent\n {...restProps}\n Component={Component}\n baseClassName={classNames(\n styles.host,\n mode === 'outline' && styles.modeOutline,\n mode === 'shadow' && styles.modeShadow,\n mode === 'plain' && styles.modePlain,\n withBorder && styles.withBorder,\n )}\n />\n );\n};\n"],"names":["classNames","RootComponent","styles","Card","mode","Component","restProps","withBorder","baseClassName","host","modeOutline","modeShadow","modePlain"],"mappings":";AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,oBAAoB;AASvC;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,OAAO,MAAM,EACbC,YAAY,IAAI,EAChB,GAAGC,WACO;IACV,MAAMC,aAAaH,SAAS,aAAaA,SAAS;IAClD,qBACE,KAACH;QACE,GAAGK,SAAS;QACbD,WAAWA;QACXG,eAAeR,WACbE,OAAOO,IAAI,EACXL,SAAS,aAAaF,OAAOQ,WAAW,EACxCN,SAAS,YAAYF,OAAOS,UAAU,EACtCP,SAAS,WAAWF,OAAOU,SAAS,EACpCL,cAAcL,OAAOK,UAAU;;AAIvC,EAAE"}
@@ -9,8 +9,8 @@
9
9
  .modeShadow {
10
10
  box-shadow: var(
11
11
  --vkui--elevation3,
12
- 0 2px 24px 0 rgba(0, 0, 0, 0.08),
13
- 0 0 2px 0 rgba(0, 0, 0, 0.08)
12
+ 0 2px 24px 0 rgb(0, 0, 0, 0.08),
13
+ 0 0 2px 0 rgb(0, 0, 0, 0.08)
14
14
  );
15
15
  }
16
16
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CardGrid/CardGrid.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CardGrid.module.css';\n\nconst sizeXClassNames = {\n none: styles.sizeXNone,\n compact: styles.sizeXCompact,\n};\n\nconst stylesSize = {\n s: 'vkuiInternalCardGrid--size-s',\n m: 'vkuiInternalCardGrid--size-m',\n l: 'vkuiInternalCardGrid--size-l',\n};\n\nexport interface CardGridProps extends HTMLAttributesWithRootRef<HTMLDivElement>, HasComponent {\n size?: 's' | 'm' | 'l';\n /**\n * Если true, то вокруг компонента присутствуют стандартные отсупы сверху/снизу и слева/справа\n */\n padding?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardGrid\n */\nexport const CardGrid = ({\n size = 's',\n padding = false,\n Component = 'ul',\n ...restProps\n}: CardGridProps): React.ReactNode => {\n const { sizeX = 'none' } = useAdaptivity();\n\n return (\n <RootComponent\n {...restProps}\n Component={Component}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalCardGrid',\n padding && styles.padding,\n stylesSize[size],\n sizeX !== 'regular' && sizeXClassNames[sizeX],\n )}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","RootComponent","styles","sizeXClassNames","none","sizeXNone","compact","sizeXCompact","stylesSize","s","m","l","CardGrid","size","padding","Component","restProps","sizeX","baseClassName","host"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAE1D,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAEA,MAAMC,aAAa;IACjBC,GAAG;IACHC,GAAG;IACHC,GAAG;AACL;AAUA;;CAEC,GACD,OAAO,MAAMC,WAAW,CAAC,EACvBC,OAAO,GAAG,EACVC,UAAU,KAAK,EACfC,YAAY,IAAI,EAChB,GAAGC,WACW;IACd,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGjB;IAE3B,qBACE,KAACC;QACE,GAAGe,SAAS;QACbD,WAAWA;QACXG,eAAenB,WACbG,OAAOiB,IAAI,EACX,wBACAL,WAAWZ,OAAOY,OAAO,EACzBN,UAAU,CAACK,KAAK,EAChBI,UAAU,aAAad,eAAe,CAACc,MAAM;;AAIrD,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/CardGrid/CardGrid.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CardGrid.module.css';\n\nconst sizeXClassNames = {\n none: styles.sizeXNone,\n compact: styles.sizeXCompact,\n};\n\nconst stylesSize = {\n s: 'vkuiInternalCardGrid--size-s',\n m: 'vkuiInternalCardGrid--size-m',\n l: 'vkuiInternalCardGrid--size-l',\n};\n\nexport interface CardGridProps extends HTMLAttributesWithRootRef<HTMLDivElement>, HasComponent {\n /**\n * Размер карточек.\n */\n size?: 's' | 'm' | 'l';\n /**\n * Если true, то вокруг компонента присутствуют стандартные отсупы сверху/снизу и слева/справа.\n */\n padding?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardGrid\n */\nexport const CardGrid = ({\n size = 's',\n padding = false,\n Component = 'ul',\n ...restProps\n}: CardGridProps): React.ReactNode => {\n const { sizeX = 'none' } = useAdaptivity();\n\n return (\n <RootComponent\n {...restProps}\n Component={Component}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalCardGrid',\n padding && styles.padding,\n stylesSize[size],\n sizeX !== 'regular' && sizeXClassNames[sizeX],\n )}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","RootComponent","styles","sizeXClassNames","none","sizeXNone","compact","sizeXCompact","stylesSize","s","m","l","CardGrid","size","padding","Component","restProps","sizeX","baseClassName","host"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAE1D,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAEA,MAAMC,aAAa;IACjBC,GAAG;IACHC,GAAG;IACHC,GAAG;AACL;AAaA;;CAEC,GACD,OAAO,MAAMC,WAAW,CAAC,EACvBC,OAAO,GAAG,EACVC,UAAU,KAAK,EACfC,YAAY,IAAI,EAChB,GAAGC,WACW;IACd,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGjB;IAE3B,qBACE,KAACC;QACE,GAAGe,SAAS;QACbD,WAAWA;QACXG,eAAenB,WACbG,OAAOiB,IAAI,EACX,wBACAL,WAAWZ,OAAOY,OAAO,EACzBN,UAAU,CAACK,KAAK,EAChBI,UAAU,aAAad,eAAe,CAACc,MAAM;;AAIrD,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CardScroll/CardScroll.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useDOM } from '../../lib/dom';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { HorizontalScroll, type HorizontalScrollProps } from '../HorizontalScroll/HorizontalScroll';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CardScroll.module.css';\n\nconst stylesSize = {\n s: 'vkuiInternalCardScroll--size-s',\n m: 'vkuiInternalCardScroll--size-m',\n l: 'vkuiInternalCardScroll--size-l',\n};\n\nexport interface CardScrollProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasComponent,\n Pick<HorizontalScrollProps, 'showArrows' | 'prevButtonTestId' | 'nextButtonTestId'> {\n /**\n * При `size=false` ширина `Card` будет регулироваться контентом внутри. В остальных случаях — будет явно задана в процентах.\n */\n size?: 's' | 'm' | 'l' | false;\n /**\n * Добавляет отступы по краям слева и справа\n */\n padding?: boolean;\n /**\n * Позволяет поменять тег используемый для обертки над карточками\n */\n CardsListComponent?: React.ElementType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardScroll\n */\nexport const CardScroll = ({\n children,\n size = 's',\n showArrows = true,\n padding = false,\n CardsListComponent = 'ul',\n prevButtonTestId,\n nextButtonTestId,\n ...restProps\n}: CardScrollProps): React.ReactNode => {\n const refContainer = React.useRef<HTMLDivElement>(null);\n const direction = useConfigDirection();\n\n const { window } = useDOM();\n\n const getPadding = (container: HTMLElement) => {\n return parseFloat(\n window!\n .getComputedStyle(container)\n .getPropertyValue('--vkui_internal--CardScroll_horizontal_padding'),\n );\n };\n\n const slideOffsetFromStart = (slide: HTMLElement) => {\n const containerWidth = refContainer.current?.offsetWidth || 0;\n return direction === 'rtl'\n ? containerWidth - slide.offsetLeft - slide.offsetWidth\n : slide.offsetLeft;\n };\n\n function getScrollToLeft(offset: number): number {\n if (!refContainer.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n\n const getMarginEnd = (el: HTMLElement) => {\n const computedStyles = window!.getComputedStyle(el);\n return (\n parseInt(computedStyles.marginInlineEnd) ||\n (direction === 'rtl'\n ? parseInt(computedStyles.marginLeft)\n : parseInt(computedStyles.marginRight)) ||\n 0\n );\n };\n\n const slideIndex = ([...refContainer.current.children] as HTMLElement[]).findIndex(\n (el: HTMLElement) =>\n slideOffsetFromStart(el) + el.offsetWidth + getMarginEnd(el) - offset >= 0,\n );\n\n if (slideIndex === -1) {\n return offset;\n }\n\n const slide = refContainer.current.children[slideIndex] as HTMLElement;\n const padding = getPadding(refContainer.current);\n const scrollTo = slideOffsetFromStart(slide) - (containerWidth - slide.offsetWidth) + padding;\n\n if (scrollTo <= 2 * padding) {\n return 0;\n }\n\n return scrollTo;\n }\n\n function getScrollToRight(offset: number): number {\n if (!refContainer.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n const slide = Array.prototype.find.call(refContainer.current.children, (el: HTMLElement) => {\n return slideOffsetFromStart(el) + el.offsetWidth - offset > containerWidth;\n }) as HTMLElement;\n\n if (!slide) {\n return offset;\n }\n\n const padding = getPadding(refContainer.current);\n return slideOffsetFromStart(slide) - padding;\n }\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalCardScroll',\n size !== false && stylesSize[size],\n padding && styles.withPaddings,\n )}\n >\n <HorizontalScroll\n getScrollToLeft={getScrollToLeft}\n getScrollToRight={getScrollToRight}\n showArrows={showArrows}\n prevButtonTestId={prevButtonTestId}\n nextButtonTestId={nextButtonTestId}\n ContentWrapperComponent={CardsListComponent}\n contentWrapperRef={refContainer}\n contentWrapperClassName={styles.in}\n >\n {children}\n </HorizontalScroll>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useConfigDirection","useDOM","HorizontalScroll","RootComponent","styles","stylesSize","s","m","l","CardScroll","children","size","showArrows","padding","CardsListComponent","prevButtonTestId","nextButtonTestId","restProps","refContainer","useRef","direction","window","getPadding","container","parseFloat","getComputedStyle","getPropertyValue","slideOffsetFromStart","slide","containerWidth","current","offsetWidth","offsetLeft","getScrollToLeft","offset","getMarginEnd","el","computedStyles","parseInt","marginInlineEnd","marginLeft","marginRight","slideIndex","findIndex","scrollTo","getScrollToRight","Array","prototype","find","call","baseClassName","host","withPaddings","ContentWrapperComponent","contentWrapperRef","contentWrapperClassName","in"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/CardScroll/CardScroll.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useDOM } from '../../lib/dom';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { HorizontalScroll, type HorizontalScrollProps } from '../HorizontalScroll/HorizontalScroll';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CardScroll.module.css';\n\nconst stylesSize = {\n s: 'vkuiInternalCardScroll--size-s',\n m: 'vkuiInternalCardScroll--size-m',\n l: 'vkuiInternalCardScroll--size-l',\n};\n\nexport interface CardScrollProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasComponent,\n Pick<HorizontalScrollProps, 'showArrows' | 'prevButtonTestId' | 'nextButtonTestId'> {\n /**\n * При `size=false` ширина `Card` будет регулироваться контентом внутри. В остальных случаях — будет явно задана в процентах.\n */\n size?: 's' | 'm' | 'l' | false;\n /**\n * Добавляет отступы по краям слева и справа.\n */\n padding?: boolean;\n /**\n * Позволяет поменять тег используемый для обертки над карточками.\n */\n CardsListComponent?: React.ElementType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardScroll\n */\nexport const CardScroll = ({\n children,\n size = 's',\n showArrows = true,\n padding = false,\n CardsListComponent = 'ul',\n prevButtonTestId,\n nextButtonTestId,\n ...restProps\n}: CardScrollProps): React.ReactNode => {\n const refContainer = React.useRef<HTMLDivElement>(null);\n const direction = useConfigDirection();\n\n const { window } = useDOM();\n\n const getPadding = (container: HTMLElement) => {\n return parseFloat(\n window!\n .getComputedStyle(container)\n .getPropertyValue('--vkui_internal--CardScroll_horizontal_padding'),\n );\n };\n\n const slideOffsetFromStart = (slide: HTMLElement) => {\n const containerWidth = refContainer.current?.offsetWidth || 0;\n return direction === 'rtl'\n ? containerWidth - slide.offsetLeft - slide.offsetWidth\n : slide.offsetLeft;\n };\n\n function getScrollToLeft(offset: number): number {\n if (!refContainer.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n\n const getMarginEnd = (el: HTMLElement) => {\n const computedStyles = window!.getComputedStyle(el);\n return (\n parseInt(computedStyles.marginInlineEnd) ||\n (direction === 'rtl'\n ? parseInt(computedStyles.marginLeft)\n : parseInt(computedStyles.marginRight)) ||\n 0\n );\n };\n\n const slideIndex = ([...refContainer.current.children] as HTMLElement[]).findIndex(\n (el: HTMLElement) =>\n slideOffsetFromStart(el) + el.offsetWidth + getMarginEnd(el) - offset >= 0,\n );\n\n if (slideIndex === -1) {\n return offset;\n }\n\n const slide = refContainer.current.children[slideIndex] as HTMLElement;\n const padding = getPadding(refContainer.current);\n const scrollTo = slideOffsetFromStart(slide) - (containerWidth - slide.offsetWidth) + padding;\n\n if (scrollTo <= 2 * padding) {\n return 0;\n }\n\n return scrollTo;\n }\n\n function getScrollToRight(offset: number): number {\n if (!refContainer.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n const slide = Array.prototype.find.call(refContainer.current.children, (el: HTMLElement) => {\n return slideOffsetFromStart(el) + el.offsetWidth - offset > containerWidth;\n }) as HTMLElement;\n\n if (!slide) {\n return offset;\n }\n\n const padding = getPadding(refContainer.current);\n return slideOffsetFromStart(slide) - padding;\n }\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalCardScroll',\n size !== false && stylesSize[size],\n padding && styles.withPaddings,\n )}\n >\n <HorizontalScroll\n getScrollToLeft={getScrollToLeft}\n getScrollToRight={getScrollToRight}\n showArrows={showArrows}\n prevButtonTestId={prevButtonTestId}\n nextButtonTestId={nextButtonTestId}\n ContentWrapperComponent={CardsListComponent}\n contentWrapperRef={refContainer}\n contentWrapperClassName={styles.in}\n >\n {children}\n </HorizontalScroll>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useConfigDirection","useDOM","HorizontalScroll","RootComponent","styles","stylesSize","s","m","l","CardScroll","children","size","showArrows","padding","CardsListComponent","prevButtonTestId","nextButtonTestId","restProps","refContainer","useRef","direction","window","getPadding","container","parseFloat","getComputedStyle","getPropertyValue","slideOffsetFromStart","slide","containerWidth","current","offsetWidth","offsetLeft","getScrollToLeft","offset","getMarginEnd","el","computedStyles","parseInt","marginInlineEnd","marginLeft","marginRight","slideIndex","findIndex","scrollTo","getScrollToRight","Array","prototype","find","call","baseClassName","host","withPaddings","ContentWrapperComponent","contentWrapperRef","contentWrapperClassName","in"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from "react";
1
+ /* eslint-disable jsdoc/require-jsdoc */ import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { classNames } from "@vkontakte/vkjs";
4
3
  import styles from "./CarouselBase.module.css";
5
4
  const stylesBullets = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CarouselBase/Bullets.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { type BaseGalleryProps } from './types';\nimport styles from './CarouselBase.module.css';\n\nexport interface BulletsTestIds {\n /**\n * Передает атрибут `data-testid` для bullets\n */\n bulletTestId?: (index: number, active: boolean) => string;\n}\n\ninterface BulletsProps extends BulletsTestIds {\n bullets: Exclude<BaseGalleryProps['bullets'], false | undefined>;\n slideIndex: number;\n count: number;\n}\n\nconst stylesBullets = {\n dark: styles.bulletsDark,\n light: styles.bulletsLight,\n};\n\nexport const Bullets: React.FC<BulletsProps> = ({ bullets, slideIndex, count, bulletTestId }) => {\n return (\n <div aria-hidden className={classNames(styles.bullets, stylesBullets[bullets])}>\n {Array.from({ length: count }).map((_, index) => (\n <div\n className={classNames(styles.bullet, index === slideIndex && styles.bulletActive)}\n data-testid={bulletTestId?.(index, index === slideIndex)}\n key={index}\n />\n ))}\n </div>\n );\n};\n"],"names":["React","classNames","styles","stylesBullets","dark","bulletsDark","light","bulletsLight","Bullets","bullets","slideIndex","count","bulletTestId","div","aria-hidden","className","Array","from","length","map","_","index","bullet","bulletActive","data-testid"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,4BAA4B;AAe/C,MAAMC,gBAAgB;IACpBC,MAAMF,OAAOG,WAAW;IACxBC,OAAOJ,OAAOK,YAAY;AAC5B;AAEA,OAAO,MAAMC,UAAkC,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAEC,KAAK,EAAEC,YAAY,EAAE;IAC1F,qBACE,KAACC;QAAIC,aAAW;QAACC,WAAWd,WAAWC,OAAOO,OAAO,EAAEN,aAAa,CAACM,QAAQ;kBAC1EO,MAAMC,IAAI,CAAC;YAAEC,QAAQP;QAAM,GAAGQ,GAAG,CAAC,CAACC,GAAGC,sBACrC,KAACR;gBACCE,WAAWd,WAAWC,OAAOoB,MAAM,EAAED,UAAUX,cAAcR,OAAOqB,YAAY;gBAChFC,eAAaZ,eAAeS,OAAOA,UAAUX;eACxCW;;AAKf,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/CarouselBase/Bullets.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { type BaseGalleryProps } from './types';\nimport styles from './CarouselBase.module.css';\n\nexport interface BulletsTestIds {\n /**\n * Передает атрибут `data-testid` для bullets.\n */\n bulletTestId?: (index: number, active: boolean) => string;\n}\n\ninterface BulletsProps extends BulletsTestIds {\n bullets: Exclude<BaseGalleryProps['bullets'], false | undefined>;\n slideIndex: number;\n count: number;\n}\n\nconst stylesBullets = {\n dark: styles.bulletsDark,\n light: styles.bulletsLight,\n};\n\nexport const Bullets = ({ bullets, slideIndex, count, bulletTestId }: BulletsProps) => {\n return (\n <div aria-hidden className={classNames(styles.bullets, stylesBullets[bullets])}>\n {Array.from({ length: count }).map((_, index) => (\n <div\n className={classNames(styles.bullet, index === slideIndex && styles.bulletActive)}\n data-testid={bulletTestId?.(index, index === slideIndex)}\n key={index}\n />\n ))}\n </div>\n );\n};\n"],"names":["classNames","styles","stylesBullets","dark","bulletsDark","light","bulletsLight","Bullets","bullets","slideIndex","count","bulletTestId","div","aria-hidden","className","Array","from","length","map","_","index","bullet","bulletActive","data-testid"],"mappings":"AAAA,sCAAsC;AAEtC,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,4BAA4B;AAe/C,MAAMC,gBAAgB;IACpBC,MAAMF,OAAOG,WAAW;IACxBC,OAAOJ,OAAOK,YAAY;AAC5B;AAEA,OAAO,MAAMC,UAAU,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAEC,KAAK,EAAEC,YAAY,EAAgB;IAChF,qBACE,KAACC;QAAIC,aAAW;QAACC,WAAWd,WAAWC,OAAOO,OAAO,EAAEN,aAAa,CAACM,QAAQ;kBAC1EO,MAAMC,IAAI,CAAC;YAAEC,QAAQP;QAAM,GAAGQ,GAAG,CAAC,CAACC,GAAGC,sBACrC,KAACR;gBACCE,WAAWd,WAAWC,OAAOoB,MAAM,EAAED,UAAUX,cAAcR,OAAOqB,YAAY;gBAChFC,eAAaZ,eAAeS,OAAOA,UAAUX;eACxCW;;AAKf,EAAE"}
@@ -78,7 +78,7 @@ export const CarouselBase = ({ bullets = false, getRootRef, children, slideWidth
78
78
  const checkShiftOutOfBoundsFromEnd = (shiftX, slides)=>{
79
79
  /**
80
80
  * Поскольку при `align="center"` слайды сдвинуты, прежде чем рассчитать крайнюю правую точку,
81
- * нужно вычесть сдвиг слайдов
81
+ * нужно вычесть сдвиг слайдов.
82
82
  */ const firstSlideShift = align === 'center' ? (slidesManager.current.containerWidth - slidesManager.current.slides[0].width) / 2 : 0;
83
83
  const lastPoint = slides[slides.length - 1].width + slides[slides.length - 1].coordX - firstSlideShift;
84
84
  return isRtl ? shiftX >= lastPoint : shiftX <= -lastPoint;
@@ -91,7 +91,7 @@ export const CarouselBase = ({ bullets = false, getRootRef, children, slideWidth
91
91
  animationFrameRef.current = requestAnimationFrame(()=>{
92
92
  /**
93
93
  * Для бесконечной галереи проверяем, что при dnd мы прокрутили левее, чем первый слайд,
94
- * чтобы сбросить `shiftXCurrentRef`
94
+ * чтобы сбросить `shiftXCurrentRef`.
95
95
  */ if (looped && checkShiftOutOfBoundsFromStart(shiftX, snaps)) {
96
96
  const firstSnap = revertRtlValue(snaps[0], isRtl);
97
97
  shiftXCurrentRef.current = revertRtlValue(-contentSize + firstSnap, isRtl);
@@ -99,7 +99,7 @@ export const CarouselBase = ({ bullets = false, getRootRef, children, slideWidth
99
99
  }
100
100
  /**
101
101
  * Для бесконечной галереи проверяем, что при dnd мы прокрутили правее, чем последний слайд,
102
- * чтобы правильно пересчитать `shiftXCurrentRef`
102
+ * чтобы правильно пересчитать `shiftXCurrentRef`.
103
103
  */ if (looped && checkShiftOutOfBoundsFromEnd(shiftX, slides)) {
104
104
  shiftXCurrentRef.current = Math.abs(shiftXDeltaRef.current) + snaps[0];
105
105
  }
@@ -215,7 +215,7 @@ export const CarouselBase = ({ bullets = false, getRootRef, children, slideWidth
215
215
  /**
216
216
  * Переключаемся с последнего элемента на первый
217
217
  * Для корректной анимации мы прокручиваем последний слайд на всю длину (shiftX) "вперед"
218
- * В конце анимации при отрисовке следующего кадра задаем всем слайдам начальные значения
218
+ * В конце анимации при отрисовке следующего кадра задаем всем слайдам начальные значения.
219
219
  */ if (indent === snaps[0] && fromLastToFirst) {
220
220
  const endEdge = revertRtlValue(Math.abs(snaps[snaps.length - 1]) + slides[slides.length - 1].width, isRtl);
221
221
  const distance = endEdge + startPoint;
@@ -232,7 +232,7 @@ export const CarouselBase = ({ bullets = false, getRootRef, children, slideWidth
232
232
  /**
233
233
  * Переключаемся с первого слайда на последний
234
234
  * Для корректной анимации сначала задаем первым видимым слайдам смещение
235
- * В следующем кадре начинаем анимация прокрутки "назад"
235
+ * В следующем кадре начинаем анимация прокрутки "назад".
236
236
  */ } else if (indent === snaps[snaps.length - 1] && shiftXCurrentRef.current === snaps[0]) {
237
237
  startPoint = indent - revertRtlValue(slides[slides.length - 1].width, isRtl);
238
238
  addToAnimationQueue(()=>{
@@ -246,7 +246,7 @@ export const CarouselBase = ({ bullets = false, getRootRef, children, slideWidth
246
246
  });
247
247
  });
248
248
  /**
249
- * Если не обработаны `corner`-кейсы выше, то просто проигрываем анимацию смещения
249
+ * Если не обработаны `corner`-кейсы выше, то просто проигрываем анимацию смещения.
250
250
  */ } else {
251
251
  addToAnimationQueue(()=>{
252
252
  const distance = Math.abs(indent - startPoint);