@vkontakte/vkui 5.7.2 → 5.8.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 (1106) hide show
  1. package/README.md +4 -4
  2. package/dist/cjs/components/Accordion/Accordion.d.ts +1 -1
  3. package/dist/cjs/components/Accordion/Accordion.js +6 -11
  4. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +6 -1
  6. package/dist/cjs/components/ActionSheet/ActionSheet.js +12 -9
  7. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  8. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +6 -1
  9. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  10. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +2 -1
  11. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  12. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +6 -1
  13. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +15 -4
  14. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  15. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +22 -8
  16. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  17. package/dist/cjs/components/AppRoot/AppRoot.d.ts +19 -2
  18. package/dist/cjs/components/AppRoot/AppRoot.js +58 -20
  19. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  20. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +1 -0
  21. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  22. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +1 -1
  23. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  24. package/dist/cjs/components/AspectRatio/AspectRatio.d.ts +3 -3
  25. package/dist/cjs/components/AspectRatio/AspectRatio.js +6 -8
  26. package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
  27. package/dist/cjs/components/Badge/Badge.d.ts +3 -2
  28. package/dist/cjs/components/Badge/Badge.js +10 -8
  29. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  30. package/dist/cjs/components/Banner/Banner.d.ts +3 -3
  31. package/dist/cjs/components/Banner/Banner.js +10 -9
  32. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  33. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +1 -1
  34. package/dist/cjs/components/BaseGallery/BaseGallery.js +10 -9
  35. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  36. package/dist/cjs/components/BaseGallery/types.d.ts +2 -2
  37. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  38. package/dist/cjs/components/Button/Button.js +26 -22
  39. package/dist/cjs/components/Button/Button.js.map +1 -1
  40. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  41. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +21 -21
  42. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  43. package/dist/cjs/components/Calendar/Calendar.d.ts +3 -3
  44. package/dist/cjs/components/Calendar/Calendar.js +4 -6
  45. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  46. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +3 -2
  47. package/dist/cjs/components/CalendarDays/CalendarDays.js +11 -8
  48. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  49. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +3 -2
  50. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +24 -7
  51. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  52. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +3 -3
  53. package/dist/cjs/components/CalendarRange/CalendarRange.js +4 -6
  54. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  55. package/dist/cjs/components/Card/Card.d.ts +4 -4
  56. package/dist/cjs/components/Card/Card.js +7 -9
  57. package/dist/cjs/components/Card/Card.js.map +1 -1
  58. package/dist/cjs/components/CardGrid/CardGrid.d.ts +3 -2
  59. package/dist/cjs/components/CardGrid/CardGrid.js +11 -11
  60. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  61. package/dist/cjs/components/CardScroll/CardScroll.d.ts +3 -2
  62. package/dist/cjs/components/CardScroll/CardScroll.js +10 -9
  63. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  64. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +2 -1
  65. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  66. package/dist/cjs/components/Checkbox/Checkbox.js +3 -4
  67. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  68. package/dist/cjs/components/Chip/Chip.d.ts +3 -2
  69. package/dist/cjs/components/Chip/Chip.js +6 -7
  70. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  71. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +4 -2
  72. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  73. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +7 -0
  74. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +24 -6
  75. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  76. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +47 -3
  77. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +6 -1
  78. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  79. package/dist/cjs/components/Counter/Counter.d.ts +2 -1
  80. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  81. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +1 -1
  82. package/dist/cjs/components/CustomSelect/CustomSelect.js +1 -1
  83. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  84. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  85. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  86. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  87. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  88. package/dist/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  89. package/dist/cjs/components/DatePicker/DatePicker.js +5 -5
  90. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  91. package/dist/cjs/components/Div/Div.d.ts +3 -4
  92. package/dist/cjs/components/Div/Div.js +5 -13
  93. package/dist/cjs/components/Div/Div.js.map +1 -1
  94. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  95. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  96. package/dist/cjs/components/Epic/Epic.d.ts +3 -2
  97. package/dist/cjs/components/Epic/Epic.js +7 -7
  98. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  99. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +2 -2
  100. package/dist/cjs/components/FixedLayout/FixedLayout.js +5 -4
  101. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  102. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +2 -2
  103. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  104. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +2 -1
  105. package/dist/cjs/components/FocusVisible/FocusVisible.js +8 -6
  106. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  107. package/dist/cjs/components/FormField/FormField.js +5 -4
  108. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  109. package/dist/cjs/components/FormItem/FormItem.d.ts +6 -1
  110. package/dist/cjs/components/FormItem/FormItem.js +11 -10
  111. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  112. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  113. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +6 -6
  114. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  115. package/dist/cjs/components/FormStatus/FormStatus.d.ts +2 -2
  116. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  117. package/dist/cjs/components/Gradient/Gradient.d.ts +3 -2
  118. package/dist/cjs/components/Gradient/Gradient.js +15 -14
  119. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  120. package/dist/cjs/components/Group/Group.d.ts +3 -3
  121. package/dist/cjs/components/Group/Group.js +35 -21
  122. package/dist/cjs/components/Group/Group.js.map +1 -1
  123. package/dist/cjs/components/Header/Header.d.ts +3 -3
  124. package/dist/cjs/components/Header/Header.js +12 -11
  125. package/dist/cjs/components/Header/Header.js.map +1 -1
  126. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +6 -5
  127. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  128. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  129. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +4 -4
  130. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  131. package/dist/cjs/components/ImageBase/ImageBase.d.ts +2 -2
  132. package/dist/cjs/components/ImageBase/ImageBase.js +5 -7
  133. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  134. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  135. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +8 -9
  136. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  137. package/dist/cjs/components/InfoRow/InfoRow.d.ts +2 -1
  138. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  139. package/dist/cjs/components/InputLike/InputLike.d.ts +3 -3
  140. package/dist/cjs/components/InputLike/InputLike.js +6 -8
  141. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  142. package/dist/cjs/components/List/List.d.ts +3 -2
  143. package/dist/cjs/components/List/List.js +5 -5
  144. package/dist/cjs/components/List/List.js.map +1 -1
  145. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  146. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +14 -11
  147. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  148. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  149. package/dist/cjs/components/ModalCard/ModalCard.js +5 -7
  150. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  151. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  152. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -6
  153. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  154. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  155. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  156. package/dist/cjs/components/ModalPage/ModalPage.d.ts +3 -2
  157. package/dist/cjs/components/ModalPage/ModalPage.js +9 -6
  158. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  159. package/dist/cjs/components/ModalRoot/ModalRoot.js +6 -4
  160. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  161. package/dist/cjs/components/ModalRoot/ModalRootContext.js +3 -0
  162. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  163. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -2
  164. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  165. package/dist/cjs/components/ModalRoot/types.d.ts +1 -0
  166. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  167. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  168. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +43 -0
  169. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  170. package/dist/cjs/components/Pagination/Pagination.d.ts +3 -3
  171. package/dist/cjs/components/Pagination/Pagination.js +17 -33
  172. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  173. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  174. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.js +48 -0
  175. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  176. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  177. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.js +32 -0
  178. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  179. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  180. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.js +20 -0
  181. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  182. package/dist/cjs/components/Pagination/utils.d.ts +1 -0
  183. package/dist/cjs/components/Pagination/utils.js +15 -0
  184. package/dist/cjs/components/Pagination/utils.js.map +1 -0
  185. package/dist/cjs/components/Panel/Panel.d.ts +3 -3
  186. package/dist/cjs/components/Panel/Panel.js +7 -7
  187. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  188. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +3 -3
  189. package/dist/cjs/components/PanelHeader/PanelHeader.js +15 -10
  190. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  191. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  192. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +4 -6
  193. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  194. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  195. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  196. package/dist/cjs/components/Placeholder/Placeholder.d.ts +24 -11
  197. package/dist/cjs/components/Placeholder/Placeholder.js +49 -21
  198. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  199. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  200. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +12 -17
  201. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  202. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  203. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +16 -16
  204. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  205. package/dist/cjs/components/Popper/Popper.d.ts +7 -3
  206. package/dist/cjs/components/Popper/Popper.js +19 -10
  207. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  208. package/dist/cjs/components/Progress/Progress.d.ts +3 -3
  209. package/dist/cjs/components/Progress/Progress.js +9 -10
  210. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  211. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +3 -2
  212. package/dist/cjs/components/PromoBanner/PromoBanner.js +5 -6
  213. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  214. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +25 -0
  215. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +5 -2
  216. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  217. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.d.ts +7 -7
  218. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +14 -6
  219. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  220. package/dist/cjs/components/RadioGroup/RadioGroup.d.ts +3 -2
  221. package/dist/cjs/components/RadioGroup/RadioGroup.js +6 -7
  222. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  223. package/dist/cjs/components/Removable/Removable.d.ts +3 -3
  224. package/dist/cjs/components/Removable/Removable.js +4 -8
  225. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  226. package/dist/cjs/components/RichCell/RichCell.d.ts +1 -1
  227. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.d.ts +3 -1
  228. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js +5 -11
  229. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  230. package/dist/cjs/components/RichTooltip/RichTooltip.js +7 -6
  231. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  232. package/dist/cjs/components/Root/Root.d.ts +3 -2
  233. package/dist/cjs/components/Root/Root.js +13 -10
  234. package/dist/cjs/components/Root/Root.js.map +1 -1
  235. package/dist/cjs/components/RootComponent/RootComponent.d.ts +9 -0
  236. package/dist/cjs/components/RootComponent/RootComponent.js +29 -0
  237. package/dist/cjs/components/RootComponent/RootComponent.js.map +1 -0
  238. package/dist/cjs/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  239. package/dist/cjs/components/ScrollArrow/ScrollArrow.js +13 -12
  240. package/dist/cjs/components/ScrollArrow/ScrollArrow.js.map +1 -1
  241. package/dist/cjs/components/Search/Search.d.ts +3 -3
  242. package/dist/cjs/components/Search/Search.js +4 -2
  243. package/dist/cjs/components/Search/Search.js.map +1 -1
  244. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  245. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +4 -6
  246. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  247. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  248. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +4 -2
  249. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  250. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  251. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  252. package/dist/cjs/components/SelectTypography/SelectTypography.d.ts +2 -2
  253. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  254. package/dist/cjs/components/Separator/Separator.d.ts +3 -2
  255. package/dist/cjs/components/Separator/Separator.js +5 -5
  256. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  257. package/dist/cjs/components/Slider/Slider.d.ts +4 -3
  258. package/dist/cjs/components/Slider/Slider.js +5 -2
  259. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  260. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  261. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js +56 -5
  262. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  263. package/dist/cjs/components/Snackbar/Snackbar.d.ts +3 -2
  264. package/dist/cjs/components/Snackbar/Snackbar.js +8 -7
  265. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  266. package/dist/cjs/components/Spacing/Spacing.d.ts +3 -3
  267. package/dist/cjs/components/Spacing/Spacing.js +5 -6
  268. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  269. package/dist/cjs/components/Spinner/Spinner.d.ts +3 -2
  270. package/dist/cjs/components/Spinner/Spinner.js +6 -6
  271. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  272. package/dist/cjs/components/SplitCol/SplitCol.d.ts +2 -1
  273. package/dist/cjs/components/SplitCol/SplitCol.js +8 -6
  274. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  275. package/dist/cjs/components/SplitLayout/SplitLayout.d.ts +2 -2
  276. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  277. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  278. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +7 -9
  279. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  280. package/dist/cjs/components/Tabbar/Tabbar.d.ts +3 -2
  281. package/dist/cjs/components/Tabbar/Tabbar.js +6 -7
  282. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  283. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -1
  284. package/dist/cjs/components/TabbarItem/TabbarItem.js +7 -7
  285. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  286. package/dist/cjs/components/Tabs/Tabs.d.ts +3 -3
  287. package/dist/cjs/components/Tabs/Tabs.js +4 -6
  288. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  289. package/dist/cjs/components/TabsItem/TabsItem.d.ts +2 -1
  290. package/dist/cjs/components/TabsItem/TabsItem.js +6 -5
  291. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  292. package/dist/cjs/components/Tappable/Tappable.d.ts +6 -1
  293. package/dist/cjs/components/Tappable/Tappable.js +12 -9
  294. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  295. package/dist/cjs/components/TextTooltip/TextTooltip.js +7 -6
  296. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  297. package/dist/cjs/components/Tooltip/Tooltip.d.ts +1 -1
  298. package/dist/cjs/components/Tooltip/Tooltip.js +5 -3
  299. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  300. package/dist/cjs/components/TooltipBase/TooltipBase.d.ts +8 -1
  301. package/dist/cjs/components/TooltipBase/TooltipBase.js +21 -8
  302. package/dist/cjs/components/TooltipBase/TooltipBase.js.map +1 -1
  303. package/dist/cjs/components/Typography/Caption/Caption.js +6 -5
  304. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  305. package/dist/cjs/components/Typography/Headline/Headline.js +5 -4
  306. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  307. package/dist/cjs/components/Typography/Title/Title.js +6 -5
  308. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  309. package/dist/cjs/components/Typography/Typography.d.ts +1 -1
  310. package/dist/cjs/components/Typography/Typography.js +12 -13
  311. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  312. package/dist/cjs/components/UsersStack/UsersStack.d.ts +3 -2
  313. package/dist/cjs/components/UsersStack/UsersStack.js +14 -12
  314. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  315. package/dist/cjs/components/View/View.d.ts +2 -1
  316. package/dist/cjs/components/View/View.js +7 -3
  317. package/dist/cjs/components/View/View.js.map +1 -1
  318. package/dist/cjs/components/View/ViewInfinite.d.ts +10 -3
  319. package/dist/cjs/components/View/ViewInfinite.js +17 -6
  320. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  321. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  322. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +8 -9
  323. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  324. package/dist/cjs/helpers/appearance.d.ts +4 -0
  325. package/dist/cjs/helpers/appearance.js.map +1 -1
  326. package/dist/cjs/hooks/useAppearance.d.ts +1 -1
  327. package/dist/cjs/hooks/useAutoDetectAppearance.d.ts +4 -0
  328. package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
  329. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +5 -1
  330. package/dist/cjs/hooks/useBridgeAdaptivity.js +25 -20
  331. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -1
  332. package/dist/cjs/hooks/useInsets.d.ts +5 -1
  333. package/dist/cjs/hooks/useInsets.js +11 -11
  334. package/dist/cjs/hooks/useInsets.js.map +1 -1
  335. package/dist/cjs/index.d.ts +6 -3
  336. package/dist/cjs/index.js +14 -0
  337. package/dist/cjs/index.js.map +1 -1
  338. package/dist/cjs/lib/adaptivity/functions.d.ts +8 -0
  339. package/dist/cjs/lib/adaptivity/functions.js +30 -0
  340. package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
  341. package/dist/cjs/lib/appearance/index.d.ts +1 -0
  342. package/dist/cjs/lib/appearance/index.js +6 -0
  343. package/dist/cjs/lib/appearance/index.js.map +1 -0
  344. package/dist/cjs/lib/appearance/types.d.ts +1 -0
  345. package/dist/cjs/lib/appearance/types.js +6 -0
  346. package/dist/cjs/lib/appearance/types.js.map +1 -0
  347. package/dist/cjs/lib/floating/index.d.ts +1 -1
  348. package/dist/cjs/lib/floating/index.js +3 -0
  349. package/dist/cjs/lib/floating/index.js.map +1 -1
  350. package/dist/cjs/lib/platform.js +11 -7
  351. package/dist/cjs/lib/platform.js.map +1 -1
  352. package/dist/cjs/lib/select.d.ts +1 -1
  353. package/dist/cjs/lib/taptic.d.ts +4 -0
  354. package/dist/cjs/lib/taptic.js.map +1 -1
  355. package/dist/cjs/lib/utils.d.ts +2 -0
  356. package/dist/cjs/lib/utils.js +22 -0
  357. package/dist/cjs/lib/utils.js.map +1 -1
  358. package/dist/cjs/types.d.ts +1 -0
  359. package/dist/cjs/types.js.map +1 -1
  360. package/dist/components/Accordion/Accordion.d.ts +1 -1
  361. package/dist/components/Accordion/Accordion.js +6 -11
  362. package/dist/components/Accordion/Accordion.js.map +1 -1
  363. package/dist/components/ActionSheet/ActionSheet.d.ts +6 -1
  364. package/dist/components/ActionSheet/ActionSheet.js +12 -9
  365. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  366. package/dist/components/ActionSheet/ActionSheetContext.d.ts +6 -1
  367. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  368. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +2 -1
  369. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  370. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +6 -1
  371. package/dist/components/ActionSheetItem/ActionSheetItem.js +15 -4
  372. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  373. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +22 -8
  374. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  375. package/dist/components/AppRoot/AppRoot.d.ts +19 -2
  376. package/dist/components/AppRoot/AppRoot.js +58 -20
  377. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  378. package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
  379. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  380. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +1 -1
  381. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  382. package/dist/components/AspectRatio/AspectRatio.d.ts +3 -3
  383. package/dist/components/AspectRatio/AspectRatio.js +6 -8
  384. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  385. package/dist/components/Badge/Badge.d.ts +3 -2
  386. package/dist/components/Badge/Badge.js +10 -8
  387. package/dist/components/Badge/Badge.js.map +1 -1
  388. package/dist/components/Banner/Banner.d.ts +3 -3
  389. package/dist/components/Banner/Banner.js +10 -9
  390. package/dist/components/Banner/Banner.js.map +1 -1
  391. package/dist/components/BaseGallery/BaseGallery.d.ts +1 -1
  392. package/dist/components/BaseGallery/BaseGallery.js +10 -9
  393. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  394. package/dist/components/BaseGallery/types.d.ts +2 -2
  395. package/dist/components/BaseGallery/types.js.map +1 -1
  396. package/dist/components/Button/Button.js +26 -22
  397. package/dist/components/Button/Button.js.map +1 -1
  398. package/dist/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  399. package/dist/components/ButtonGroup/ButtonGroup.js +21 -21
  400. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  401. package/dist/components/Calendar/Calendar.d.ts +3 -3
  402. package/dist/components/Calendar/Calendar.js +4 -6
  403. package/dist/components/Calendar/Calendar.js.map +1 -1
  404. package/dist/components/CalendarDays/CalendarDays.d.ts +3 -2
  405. package/dist/components/CalendarDays/CalendarDays.js +11 -8
  406. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  407. package/dist/components/CalendarHeader/CalendarHeader.d.ts +3 -2
  408. package/dist/components/CalendarHeader/CalendarHeader.js +24 -7
  409. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  410. package/dist/components/CalendarRange/CalendarRange.d.ts +3 -3
  411. package/dist/components/CalendarRange/CalendarRange.js +4 -6
  412. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  413. package/dist/components/Card/Card.d.ts +4 -4
  414. package/dist/components/Card/Card.js +7 -9
  415. package/dist/components/Card/Card.js.map +1 -1
  416. package/dist/components/CardGrid/CardGrid.d.ts +3 -2
  417. package/dist/components/CardGrid/CardGrid.js +11 -11
  418. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  419. package/dist/components/CardScroll/CardScroll.d.ts +3 -2
  420. package/dist/components/CardScroll/CardScroll.js +10 -9
  421. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  422. package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -1
  423. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  424. package/dist/components/Checkbox/Checkbox.js +3 -4
  425. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  426. package/dist/components/Chip/Chip.d.ts +3 -2
  427. package/dist/components/Chip/Chip.js +6 -7
  428. package/dist/components/Chip/Chip.js.map +1 -1
  429. package/dist/components/ChipsInputBase/ChipsInputBase.js +4 -2
  430. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  431. package/dist/components/ConfigProvider/ConfigProvider.d.ts +7 -0
  432. package/dist/components/ConfigProvider/ConfigProvider.js +25 -7
  433. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  434. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +47 -3
  435. package/dist/components/ConfigProvider/ConfigProviderContext.js +6 -1
  436. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  437. package/dist/components/Counter/Counter.d.ts +2 -1
  438. package/dist/components/Counter/Counter.js.map +1 -1
  439. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  440. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  441. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  442. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  443. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  444. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  445. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  446. package/dist/components/DatePicker/DatePicker.d.ts +2 -1
  447. package/dist/components/DatePicker/DatePicker.js +6 -6
  448. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  449. package/dist/components/Div/Div.d.ts +3 -4
  450. package/dist/components/Div/Div.js +5 -13
  451. package/dist/components/Div/Div.js.map +1 -1
  452. package/dist/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  453. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  454. package/dist/components/Epic/Epic.d.ts +3 -2
  455. package/dist/components/Epic/Epic.js +7 -7
  456. package/dist/components/Epic/Epic.js.map +1 -1
  457. package/dist/components/FixedLayout/FixedLayout.d.ts +2 -2
  458. package/dist/components/FixedLayout/FixedLayout.js +5 -4
  459. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  460. package/dist/components/FocusTrap/FocusTrap.d.ts +2 -2
  461. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  462. package/dist/components/FocusVisible/FocusVisible.d.ts +2 -1
  463. package/dist/components/FocusVisible/FocusVisible.js +8 -6
  464. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  465. package/dist/components/FormField/FormField.js +5 -4
  466. package/dist/components/FormField/FormField.js.map +1 -1
  467. package/dist/components/FormItem/FormItem.d.ts +6 -1
  468. package/dist/components/FormItem/FormItem.js +11 -10
  469. package/dist/components/FormItem/FormItem.js.map +1 -1
  470. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  471. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +6 -6
  472. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  473. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  474. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  475. package/dist/components/Gradient/Gradient.d.ts +3 -2
  476. package/dist/components/Gradient/Gradient.js +15 -14
  477. package/dist/components/Gradient/Gradient.js.map +1 -1
  478. package/dist/components/Group/Group.d.ts +3 -3
  479. package/dist/components/Group/Group.js +35 -21
  480. package/dist/components/Group/Group.js.map +1 -1
  481. package/dist/components/Header/Header.d.ts +3 -3
  482. package/dist/components/Header/Header.js +12 -11
  483. package/dist/components/Header/Header.js.map +1 -1
  484. package/dist/components/HorizontalCell/HorizontalCell.js +6 -5
  485. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  486. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  487. package/dist/components/HorizontalScroll/HorizontalScroll.js +4 -4
  488. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  489. package/dist/components/ImageBase/ImageBase.d.ts +2 -2
  490. package/dist/components/ImageBase/ImageBase.js +5 -7
  491. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  492. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  493. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +8 -9
  494. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  495. package/dist/components/InfoRow/InfoRow.d.ts +2 -1
  496. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  497. package/dist/components/InputLike/InputLike.d.ts +3 -3
  498. package/dist/components/InputLike/InputLike.js +6 -8
  499. package/dist/components/InputLike/InputLike.js.map +1 -1
  500. package/dist/components/List/List.d.ts +3 -2
  501. package/dist/components/List/List.js +5 -5
  502. package/dist/components/List/List.js.map +1 -1
  503. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  504. package/dist/components/MiniInfoCell/MiniInfoCell.js +14 -11
  505. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  506. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  507. package/dist/components/ModalCard/ModalCard.js +5 -7
  508. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  509. package/dist/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  510. package/dist/components/ModalCardBase/ModalCardBase.js +4 -6
  511. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  512. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  513. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  514. package/dist/components/ModalPage/ModalPage.d.ts +3 -2
  515. package/dist/components/ModalPage/ModalPage.js +9 -6
  516. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  517. package/dist/components/ModalRoot/ModalRoot.js +7 -5
  518. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  519. package/dist/components/ModalRoot/ModalRootContext.js +3 -0
  520. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  521. package/dist/components/ModalRoot/ModalRootDesktop.js +3 -3
  522. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  523. package/dist/components/ModalRoot/types.d.ts +1 -0
  524. package/dist/components/ModalRoot/types.js.map +1 -1
  525. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  526. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +24 -0
  527. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  528. package/dist/components/Pagination/Pagination.d.ts +3 -3
  529. package/dist/components/Pagination/Pagination.js +17 -33
  530. package/dist/components/Pagination/Pagination.js.map +1 -1
  531. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  532. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js +37 -0
  533. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  534. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  535. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js +21 -0
  536. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  537. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  538. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js +10 -0
  539. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  540. package/dist/components/Pagination/utils.d.ts +1 -0
  541. package/dist/components/Pagination/utils.js +5 -0
  542. package/dist/components/Pagination/utils.js.map +1 -0
  543. package/dist/components/Panel/Panel.d.ts +3 -3
  544. package/dist/components/Panel/Panel.js +7 -7
  545. package/dist/components/Panel/Panel.js.map +1 -1
  546. package/dist/components/PanelHeader/PanelHeader.d.ts +3 -3
  547. package/dist/components/PanelHeader/PanelHeader.js +16 -11
  548. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  549. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  550. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +4 -6
  551. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  552. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  553. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  554. package/dist/components/Placeholder/Placeholder.d.ts +24 -11
  555. package/dist/components/Placeholder/Placeholder.js +49 -21
  556. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  557. package/dist/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  558. package/dist/components/PopoutRoot/PopoutRoot.js +12 -17
  559. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  560. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  561. package/dist/components/PopoutWrapper/PopoutWrapper.js +16 -16
  562. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  563. package/dist/components/Popper/Popper.d.ts +7 -3
  564. package/dist/components/Popper/Popper.js +20 -11
  565. package/dist/components/Popper/Popper.js.map +1 -1
  566. package/dist/components/Progress/Progress.d.ts +3 -3
  567. package/dist/components/Progress/Progress.js +9 -10
  568. package/dist/components/Progress/Progress.js.map +1 -1
  569. package/dist/components/PromoBanner/PromoBanner.d.ts +3 -2
  570. package/dist/components/PromoBanner/PromoBanner.js +5 -6
  571. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  572. package/dist/components/PullToRefresh/PullToRefresh.d.ts +25 -0
  573. package/dist/components/PullToRefresh/PullToRefresh.js +5 -2
  574. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  575. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +7 -7
  576. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +14 -6
  577. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  578. package/dist/components/RadioGroup/RadioGroup.d.ts +3 -2
  579. package/dist/components/RadioGroup/RadioGroup.js +6 -7
  580. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  581. package/dist/components/Removable/Removable.d.ts +3 -3
  582. package/dist/components/Removable/Removable.js +4 -8
  583. package/dist/components/Removable/Removable.js.map +1 -1
  584. package/dist/components/RichCell/RichCell.d.ts +1 -1
  585. package/dist/components/RichCell/RichCellIcon/RichCellIcon.d.ts +3 -1
  586. package/dist/components/RichCell/RichCellIcon/RichCellIcon.js +5 -11
  587. package/dist/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  588. package/dist/components/RichTooltip/RichTooltip.js +7 -6
  589. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  590. package/dist/components/Root/Root.d.ts +3 -2
  591. package/dist/components/Root/Root.js +13 -10
  592. package/dist/components/Root/Root.js.map +1 -1
  593. package/dist/components/RootComponent/RootComponent.d.ts +9 -0
  594. package/dist/components/RootComponent/RootComponent.js +20 -0
  595. package/dist/components/RootComponent/RootComponent.js.map +1 -0
  596. package/dist/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  597. package/dist/components/ScrollArrow/ScrollArrow.js +13 -12
  598. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  599. package/dist/components/Search/Search.d.ts +3 -3
  600. package/dist/components/Search/Search.js +4 -2
  601. package/dist/components/Search/Search.js.map +1 -1
  602. package/dist/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  603. package/dist/components/SegmentedControl/SegmentedControl.js +4 -6
  604. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  605. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  606. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +4 -2
  607. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  608. package/dist/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  609. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  610. package/dist/components/SelectTypography/SelectTypography.d.ts +2 -2
  611. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  612. package/dist/components/Separator/Separator.d.ts +3 -2
  613. package/dist/components/Separator/Separator.js +5 -5
  614. package/dist/components/Separator/Separator.js.map +1 -1
  615. package/dist/components/Slider/Slider.d.ts +4 -3
  616. package/dist/components/Slider/Slider.js +5 -2
  617. package/dist/components/Slider/Slider.js.map +1 -1
  618. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  619. package/dist/components/Slider/SliderThumb/SliderThumb.js +56 -5
  620. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  621. package/dist/components/Snackbar/Snackbar.d.ts +3 -2
  622. package/dist/components/Snackbar/Snackbar.js +8 -7
  623. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  624. package/dist/components/Spacing/Spacing.d.ts +3 -3
  625. package/dist/components/Spacing/Spacing.js +5 -6
  626. package/dist/components/Spacing/Spacing.js.map +1 -1
  627. package/dist/components/Spinner/Spinner.d.ts +3 -2
  628. package/dist/components/Spinner/Spinner.js +6 -6
  629. package/dist/components/Spinner/Spinner.js.map +1 -1
  630. package/dist/components/SplitCol/SplitCol.d.ts +2 -1
  631. package/dist/components/SplitCol/SplitCol.js +8 -6
  632. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  633. package/dist/components/SplitLayout/SplitLayout.d.ts +2 -2
  634. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  635. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  636. package/dist/components/SubnavigationBar/SubnavigationBar.js +7 -9
  637. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  638. package/dist/components/Tabbar/Tabbar.d.ts +3 -2
  639. package/dist/components/Tabbar/Tabbar.js +6 -7
  640. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  641. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  642. package/dist/components/TabbarItem/TabbarItem.js +7 -7
  643. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  644. package/dist/components/Tabs/Tabs.d.ts +3 -3
  645. package/dist/components/Tabs/Tabs.js +4 -6
  646. package/dist/components/Tabs/Tabs.js.map +1 -1
  647. package/dist/components/TabsItem/TabsItem.d.ts +2 -1
  648. package/dist/components/TabsItem/TabsItem.js +6 -5
  649. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  650. package/dist/components/Tappable/Tappable.d.ts +6 -1
  651. package/dist/components/Tappable/Tappable.js +12 -9
  652. package/dist/components/Tappable/Tappable.js.map +1 -1
  653. package/dist/components/TextTooltip/TextTooltip.js +7 -6
  654. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  655. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  656. package/dist/components/Tooltip/Tooltip.js +6 -4
  657. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  658. package/dist/components/TooltipBase/TooltipBase.d.ts +8 -1
  659. package/dist/components/TooltipBase/TooltipBase.js +10 -5
  660. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  661. package/dist/components/Typography/Caption/Caption.js +6 -5
  662. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  663. package/dist/components/Typography/Headline/Headline.js +5 -4
  664. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  665. package/dist/components/Typography/Title/Title.js +6 -5
  666. package/dist/components/Typography/Title/Title.js.map +1 -1
  667. package/dist/components/Typography/Typography.d.ts +1 -1
  668. package/dist/components/Typography/Typography.js +12 -13
  669. package/dist/components/Typography/Typography.js.map +1 -1
  670. package/dist/components/UsersStack/UsersStack.d.ts +3 -2
  671. package/dist/components/UsersStack/UsersStack.js +14 -12
  672. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  673. package/dist/components/View/View.d.ts +2 -1
  674. package/dist/components/View/View.js +7 -3
  675. package/dist/components/View/View.js.map +1 -1
  676. package/dist/components/View/ViewInfinite.d.ts +10 -3
  677. package/dist/components/View/ViewInfinite.js +7 -4
  678. package/dist/components/View/ViewInfinite.js.map +1 -1
  679. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  680. package/dist/components/VisuallyHidden/VisuallyHidden.js +8 -9
  681. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  682. package/dist/components.css +19 -18
  683. package/dist/components.css.map +1 -1
  684. package/dist/components.js.tmp +6990 -4428
  685. package/dist/cssm/components/Accordion/Accordion.d.ts +1 -1
  686. package/dist/cssm/components/Accordion/Accordion.js +5 -5
  687. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  688. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +6 -1
  689. package/dist/cssm/components/ActionSheet/ActionSheet.js +11 -9
  690. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  691. package/dist/cssm/components/ActionSheet/ActionSheetContext.d.ts +6 -1
  692. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  693. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +1 -0
  694. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  695. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +6 -1
  696. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +13 -3
  697. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  698. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +22 -8
  699. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  700. package/dist/cssm/components/AppRoot/AppRoot.d.ts +19 -2
  701. package/dist/cssm/components/AppRoot/AppRoot.js +49 -15
  702. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  703. package/dist/cssm/components/AppRoot/AppRootContext.d.ts +1 -0
  704. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  705. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +1 -1
  706. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  707. package/dist/cssm/components/AspectRatio/AspectRatio.d.ts +3 -3
  708. package/dist/cssm/components/AspectRatio/AspectRatio.js +5 -5
  709. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  710. package/dist/cssm/components/Badge/Badge.d.ts +3 -2
  711. package/dist/cssm/components/Badge/Badge.js +8 -5
  712. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  713. package/dist/cssm/components/Banner/Banner.d.ts +3 -3
  714. package/dist/cssm/components/Banner/Banner.js +9 -7
  715. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  716. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +1 -1
  717. package/dist/cssm/components/BaseGallery/BaseGallery.js +10 -8
  718. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  719. package/dist/cssm/components/BaseGallery/types.d.ts +2 -2
  720. package/dist/cssm/components/BaseGallery/types.js.map +1 -1
  721. package/dist/cssm/components/Button/Button.js +26 -22
  722. package/dist/cssm/components/Button/Button.js.map +1 -1
  723. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  724. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +19 -16
  725. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  726. package/dist/cssm/components/Calendar/Calendar.d.ts +3 -3
  727. package/dist/cssm/components/Calendar/Calendar.js +4 -4
  728. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  729. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +3 -2
  730. package/dist/cssm/components/CalendarDays/CalendarDays.js +9 -6
  731. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  732. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +3 -2
  733. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +6 -4
  734. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  735. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +3 -3
  736. package/dist/cssm/components/CalendarRange/CalendarRange.js +4 -5
  737. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  738. package/dist/cssm/components/Card/Card.d.ts +4 -4
  739. package/dist/cssm/components/Card/Card.js +6 -5
  740. package/dist/cssm/components/Card/Card.js.map +1 -1
  741. package/dist/cssm/components/Card/Card.module.css +1 -1
  742. package/dist/cssm/components/CardGrid/CardGrid.d.ts +3 -2
  743. package/dist/cssm/components/CardGrid/CardGrid.js +10 -8
  744. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  745. package/dist/cssm/components/CardGrid/CardGrid.module.css +0 -7
  746. package/dist/cssm/components/CardScroll/CardScroll.d.ts +3 -2
  747. package/dist/cssm/components/CardScroll/CardScroll.js +9 -7
  748. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  749. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +2 -1
  750. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  751. package/dist/cssm/components/Checkbox/Checkbox.js +2 -3
  752. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  753. package/dist/cssm/components/Chip/Chip.d.ts +3 -2
  754. package/dist/cssm/components/Chip/Chip.js +5 -5
  755. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  756. package/dist/cssm/components/Chip/Chip.module.css +24 -0
  757. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +4 -2
  758. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  759. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +1 -4
  760. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +7 -0
  761. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +32 -7
  762. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  763. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +47 -3
  764. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +6 -1
  765. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  766. package/dist/cssm/components/Counter/Counter.d.ts +2 -1
  767. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  768. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  769. package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
  770. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  771. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  772. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  773. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  774. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  775. package/dist/cssm/components/DatePicker/DatePicker.d.ts +2 -1
  776. package/dist/cssm/components/DatePicker/DatePicker.js +5 -4
  777. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  778. package/dist/cssm/components/Div/Div.d.ts +3 -4
  779. package/dist/cssm/components/Div/Div.js +5 -8
  780. package/dist/cssm/components/Div/Div.js.map +1 -1
  781. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  782. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  783. package/dist/cssm/components/Epic/Epic.d.ts +3 -2
  784. package/dist/cssm/components/Epic/Epic.js +4 -4
  785. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  786. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +2 -2
  787. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -4
  788. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  789. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +2 -2
  790. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  791. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +2 -1
  792. package/dist/cssm/components/FocusVisible/FocusVisible.js +8 -6
  793. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  794. package/dist/cssm/components/FormField/FormField.js +5 -4
  795. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  796. package/dist/cssm/components/FormItem/FormItem.d.ts +6 -1
  797. package/dist/cssm/components/FormItem/FormItem.js +9 -7
  798. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  799. package/dist/cssm/components/FormItem/FormItem.module.css +3 -0
  800. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  801. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -4
  802. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  803. package/dist/cssm/components/FormStatus/FormStatus.d.ts +2 -2
  804. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  805. package/dist/cssm/components/Gradient/Gradient.d.ts +3 -2
  806. package/dist/cssm/components/Gradient/Gradient.js +14 -11
  807. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  808. package/dist/cssm/components/Group/Group.d.ts +3 -3
  809. package/dist/cssm/components/Group/Group.js +34 -19
  810. package/dist/cssm/components/Group/Group.js.map +1 -1
  811. package/dist/cssm/components/Group/Group.module.css +36 -4
  812. package/dist/cssm/components/Header/Header.d.ts +3 -3
  813. package/dist/cssm/components/Header/Header.js +10 -8
  814. package/dist/cssm/components/Header/Header.js.map +1 -1
  815. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +6 -5
  816. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  817. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  818. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +4 -3
  819. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  820. package/dist/cssm/components/ImageBase/ImageBase.d.ts +2 -2
  821. package/dist/cssm/components/ImageBase/ImageBase.js +5 -5
  822. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  823. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  824. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +7 -6
  825. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  826. package/dist/cssm/components/InfoRow/InfoRow.d.ts +2 -1
  827. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  828. package/dist/cssm/components/Input/Input.module.css +15 -0
  829. package/dist/cssm/components/InputLike/InputLike.d.ts +3 -3
  830. package/dist/cssm/components/InputLike/InputLike.js +5 -5
  831. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  832. package/dist/cssm/components/List/List.d.ts +3 -2
  833. package/dist/cssm/components/List/List.js +4 -3
  834. package/dist/cssm/components/List/List.js.map +1 -1
  835. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  836. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +14 -11
  837. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  838. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  839. package/dist/cssm/components/ModalCard/ModalCard.js +4 -4
  840. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  841. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  842. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +4 -4
  843. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  844. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  845. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  846. package/dist/cssm/components/ModalPage/ModalPage.d.ts +3 -2
  847. package/dist/cssm/components/ModalPage/ModalPage.js +8 -4
  848. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  849. package/dist/cssm/components/ModalPage/ModalPage.module.css +7 -3
  850. package/dist/cssm/components/ModalRoot/ModalRoot.js +6 -4
  851. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  852. package/dist/cssm/components/ModalRoot/ModalRoot.module.css +1 -1
  853. package/dist/cssm/components/ModalRoot/ModalRootContext.js +2 -1
  854. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  855. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +3 -3
  856. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  857. package/dist/cssm/components/ModalRoot/types.d.ts +1 -0
  858. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  859. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  860. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +22 -0
  861. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  862. package/dist/cssm/components/Pagination/Pagination.d.ts +3 -3
  863. package/dist/cssm/components/Pagination/Pagination.js +16 -31
  864. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  865. package/dist/cssm/components/Pagination/Pagination.module.css +0 -51
  866. package/dist/cssm/components/Pagination/PaginationPage/PaginationPage.module.css +43 -0
  867. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  868. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js +30 -0
  869. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  870. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  871. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js +17 -0
  872. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  873. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  874. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js +10 -0
  875. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  876. package/dist/cssm/components/Pagination/utils.d.ts +1 -0
  877. package/dist/cssm/components/Pagination/utils.js +5 -0
  878. package/dist/cssm/components/Pagination/utils.js.map +1 -0
  879. package/dist/cssm/components/Panel/Panel.d.ts +3 -3
  880. package/dist/cssm/components/Panel/Panel.js +6 -4
  881. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  882. package/dist/cssm/components/Panel/Panel.module.css +9 -2
  883. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +3 -3
  884. package/dist/cssm/components/PanelHeader/PanelHeader.js +17 -10
  885. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  886. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -4
  887. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  888. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +4 -4
  889. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  890. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  891. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  892. package/dist/cssm/components/Placeholder/Placeholder.d.ts +24 -11
  893. package/dist/cssm/components/Placeholder/Placeholder.js +32 -15
  894. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  895. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  896. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +12 -15
  897. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  898. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  899. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +15 -14
  900. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  901. package/dist/cssm/components/Popper/Popper.d.ts +7 -3
  902. package/dist/cssm/components/Popper/Popper.js +18 -10
  903. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  904. package/dist/cssm/components/Progress/Progress.d.ts +3 -3
  905. package/dist/cssm/components/Progress/Progress.js +9 -8
  906. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  907. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +3 -2
  908. package/dist/cssm/components/PromoBanner/PromoBanner.js +4 -4
  909. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  910. package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +25 -0
  911. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +5 -2
  912. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  913. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.d.ts +7 -7
  914. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +6 -5
  915. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  916. package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +3 -2
  917. package/dist/cssm/components/RadioGroup/RadioGroup.js +4 -3
  918. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  919. package/dist/cssm/components/Removable/Removable.d.ts +3 -3
  920. package/dist/cssm/components/Removable/Removable.js +4 -6
  921. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  922. package/dist/cssm/components/RichCell/RichCell.d.ts +1 -1
  923. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.d.ts +3 -1
  924. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js +6 -6
  925. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  926. package/dist/cssm/components/RichTooltip/RichTooltip.js +7 -6
  927. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  928. package/dist/cssm/components/Root/Root.d.ts +3 -2
  929. package/dist/cssm/components/Root/Root.js +12 -8
  930. package/dist/cssm/components/Root/Root.js.map +1 -1
  931. package/dist/cssm/components/RootComponent/RootComponent.d.ts +9 -0
  932. package/dist/cssm/components/RootComponent/RootComponent.js +11 -0
  933. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -0
  934. package/dist/cssm/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  935. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +13 -10
  936. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  937. package/dist/cssm/components/Search/Search.d.ts +3 -3
  938. package/dist/cssm/components/Search/Search.js +2 -1
  939. package/dist/cssm/components/Search/Search.js.map +1 -1
  940. package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  941. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +4 -4
  942. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  943. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  944. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  945. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  946. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  947. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  948. package/dist/cssm/components/SelectTypography/SelectTypography.d.ts +2 -2
  949. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  950. package/dist/cssm/components/Separator/Separator.d.ts +3 -2
  951. package/dist/cssm/components/Separator/Separator.js +3 -2
  952. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  953. package/dist/cssm/components/Slider/Slider.d.ts +4 -3
  954. package/dist/cssm/components/Slider/Slider.js +3 -1
  955. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  956. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  957. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +54 -5
  958. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  959. package/dist/cssm/components/Snackbar/Snackbar.d.ts +3 -2
  960. package/dist/cssm/components/Snackbar/Snackbar.js +8 -6
  961. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  962. package/dist/cssm/components/Spacing/Spacing.d.ts +3 -3
  963. package/dist/cssm/components/Spacing/Spacing.js +4 -4
  964. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  965. package/dist/cssm/components/Spinner/Spinner.d.ts +3 -2
  966. package/dist/cssm/components/Spinner/Spinner.js +5 -4
  967. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  968. package/dist/cssm/components/SplitCol/SplitCol.d.ts +2 -1
  969. package/dist/cssm/components/SplitCol/SplitCol.js +7 -5
  970. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  971. package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +2 -2
  972. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  973. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  974. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +6 -6
  975. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  976. package/dist/cssm/components/Tabbar/Tabbar.d.ts +3 -2
  977. package/dist/cssm/components/Tabbar/Tabbar.js +5 -4
  978. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  979. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  980. package/dist/cssm/components/TabbarItem/TabbarItem.js +5 -4
  981. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  982. package/dist/cssm/components/Tabs/Tabs.d.ts +3 -3
  983. package/dist/cssm/components/Tabs/Tabs.js +4 -4
  984. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  985. package/dist/cssm/components/TabsItem/TabsItem.d.ts +2 -1
  986. package/dist/cssm/components/TabsItem/TabsItem.js +6 -5
  987. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  988. package/dist/cssm/components/Tappable/Tappable.d.ts +6 -1
  989. package/dist/cssm/components/Tappable/Tappable.js +10 -8
  990. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  991. package/dist/cssm/components/Tappable/Tappable.module.css +4 -0
  992. package/dist/cssm/components/TextTooltip/TextTooltip.js +7 -6
  993. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  994. package/dist/cssm/components/Tooltip/Tooltip.d.ts +1 -1
  995. package/dist/cssm/components/Tooltip/Tooltip.js +4 -3
  996. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  997. package/dist/cssm/components/TooltipBase/TooltipBase.d.ts +8 -1
  998. package/dist/cssm/components/TooltipBase/TooltipBase.js +9 -4
  999. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  1000. package/dist/cssm/components/TooltipBase/TooltipBase.module.css +0 -1
  1001. package/dist/cssm/components/Typography/Caption/Caption.js +6 -5
  1002. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1003. package/dist/cssm/components/Typography/Headline/Headline.js +5 -4
  1004. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1005. package/dist/cssm/components/Typography/Title/Title.js +6 -5
  1006. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1007. package/dist/cssm/components/Typography/Typography.d.ts +1 -1
  1008. package/dist/cssm/components/Typography/Typography.js +10 -8
  1009. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  1010. package/dist/cssm/components/Typography/Typography.module.css +6 -0
  1011. package/dist/cssm/components/UsersStack/UsersStack.d.ts +3 -2
  1012. package/dist/cssm/components/UsersStack/UsersStack.js +14 -11
  1013. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1014. package/dist/cssm/components/View/View.d.ts +2 -1
  1015. package/dist/cssm/components/View/View.js +7 -3
  1016. package/dist/cssm/components/View/View.js.map +1 -1
  1017. package/dist/cssm/components/View/ViewInfinite.d.ts +10 -3
  1018. package/dist/cssm/components/View/ViewInfinite.js +7 -4
  1019. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1020. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  1021. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +4 -6
  1022. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  1023. package/dist/cssm/helpers/appearance.d.ts +4 -0
  1024. package/dist/cssm/helpers/appearance.js +4 -1
  1025. package/dist/cssm/helpers/appearance.js.map +1 -1
  1026. package/dist/cssm/hooks/useAppearance.d.ts +1 -1
  1027. package/dist/cssm/hooks/useAutoDetectAppearance.d.ts +4 -0
  1028. package/dist/cssm/hooks/useAutoDetectAppearance.js +4 -1
  1029. package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
  1030. package/dist/cssm/hooks/useBridgeAdaptivity.d.ts +5 -1
  1031. package/dist/cssm/hooks/useBridgeAdaptivity.js +29 -22
  1032. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -1
  1033. package/dist/cssm/hooks/useInsets.d.ts +5 -1
  1034. package/dist/cssm/hooks/useInsets.js +15 -13
  1035. package/dist/cssm/hooks/useInsets.js.map +1 -1
  1036. package/dist/cssm/index.d.ts +6 -3
  1037. package/dist/cssm/index.js +3 -1
  1038. package/dist/cssm/index.js.map +1 -1
  1039. package/dist/cssm/lib/adaptivity/functions.d.ts +8 -0
  1040. package/dist/cssm/lib/adaptivity/functions.js +29 -1
  1041. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  1042. package/dist/cssm/lib/appearance/index.d.ts +1 -0
  1043. package/dist/cssm/lib/appearance/index.js +3 -0
  1044. package/dist/cssm/lib/appearance/index.js.map +1 -0
  1045. package/dist/cssm/lib/appearance/types.d.ts +1 -0
  1046. package/dist/cssm/lib/appearance/types.js +3 -0
  1047. package/dist/cssm/lib/appearance/types.js.map +1 -0
  1048. package/dist/cssm/lib/floating/index.d.ts +1 -1
  1049. package/dist/cssm/lib/floating/index.js +1 -1
  1050. package/dist/cssm/lib/floating/index.js.map +1 -1
  1051. package/dist/cssm/lib/platform.js +9 -7
  1052. package/dist/cssm/lib/platform.js.map +1 -1
  1053. package/dist/cssm/lib/select.d.ts +1 -1
  1054. package/dist/cssm/lib/taptic.d.ts +4 -0
  1055. package/dist/cssm/lib/taptic.js +4 -1
  1056. package/dist/cssm/lib/taptic.js.map +1 -1
  1057. package/dist/cssm/lib/utils.d.ts +2 -0
  1058. package/dist/cssm/lib/utils.js +14 -0
  1059. package/dist/cssm/lib/utils.js.map +1 -1
  1060. package/dist/cssm/styles/common.css +8 -2
  1061. package/dist/cssm/styles/themes.css +226 -133
  1062. package/dist/cssm/types.d.ts +1 -0
  1063. package/dist/cssm/types.js.map +1 -1
  1064. package/dist/helpers/appearance.d.ts +4 -0
  1065. package/dist/helpers/appearance.js +4 -1
  1066. package/dist/helpers/appearance.js.map +1 -1
  1067. package/dist/hooks/useAppearance.d.ts +1 -1
  1068. package/dist/hooks/useAutoDetectAppearance.d.ts +4 -0
  1069. package/dist/hooks/useAutoDetectAppearance.js +4 -1
  1070. package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
  1071. package/dist/hooks/useBridgeAdaptivity.d.ts +5 -1
  1072. package/dist/hooks/useBridgeAdaptivity.js +29 -21
  1073. package/dist/hooks/useBridgeAdaptivity.js.map +1 -1
  1074. package/dist/hooks/useInsets.d.ts +5 -1
  1075. package/dist/hooks/useInsets.js +15 -12
  1076. package/dist/hooks/useInsets.js.map +1 -1
  1077. package/dist/index.d.ts +6 -3
  1078. package/dist/index.js +3 -1
  1079. package/dist/index.js.map +1 -1
  1080. package/dist/lib/adaptivity/functions.d.ts +8 -0
  1081. package/dist/lib/adaptivity/functions.js +29 -1
  1082. package/dist/lib/adaptivity/functions.js.map +1 -1
  1083. package/dist/lib/appearance/index.d.ts +1 -0
  1084. package/dist/lib/appearance/index.js +3 -0
  1085. package/dist/lib/appearance/index.js.map +1 -0
  1086. package/dist/lib/appearance/types.d.ts +1 -0
  1087. package/dist/lib/appearance/types.js +3 -0
  1088. package/dist/lib/appearance/types.js.map +1 -0
  1089. package/dist/lib/floating/index.d.ts +1 -1
  1090. package/dist/lib/floating/index.js +1 -1
  1091. package/dist/lib/floating/index.js.map +1 -1
  1092. package/dist/lib/platform.js +11 -7
  1093. package/dist/lib/platform.js.map +1 -1
  1094. package/dist/lib/select.d.ts +1 -1
  1095. package/dist/lib/taptic.d.ts +4 -0
  1096. package/dist/lib/taptic.js +4 -1
  1097. package/dist/lib/taptic.js.map +1 -1
  1098. package/dist/lib/utils.d.ts +2 -0
  1099. package/dist/lib/utils.js +16 -0
  1100. package/dist/lib/utils.js.map +1 -1
  1101. package/dist/types.d.ts +1 -0
  1102. package/dist/types.js.map +1 -1
  1103. package/dist/vkui.css +20 -19
  1104. package/dist/vkui.css.map +1 -1
  1105. package/dist/vkui.js.tmp +6990 -4428
  1106. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { calcMax, calcMin } from './helpers';\nimport { BaseGalleryProps, GallerySlidesState, LayoutState, ShiftingState } from './types';\nimport styles from './BaseGallery.module.css';\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = '100%',\n slideIndex = 0,\n isDraggable: isDraggableProp = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n align = 'left',\n showArrows,\n getRef,\n className,\n arrowSize = 'l',\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] = React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const hasPointer = useAdaptivityHasPointer();\n\n const isCenterWithCustomWidth = slideWidth === 'custom' && align === 'center';\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(children, (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0,\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !== localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation: options.animation ?? prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, 'resize', onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = (event: React.MouseEvent) => {\n onChange?.(slideIndex - 1);\n onPrevClick?.(event);\n };\n\n const slideRight = (event: React.MouseEvent) => {\n onChange?.(slideIndex + 1);\n onNextClick?.(event);\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX + shiftState.deltaX + expectDeltaX - (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex,\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = (e: TouchEvent) => {\n onDragStart?.(e);\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggableProp && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e, targetIndex);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n };\n\n const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === 'left' &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== 'left' && slideIndex < layoutState.current.slides.length - 1));\n\n const isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['BaseGallery'],\n align === 'center' && styles['BaseGallery--align-center'],\n slideWidth === 'custom' && styles['BaseGallery--custom-width'],\n isDraggable && styles['BaseGallery--draggable'],\n className,\n )}\n ref={rootRef}\n >\n <Touch\n className={styles['BaseGallery__viewport']}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div className={styles['BaseGallery__layer']} style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles['BaseGallery__slide']}\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden\n className={classNames(\n styles['BaseGallery__bullets'],\n {\n dark: styles['BaseGallery__bullets--dark'],\n light: styles['BaseGallery__bullets--light'],\n }[bullets],\n )}\n >\n {React.Children.map(children, (_item: React.ReactNode, index: number) => (\n <div\n className={classNames(\n styles['BaseGallery__bullet'],\n index === slideIndex && styles['BaseGallery__bullet--active'],\n )}\n key={index}\n />\n ))}\n </div>\n )}\n\n {showArrows && hasPointer && canSlideLeft && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"left\"\n onClick={slideLeft}\n size={arrowSize}\n />\n )}\n {showArrows && hasPointer && canSlideRight && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"right\"\n onClick={slideRight}\n size={arrowSize}\n />\n )}\n </div>\n );\n};\n"],"names":["BaseGallery","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","bullets","getRootRef","children","slideWidth","slideIndex","isDraggableProp","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","align","showArrows","getRef","className","arrowSize","restProps","slidesStore","React","useRef","layoutState","useState","shiftState","setShiftState","rootRef","useExternRef","viewportRef","window","useDOM","hasPointer","useAdaptivityHasPointer","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","calcMax","calcMin","prevState","onResize","useGlobalEventListener","useIsomorphicLayoutEffect","slideLeft","event","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","onEnd","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","div","classNames","ref","Touch","onStartX","style","noSlideClick","key","el","aria-hidden","dark","light","ScrollArrow","onClick","size"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { calcMax, calcMin } from './helpers';\nimport { BaseGalleryProps, GallerySlidesState, LayoutState, ShiftingState } from './types';\nimport styles from './BaseGallery.module.css';\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nconst stylesBullets = {\n dark: styles['BaseGallery__bullets--dark'],\n light: styles['BaseGallery__bullets--light'],\n};\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = '100%',\n slideIndex = 0,\n isDraggable: isDraggableProp = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n align = 'left',\n showArrows,\n getRef,\n arrowSize = 'l',\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] = React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const hasPointer = useAdaptivityHasPointer();\n\n const isCenterWithCustomWidth = slideWidth === 'custom' && align === 'center';\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(children, (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0,\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !== localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation: options.animation ?? prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, 'resize', onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = (event: React.MouseEvent) => {\n onChange?.(slideIndex - 1);\n onPrevClick?.(event);\n };\n\n const slideRight = (event: React.MouseEvent) => {\n onChange?.(slideIndex + 1);\n onNextClick?.(event);\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX + shiftState.deltaX + expectDeltaX - (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex,\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = (e: TouchEvent) => {\n onDragStart?.(e);\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggableProp && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e, targetIndex);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n };\n\n const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === 'left' &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== 'left' && slideIndex < layoutState.current.slides.length - 1));\n\n const isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['BaseGallery'],\n align === 'center' && styles['BaseGallery--align-center'],\n slideWidth === 'custom' && styles['BaseGallery--custom-width'],\n isDraggable && styles['BaseGallery--draggable'],\n )}\n getRootRef={rootRef}\n >\n <Touch\n className={styles['BaseGallery__viewport']}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div className={styles['BaseGallery__layer']} style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles['BaseGallery__slide']}\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden\n className={classNames(styles['BaseGallery__bullets'], stylesBullets[bullets])}\n >\n {React.Children.map(children, (_item: React.ReactNode, index: number) => (\n <div\n className={classNames(\n styles['BaseGallery__bullet'],\n index === slideIndex && styles['BaseGallery__bullet--active'],\n )}\n key={index}\n />\n ))}\n </div>\n )}\n\n {showArrows && hasPointer && canSlideLeft && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"left\"\n onClick={slideLeft}\n size={arrowSize}\n />\n )}\n {showArrows && hasPointer && canSlideRight && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"right\"\n onClick={slideRight}\n size={arrowSize}\n />\n )}\n </RootComponent>\n );\n};\n"],"names":["BaseGallery","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","stylesBullets","dark","light","bullets","getRootRef","children","slideWidth","slideIndex","isDraggableProp","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","align","showArrows","getRef","arrowSize","restProps","slidesStore","React","useRef","layoutState","useState","shiftState","setShiftState","rootRef","useExternRef","viewportRef","window","useDOM","hasPointer","useAdaptivityHasPointer","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","calcMax","calcMin","prevState","onResize","useGlobalEventListener","useIsomorphicLayoutEffect","slideLeft","event","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","onEnd","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","RootComponent","baseClassName","classNames","Touch","className","onStartX","style","noSlideClick","div","key","ref","el","aria-hidden","ScrollArrow","onClick","size"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { HasAlign, HasRef, HasRootRef } from '../../types';
2
+ import { HasAlign, HasRef, HTMLAttributesWithRootRef } from '../../types';
3
3
  import { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';
4
4
  import { TouchEvent, TouchEventHandler } from '../Touch/Touch';
5
5
  export interface GallerySlidesState {
@@ -21,7 +21,7 @@ export interface LayoutState {
21
21
  slides: GallerySlidesState[];
22
22
  isFullyVisible: boolean;
23
23
  }
24
- export interface BaseGalleryProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>, HasAlign, HasRootRef<HTMLDivElement>, HasRef<HTMLElement> {
24
+ export interface BaseGalleryProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>, HasAlign, HasRef<HTMLElement> {
25
25
  slideWidth?: string | number;
26
26
  slideIndex?: number;
27
27
  onDragStart?: TouchEventHandler;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/BaseGallery/types.ts"],"sourcesContent":["import * as React from 'react';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport { TouchEvent, TouchEventHandler } from '../Touch/Touch';\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\nexport interface ShiftingState {\n deltaX: number;\n shiftX: number;\n animation?: boolean;\n dragging: boolean;\n}\n\nexport interface LayoutState {\n containerWidth: number;\n viewportOffsetWidth: number;\n layerWidth: number;\n min?: number;\n max: number;\n slides: GallerySlidesState[];\n isFullyVisible: boolean;\n}\n\nexport interface BaseGalleryProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>,\n HasAlign,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLElement> {\n slideWidth?: string | number;\n slideIndex?: number;\n onDragStart?: TouchEventHandler;\n onDragEnd?(e: TouchEvent, targetIndex: number): void;\n onChange?(current: number): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку влево\n */\n onPrevClick?(event: React.MouseEvent): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку вправо\n */\n onNextClick?(event: React.MouseEvent): void;\n bullets?: 'dark' | 'light' | false;\n isDraggable?: boolean;\n showArrows?: boolean;\n hasPointer?: boolean;\n arrowSize?: ScrollArrowProps['size'];\n}\n"],"names":[],"mappings":";;;;;+DAAuB"}
1
+ {"version":3,"sources":["../../../../src/components/BaseGallery/types.ts"],"sourcesContent":["import * as React from 'react';\nimport { HasAlign, HasRef, HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport { TouchEvent, TouchEventHandler } from '../Touch/Touch';\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\nexport interface ShiftingState {\n deltaX: number;\n shiftX: number;\n animation?: boolean;\n dragging: boolean;\n}\n\nexport interface LayoutState {\n containerWidth: number;\n viewportOffsetWidth: number;\n layerWidth: number;\n min?: number;\n max: number;\n slides: GallerySlidesState[];\n isFullyVisible: boolean;\n}\n\nexport interface BaseGalleryProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>,\n HasAlign,\n HasRef<HTMLElement> {\n slideWidth?: string | number;\n slideIndex?: number;\n onDragStart?: TouchEventHandler;\n onDragEnd?(e: TouchEvent, targetIndex: number): void;\n onChange?(current: number): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку влево\n */\n onPrevClick?(event: React.MouseEvent): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку вправо\n */\n onNextClick?(event: React.MouseEvent): void;\n bullets?: 'dark' | 'light' | false;\n isDraggable?: boolean;\n showArrows?: boolean;\n hasPointer?: boolean;\n arrowSize?: ScrollArrowProps['size'];\n}\n"],"names":[],"mappings":";;;;;+DAAuB"}
@@ -21,6 +21,31 @@ var _adaptivity = require("../../lib/adaptivity");
21
21
  var _platform = require("../../lib/platform");
22
22
  var _Spinner = require("../Spinner/Spinner");
23
23
  var _Tappable = require("../Tappable/Tappable");
24
+ var stylesSize = {
25
+ s: "vkuiButton--size-s",
26
+ m: "vkuiButton--size-m",
27
+ l: "vkuiButton--size-l"
28
+ };
29
+ var stylesMode = {
30
+ primary: "vkuiButton--mode-primary",
31
+ secondary: "vkuiButton--mode-secondary",
32
+ tertiary: "vkuiButton--mode-tertiary",
33
+ outline: "vkuiButton--mode-outline",
34
+ link: "vkuiButton--mode-link"
35
+ };
36
+ var stylesAppearance = {
37
+ "accent": "vkuiButton--appearance-accent",
38
+ "positive": "vkuiButton--appearance-positive",
39
+ "negative": "vkuiButton--appearance-negative",
40
+ "neutral": "vkuiButton--appearance-neutral",
41
+ "overlay": "vkuiButton--appearance-overlay",
42
+ "accent-invariable": "vkuiButton--appearance-accent-invariable"
43
+ };
44
+ var stylesAlign = {
45
+ left: "vkuiButton--align-left",
46
+ center: "vkuiButton--align-center",
47
+ right: "vkuiButton--align-right"
48
+ };
24
49
  var sizeYClassNames = _define_property._({
25
50
  none: "vkuiButton--sizeY-none"
26
51
  }, _adaptivity.SizeType.REGULAR, "vkuiButton--sizeY-regular");
@@ -53,28 +78,7 @@ var Button = function(_param) {
53
78
  }, restProps), {
54
79
  onClick: loading ? undefined : onClick,
55
80
  stopPropagation: stopPropagation,
56
- className: (0, _vkjs.classNames)(className, "vkuiButton", {
57
- s: "vkuiButton--size-s",
58
- m: "vkuiButton--size-m",
59
- l: "vkuiButton--size-l"
60
- }[size], {
61
- primary: "vkuiButton--mode-primary",
62
- secondary: "vkuiButton--mode-secondary",
63
- tertiary: "vkuiButton--mode-tertiary",
64
- outline: "vkuiButton--mode-outline",
65
- link: "vkuiButton--mode-link"
66
- }[mode], {
67
- "accent": "vkuiButton--appearance-accent",
68
- "positive": "vkuiButton--appearance-positive",
69
- "negative": "vkuiButton--appearance-negative",
70
- "neutral": "vkuiButton--appearance-neutral",
71
- "overlay": "vkuiButton--appearance-overlay",
72
- "accent-invariable": "vkuiButton--appearance-accent-invariable"
73
- }[appearance], {
74
- left: "vkuiButton--align-left",
75
- center: "vkuiButton--align-center",
76
- right: "vkuiButton--align-right"
77
- }[align], sizeY !== _adaptivity.SizeType.COMPACT && sizeYClassNames[sizeY], platform === _platform.Platform.IOS && "vkuiButton--ios", stretched && "vkuiButton--stretched", hasIcons && "vkuiButton--with-icon", hasIconOnly && !stretched && "vkuiButton--singleIcon", loading && "vkuiButton--loading"),
81
+ className: (0, _vkjs.classNames)(className, "vkuiButton", stylesSize[size], stylesMode[mode], stylesAppearance[appearance], stylesAlign[align], sizeY !== _adaptivity.SizeType.COMPACT && sizeYClassNames[sizeY], platform === _platform.Platform.IOS && "vkuiButton--ios", stretched && "vkuiButton--stretched", hasIcons && "vkuiButton--with-icon", hasIconOnly && !stretched && "vkuiButton--singleIcon", loading && "vkuiButton--loading"),
78
82
  getRootRef: getRootRef
79
83
  }), loading && /*#__PURE__*/ _react.createElement(_Spinner.Spinner, {
80
84
  size: "small",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { HasAlign } from '../../types';\nimport { Spinner } from '../Spinner/Spinner';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport '../Spinner/Spinner.module.css';\nimport styles from './Button.module.css';\n\nconst sizeYClassNames = {\n none: styles['Button--sizeY-none'],\n [SizeType.REGULAR]: styles['Button--sizeY-regular'],\n};\n\nexport interface VKUIButtonProps extends HasAlign {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';\n appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';\n size?: 's' | 'm' | 'l';\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n disableSpinnerAnimation?: boolean;\n}\n\nexport interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = ({\n size = 's',\n mode = 'primary',\n appearance = 'accent',\n stretched = false,\n align = 'center',\n children,\n before,\n after,\n getRootRef,\n loading,\n onClick,\n stopPropagation = true,\n className,\n disableSpinnerAnimation,\n ...restProps\n}: ButtonProps) => {\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n return (\n <Tappable\n hoverMode={styles['Button--hover']}\n activeMode={styles['Button--active']}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n {...restProps}\n onClick={loading ? undefined : onClick}\n stopPropagation={stopPropagation}\n className={classNames(\n className,\n styles.Button,\n {\n s: styles['Button--size-s'],\n m: styles['Button--size-m'],\n l: styles['Button--size-l'],\n }[size],\n {\n primary: styles['Button--mode-primary'],\n secondary: styles['Button--mode-secondary'],\n tertiary: styles['Button--mode-tertiary'],\n outline: styles['Button--mode-outline'],\n link: styles['Button--mode-link'],\n }[mode],\n {\n 'accent': styles['Button--appearance-accent'],\n 'positive': styles['Button--appearance-positive'],\n 'negative': styles['Button--appearance-negative'],\n 'neutral': styles['Button--appearance-neutral'],\n 'overlay': styles['Button--appearance-overlay'],\n 'accent-invariable': styles['Button--appearance-accent-invariable'],\n }[appearance],\n {\n left: styles['Button--align-left'],\n center: styles['Button--align-center'],\n right: styles['Button--align-right'],\n }[align],\n sizeY !== SizeType.COMPACT && sizeYClassNames[sizeY],\n platform === Platform.IOS && styles['Button--ios'],\n stretched && styles['Button--stretched'],\n hasIcons && styles['Button--with-icon'],\n hasIconOnly && !stretched && styles['Button--singleIcon'],\n loading && styles['Button--loading'],\n )}\n getRootRef={getRootRef}\n >\n {loading && (\n <Spinner\n size=\"small\"\n className={styles.Button__spinner}\n disableAnimation={disableSpinnerAnimation}\n />\n )}\n <span className={styles.Button__in}>\n {hasReactNode(before) && (\n <span\n className={styles.Button__before}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'before' : undefined}\n >\n {before}\n </span>\n )}\n {hasReactNode(children) && (\n <span\n className={styles.Button__content}\n data-testid={process.env.NODE_ENV === 'test' ? 'children' : undefined}\n >\n {children}\n </span>\n )}\n {hasReactNode(after) && (\n <span\n className={styles.Button__after}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'after' : undefined}\n >\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n"],"names":["Button","sizeYClassNames","none","SizeType","REGULAR","size","mode","appearance","stretched","align","children","before","after","getRootRef","loading","onClick","stopPropagation","className","disableSpinnerAnimation","restProps","hasIcons","Boolean","hasIconOnly","useAdaptivity","sizeY","platform","usePlatform","Tappable","hoverMode","activeMode","Component","href","focusVisibleMode","undefined","classNames","s","m","l","primary","secondary","tertiary","outline","link","left","center","right","COMPACT","Platform","IOS","Spinner","disableAnimation","span","hasReactNode","role","data-testid","process","env","NODE_ENV"],"mappings":";;;;+BAiCaA;;;eAAAA;;;;;;;;+DAjCU;oBACkB;6BACX;2BACF;0BACH;wBACA;uBAED;wBACgB;AAIxC,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AAmBZ,IAAMJ,SAAS;6BACpBK,MAAAA,gCAAO,wCACPC,MAAAA,gCAAO,oDACPC,YAAAA,4CAAa,wDACbC,WAAAA,0CAAY,gDACZC,OAAAA,kCAAQ,yBACRC,kBAAAA,UACAC,gBAAAA,QACAC,eAAAA,OACAC,oBAAAA,YACAC,iBAAAA,SACAC,iBAAAA,yCACAC,iBAAAA,sDAAkB,+BAClBC,mBAAAA,WACAC,iCAAAA,yBACGC;QAdHd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,QAAQV,UAAUC;IACnC,IAAMU,cAAc,CAACZ,YAAYW,QAAQT,WAAWS,QAAQV;IAC5D,IAA2BY,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAChB,IAAMC,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,qBAACC,kBAAQ;QACPC,SAAS;QACTC,UAAU;QACVC,WAAWX,UAAUY,IAAI,GAAG,MAAM;QAClCC,kBAAiB;OACbb;QACJJ,SAASD,UAAUmB,YAAYlB;QAC/BC,iBAAiBA;QACjBC,WAAWiB,IAAAA,gBAAU,EACnBjB,yBAEA;YACEkB,CAAC;YACDC,CAAC;YACDC,CAAC;QACH,CAAC,CAAChC,KAAK,EACP;YACEiC,OAAO;YACPC,SAAS;YACTC,QAAQ;YACRC,OAAO;YACPC,IAAI;QACN,CAAC,CAACpC,KAAK,EACP;YACE,QAAQ;YACR,UAAU;YACV,UAAU;YACV,SAAS;YACT,SAAS;YACT,mBAAmB;QACrB,CAAC,CAACC,WAAW,EACb;YACEoC,IAAI;YACJC,MAAM;YACNC,KAAK;QACP,CAAC,CAACpC,MAAM,EACRe,UAAUrB,oBAAQ,CAAC2C,OAAO,IAAI7C,eAAe,CAACuB,MAAM,EACpDC,aAAasB,kBAAQ,CAACC,GAAG,uBACzBxC,sCACAY,qCACAE,eAAe,CAACd,uCAChBM;QAEFD,YAAYA;QAEXC,yBACC,qBAACmC,gBAAO;QACN5C,MAAK;QACLY,SAAS;QACTiC,kBAAkBhC;sBAGtB,qBAACiC;QAAKlC,SAAS;OACZmC,IAAAA,kBAAY,EAACzC,yBACZ,qBAACwC;QACClC,SAAS;QACToC,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAWxB;OAEzDtB,SAGJyC,IAAAA,kBAAY,EAAC1C,2BACZ,qBAACyC;QACClC,SAAS;QACTqC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,aAAaxB;OAE3DvB,WAGJ0C,IAAAA,kBAAY,EAACxC,wBACZ,qBAACuC;QACClC,SAAS;QACToC,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,UAAUxB;OAExDrB;AAMb"}
1
+ {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { HasAlign } from '../../types';\nimport { Spinner } from '../Spinner/Spinner';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport '../Spinner/Spinner.module.css';\nimport styles from './Button.module.css';\n\nconst stylesSize = {\n s: styles['Button--size-s'],\n m: styles['Button--size-m'],\n l: styles['Button--size-l'],\n};\n\nconst stylesMode = {\n primary: styles['Button--mode-primary'],\n secondary: styles['Button--mode-secondary'],\n tertiary: styles['Button--mode-tertiary'],\n outline: styles['Button--mode-outline'],\n link: styles['Button--mode-link'],\n};\n\nconst stylesAppearance = {\n 'accent': styles['Button--appearance-accent'],\n 'positive': styles['Button--appearance-positive'],\n 'negative': styles['Button--appearance-negative'],\n 'neutral': styles['Button--appearance-neutral'],\n 'overlay': styles['Button--appearance-overlay'],\n 'accent-invariable': styles['Button--appearance-accent-invariable'],\n};\n\nconst stylesAlign = {\n left: styles['Button--align-left'],\n center: styles['Button--align-center'],\n right: styles['Button--align-right'],\n};\n\nconst sizeYClassNames = {\n none: styles['Button--sizeY-none'],\n [SizeType.REGULAR]: styles['Button--sizeY-regular'],\n};\n\nexport interface VKUIButtonProps extends HasAlign {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';\n appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';\n size?: 's' | 'm' | 'l';\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n disableSpinnerAnimation?: boolean;\n}\n\nexport interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = ({\n size = 's',\n mode = 'primary',\n appearance = 'accent',\n stretched = false,\n align = 'center',\n children,\n before,\n after,\n getRootRef,\n loading,\n onClick,\n stopPropagation = true,\n className,\n disableSpinnerAnimation,\n ...restProps\n}: ButtonProps) => {\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n return (\n <Tappable\n hoverMode={styles['Button--hover']}\n activeMode={styles['Button--active']}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n {...restProps}\n onClick={loading ? undefined : onClick}\n stopPropagation={stopPropagation}\n className={classNames(\n className,\n styles.Button,\n stylesSize[size],\n stylesMode[mode],\n stylesAppearance[appearance],\n stylesAlign[align],\n sizeY !== SizeType.COMPACT && sizeYClassNames[sizeY],\n platform === Platform.IOS && styles['Button--ios'],\n stretched && styles['Button--stretched'],\n hasIcons && styles['Button--with-icon'],\n hasIconOnly && !stretched && styles['Button--singleIcon'],\n loading && styles['Button--loading'],\n )}\n getRootRef={getRootRef}\n >\n {loading && (\n <Spinner\n size=\"small\"\n className={styles.Button__spinner}\n disableAnimation={disableSpinnerAnimation}\n />\n )}\n <span className={styles.Button__in}>\n {hasReactNode(before) && (\n <span\n className={styles.Button__before}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'before' : undefined}\n >\n {before}\n </span>\n )}\n {hasReactNode(children) && (\n <span\n className={styles.Button__content}\n data-testid={process.env.NODE_ENV === 'test' ? 'children' : undefined}\n >\n {children}\n </span>\n )}\n {hasReactNode(after) && (\n <span\n className={styles.Button__after}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'after' : undefined}\n >\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n"],"names":["Button","stylesSize","s","m","l","stylesMode","primary","secondary","tertiary","outline","link","stylesAppearance","stylesAlign","left","center","right","sizeYClassNames","none","SizeType","REGULAR","size","mode","appearance","stretched","align","children","before","after","getRootRef","loading","onClick","stopPropagation","className","disableSpinnerAnimation","restProps","hasIcons","Boolean","hasIconOnly","useAdaptivity","sizeY","platform","usePlatform","Tappable","hoverMode","activeMode","Component","href","focusVisibleMode","undefined","classNames","COMPACT","Platform","IOS","Spinner","disableAnimation","span","hasReactNode","role","data-testid","process","env","NODE_ENV"],"mappings":";;;;+BA8DaA;;;eAAAA;;;;;;;;+DA9DU;oBACkB;6BACX;2BACF;0BACH;wBACA;uBAED;wBACgB;AAIxC,IAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;IACDC,CAAC;AACH;AAEA,IAAMC,aAAa;IACjBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;IACPC,IAAI;AACN;AAEA,IAAMC,mBAAmB;IACvB,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,mBAAmB;AACrB;AAEA,IAAMC,cAAc;IAClBC,IAAI;IACJC,MAAM;IACNC,KAAK;AACP;AAEA,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AAmBZ,IAAMnB,SAAS;6BACpBoB,MAAAA,gCAAO,wCACPC,MAAAA,gCAAO,oDACPC,YAAAA,4CAAa,wDACbC,WAAAA,0CAAY,gDACZC,OAAAA,kCAAQ,yBACRC,kBAAAA,UACAC,gBAAAA,QACAC,eAAAA,OACAC,oBAAAA,YACAC,iBAAAA,SACAC,iBAAAA,yCACAC,iBAAAA,sDAAkB,+BAClBC,mBAAAA,WACAC,iCAAAA,yBACGC;QAdHd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,QAAQV,UAAUC;IACnC,IAAMU,cAAc,CAACZ,YAAYW,QAAQT,WAAWS,QAAQV;IAC5D,IAA2BY,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAChB,IAAMC,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,qBAACC,kBAAQ;QACPC,SAAS;QACTC,UAAU;QACVC,WAAWX,UAAUY,IAAI,GAAG,MAAM;QAClCC,kBAAiB;OACbb;QACJJ,SAASD,UAAUmB,YAAYlB;QAC/BC,iBAAiBA;QACjBC,WAAWiB,IAAAA,gBAAU,EACnBjB,yBAEA/B,UAAU,CAACmB,KAAK,EAChBf,UAAU,CAACgB,KAAK,EAChBV,gBAAgB,CAACW,WAAW,EAC5BV,WAAW,CAACY,MAAM,EAClBe,UAAUrB,oBAAQ,CAACgC,OAAO,IAAIlC,eAAe,CAACuB,MAAM,EACpDC,aAAaW,kBAAQ,CAACC,GAAG,uBACzB7B,sCACAY,qCACAE,eAAe,CAACd,uCAChBM;QAEFD,YAAYA;QAEXC,yBACC,qBAACwB,gBAAO;QACNjC,MAAK;QACLY,SAAS;QACTsB,kBAAkBrB;sBAGtB,qBAACsB;QAAKvB,SAAS;OACZwB,IAAAA,kBAAY,EAAC9B,yBACZ,qBAAC6B;QACCvB,SAAS;QACTyB,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAWb;OAEzDtB,SAGJ8B,IAAAA,kBAAY,EAAC/B,2BACZ,qBAAC8B;QACCvB,SAAS;QACT0B,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,aAAab;OAE3DvB,WAGJ+B,IAAAA,kBAAY,EAAC7B,wBACZ,qBAAC4B;QACCvB,SAAS;QACTyB,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,UAAUb;OAExDrB;AAMb"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import type { AlignType, HasRootRef } from '../../types';
3
- export interface ButtonGroupProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement> {
2
+ import type { AlignType, HTMLAttributesWithRootRef } from '../../types';
3
+ export interface ButtonGroupProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
4
4
  /**
5
5
  * Задает расположение элементов внутри группы, вертикальное или горизонтальное.
6
6
  */
@@ -23,4 +23,4 @@ export interface ButtonGroupProps extends React.HTMLAttributes<HTMLDivElement>,
23
23
  /**
24
24
  * @see https://vkcom.github.io/VKUI/#/ButtonGroup
25
25
  */
26
- export declare const ButtonGroup: ({ mode, gap, stretched, align, getRootRef, className, children, ...restProps }: ButtonGroupProps) => React.JSX.Element;
26
+ export declare const ButtonGroup: ({ mode, gap, stretched, align, ...restProps }: ButtonGroupProps) => React.JSX.Element;
@@ -13,32 +13,32 @@ var _object_spread = require("@swc/helpers/_/_object_spread");
13
13
  var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
14
14
  var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
15
15
  var _vkjs = require("@vkontakte/vkjs");
16
+ var _RootComponent = require("../RootComponent/RootComponent");
17
+ var stylesMode = {
18
+ vertical: "vkuiButtonGroup--mode-vertical",
19
+ horizontal: "vkuiButtonGroup--mode-horizontal"
20
+ };
21
+ var stylesGap = {
22
+ space: "vkuiButtonGroup--gap-space",
23
+ s: "vkuiButtonGroup--gap-s",
24
+ m: "vkuiButtonGroup--gap-m"
25
+ };
26
+ var stylesAlign = {
27
+ left: "vkuiButtonGroup--align-left",
28
+ center: "vkuiButtonGroup--align-center",
29
+ right: "vkuiButtonGroup--align-right"
30
+ };
16
31
  var ButtonGroup = function(_param) {
17
- var _param_mode = _param.mode, mode = _param_mode === void 0 ? "horizontal" : _param_mode, _param_gap = _param.gap, gap = _param_gap === void 0 ? "m" : _param_gap, _param_stretched = _param.stretched, stretched = _param_stretched === void 0 ? false : _param_stretched, _param_align = _param.align, align = _param_align === void 0 ? "left" /* NOTE: Чтобы блоки по-умолчанию не растягивались на всю ширину контейнера */ : _param_align, getRootRef = _param.getRootRef, className = _param.className, children = _param.children, restProps = _object_without_properties._(_param, [
32
+ var _param_mode = _param.mode, mode = _param_mode === void 0 ? "horizontal" : _param_mode, _param_gap = _param.gap, gap = _param_gap === void 0 ? "m" : _param_gap, _param_stretched = _param.stretched, stretched = _param_stretched === void 0 ? false : _param_stretched, _param_align = _param.align, align = _param_align === void 0 ? "left" /* NOTE: Чтобы блоки по-умолчанию не растягивались на всю ширину контейнера */ : _param_align, restProps = _object_without_properties._(_param, [
18
33
  "mode",
19
34
  "gap",
20
35
  "stretched",
21
- "align",
22
- "getRootRef",
23
- "className",
24
- "children"
36
+ "align"
25
37
  ]);
26
- return /*#__PURE__*/ _react.createElement("div", _object_spread._({
27
- className: (0, _vkjs.classNames)(className, "vkuiButtonGroup", {
28
- vertical: "vkuiButtonGroup--mode-vertical",
29
- horizontal: "vkuiButtonGroup--mode-horizontal"
30
- }[mode], gap !== "none" && ({
31
- space: "vkuiButtonGroup--gap-space",
32
- s: "vkuiButtonGroup--gap-s",
33
- m: "vkuiButtonGroup--gap-m"
34
- })[gap], stretched && "vkuiButtonGroup--stretched", {
35
- left: "vkuiButtonGroup--align-left",
36
- center: "vkuiButtonGroup--align-center",
37
- right: "vkuiButtonGroup--align-right"
38
- }[align]),
39
- role: "group",
40
- ref: getRootRef
41
- }, restProps), children);
38
+ return /*#__PURE__*/ _react.createElement(_RootComponent.RootComponent, _object_spread._({
39
+ baseClassName: (0, _vkjs.classNames)("vkuiButtonGroup", stylesMode[mode], gap !== "none" && stylesGap[gap], stretched && "vkuiButtonGroup--stretched", stylesAlign[align]),
40
+ role: "group"
41
+ }, restProps));
42
42
  };
43
43
 
44
44
  //# sourceMappingURL=ButtonGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { AlignType, HasRootRef } from '../../types';\nimport styles from './ButtonGroup.module.css';\n\nexport interface ButtonGroupProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Задает расположение элементов внутри группы, вертикальное или горизонтальное.\n */\n mode?: 'vertical' | 'horizontal';\n /**\n * Выставляет в зависимости от `mode` отступ по вертикали или горизонтали.\n */\n gap?: 'none' | 'space' | 's' | 'm';\n /**\n * Растягивает компонент на всю ширину контейнера.\n *\n * Note: Для потомков соответствующее поведение нужно определять самостоятельно, где это необходимо.\n */\n stretched?: boolean;\n /**\n * Горизонтальное выравнивание элементов внутри группы.\n */\n align?: AlignType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ButtonGroup\n */\nexport const ButtonGroup = ({\n mode = 'horizontal',\n gap = 'm',\n stretched = false,\n align = 'left' /* NOTE: Чтобы блоки по-умолчанию не растягивались на всю ширину контейнера */,\n getRootRef,\n className,\n children,\n ...restProps\n}: ButtonGroupProps) => {\n return (\n <div\n className={classNames(\n className,\n styles.ButtonGroup,\n {\n vertical: styles['ButtonGroup--mode-vertical'],\n horizontal: styles['ButtonGroup--mode-horizontal'],\n }[mode],\n gap !== 'none' &&\n {\n space: styles['ButtonGroup--gap-space'],\n s: styles['ButtonGroup--gap-s'],\n m: styles['ButtonGroup--gap-m'],\n }[gap],\n stretched && styles['ButtonGroup--stretched'],\n {\n left: styles['ButtonGroup--align-left'],\n center: styles['ButtonGroup--align-center'],\n right: styles['ButtonGroup--align-right'],\n }[align],\n )}\n role=\"group\"\n ref={getRootRef}\n {...restProps}\n >\n {children}\n </div>\n );\n};\n"],"names":["ButtonGroup","mode","gap","stretched","align","getRootRef","className","children","restProps","div","classNames","vertical","horizontal","space","s","m","left","center","right","role","ref"],"mappings":";;;;+BA+BaA;;;eAAAA;;;;;;+DA/BU;oBACI;AA8BpB,IAAMA,cAAc;6BACzBC,MAAAA,gCAAO,gDACPC,KAAAA,8BAAM,4CACNC,WAAAA,0CAAY,gDACZC,OAAAA,kCAAQ,OAAO,4EAA4E,oBAC3FC,oBAAAA,YACAC,mBAAAA,WACAC,kBAAAA,UACGC;QAPHP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,qBAACE;QACCH,WAAWI,IAAAA,gBAAU,EACnBJ,8BAEA;YACEK,QAAQ;YACRC,UAAU;QACZ,CAAC,CAACX,KAAK,EACPC,QAAQ,UACN,CAAA;YACEW,KAAK;YACLC,CAAC;YACDC,CAAC;QACH,CAAA,CAAC,CAACb,IAAI,EACRC,2CACA;YACEa,IAAI;YACJC,MAAM;YACNC,KAAK;QACP,CAAC,CAACd,MAAM;QAEVe,MAAK;QACLC,KAAKf;OACDG,YAEHD;AAGP"}
1
+ {"version":3,"sources":["../../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { AlignType, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './ButtonGroup.module.css';\n\nconst stylesMode = {\n vertical: styles['ButtonGroup--mode-vertical'],\n horizontal: styles['ButtonGroup--mode-horizontal'],\n};\n\nconst stylesGap = {\n space: styles['ButtonGroup--gap-space'],\n s: styles['ButtonGroup--gap-s'],\n m: styles['ButtonGroup--gap-m'],\n};\n\nconst stylesAlign = {\n left: styles['ButtonGroup--align-left'],\n center: styles['ButtonGroup--align-center'],\n right: styles['ButtonGroup--align-right'],\n};\n\nexport interface ButtonGroupProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Задает расположение элементов внутри группы, вертикальное или горизонтальное.\n */\n mode?: 'vertical' | 'horizontal';\n /**\n * Выставляет в зависимости от `mode` отступ по вертикали или горизонтали.\n */\n gap?: 'none' | 'space' | 's' | 'm';\n /**\n * Растягивает компонент на всю ширину контейнера.\n *\n * Note: Для потомков соответствующее поведение нужно определять самостоятельно, где это необходимо.\n */\n stretched?: boolean;\n /**\n * Горизонтальное выравнивание элементов внутри группы.\n */\n align?: AlignType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ButtonGroup\n */\nexport const ButtonGroup = ({\n mode = 'horizontal',\n gap = 'm',\n stretched = false,\n align = 'left' /* NOTE: Чтобы блоки по-умолчанию не растягивались на всю ширину контейнера */,\n ...restProps\n}: ButtonGroupProps) => {\n return (\n <RootComponent\n baseClassName={classNames(\n styles.ButtonGroup,\n stylesMode[mode],\n gap !== 'none' && stylesGap[gap],\n stretched && styles['ButtonGroup--stretched'],\n stylesAlign[align],\n )}\n role=\"group\"\n {...restProps}\n />\n );\n};\n"],"names":["ButtonGroup","stylesMode","vertical","horizontal","stylesGap","space","s","m","stylesAlign","left","center","right","mode","gap","stretched","align","restProps","RootComponent","baseClassName","classNames","role"],"mappings":";;;;+BA+CaA;;;eAAAA;;;;;;+DA/CU;oBACI;6BAEG;AAG9B,IAAMC,aAAa;IACjBC,QAAQ;IACRC,UAAU;AACZ;AAEA,IAAMC,YAAY;IAChBC,KAAK;IACLC,CAAC;IACDC,CAAC;AACH;AAEA,IAAMC,cAAc;IAClBC,IAAI;IACJC,MAAM;IACNC,KAAK;AACP;AA0BO,IAAMX,cAAc;6BACzBY,MAAAA,gCAAO,gDACPC,KAAAA,8BAAM,4CACNC,WAAAA,0CAAY,gDACZC,OAAAA,kCAAQ,OAAO,4EAA4E,oBACxFC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,qBACE,qBAACE,4BAAa;QACZC,eAAeC,IAAAA,gBAAU,qBAEvBlB,UAAU,CAACW,KAAK,EAChBC,QAAQ,UAAUT,SAAS,CAACS,IAAI,EAChCC,2CACAN,WAAW,CAACO,MAAM;QAEpBK,MAAK;OACDJ;AAGV"}
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
2
+ import { HTMLAttributesWithRootRef } from '../../types';
3
3
  import { CalendarDaysProps } from '../CalendarDays/CalendarDays';
4
4
  import { CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';
5
5
  import { CalendarTimeProps } from '../CalendarTime/CalendarTime';
6
- export interface CalendarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>, Pick<CalendarTimeProps, 'changeHoursAriaLabel' | 'changeMinutesAriaLabel'>, Pick<CalendarHeaderProps, 'prevMonthAriaLabel' | 'nextMonthAriaLabel' | 'changeMonthAriaLabel' | 'changeYearAriaLabel' | 'onNextMonth' | 'onPrevMonth' | 'prevMonthIcon' | 'nextMonthIcon' | 'prevMonthProps' | 'nextMonthProps'>, Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate'>, HasRootRef<HTMLDivElement> {
6
+ export interface CalendarProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>, Pick<CalendarTimeProps, 'changeHoursAriaLabel' | 'changeMinutesAriaLabel'>, Pick<CalendarHeaderProps, 'prevMonthAriaLabel' | 'nextMonthAriaLabel' | 'changeMonthAriaLabel' | 'changeYearAriaLabel' | 'onNextMonth' | 'onPrevMonth' | 'prevMonthIcon' | 'nextMonthIcon' | 'prevMonthProps' | 'nextMonthProps'>, Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate'> {
7
7
  value?: Date;
8
8
  disablePast?: boolean;
9
9
  disableFuture?: boolean;
@@ -30,4 +30,4 @@ export interface CalendarProps extends Omit<React.HTMLAttributes<HTMLDivElement>
30
30
  /**
31
31
  * @see https://vkcom.github.io/VKUI/#/Calendar
32
32
  */
33
- export declare const Calendar: ({ value, onChange, disablePast, disableFuture, shouldDisableDate, onClose, enableTime, doneButtonText, weekStartsOn, getRootRef, disablePickers, changeHoursAriaLabel, changeMinutesAriaLabel, prevMonthAriaLabel, nextMonthAriaLabel, changeMonthAriaLabel, changeYearAriaLabel, showNeighboringMonth, changeDayAriaLabel, size, viewDate: externalViewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, prevMonthProps, nextMonthProps, dayProps, className, listenDayChangesForUpdate, ...props }: CalendarProps) => React.JSX.Element;
33
+ export declare const Calendar: ({ value, onChange, disablePast, disableFuture, shouldDisableDate, onClose, enableTime, doneButtonText, weekStartsOn, disablePickers, changeHoursAriaLabel, changeMinutesAriaLabel, prevMonthAriaLabel, nextMonthAriaLabel, changeMonthAriaLabel, changeYearAriaLabel, showNeighboringMonth, changeDayAriaLabel, size, viewDate: externalViewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, prevMonthProps, nextMonthProps, dayProps, listenDayChangesForUpdate, ...props }: CalendarProps) => React.JSX.Element;
@@ -22,9 +22,10 @@ var _warnOnce = require("../../lib/warnOnce");
22
22
  var _CalendarDays = require("../CalendarDays/CalendarDays");
23
23
  var _CalendarHeader = require("../CalendarHeader/CalendarHeader");
24
24
  var _CalendarTime = require("../CalendarTime/CalendarTime");
25
+ var _RootComponent = require("../RootComponent/RootComponent");
25
26
  var warn = (0, _warnOnce.warnOnce)("Calendar");
26
27
  var Calendar = function(_param) {
27
- var value = _param.value, onChange = _param.onChange, disablePast = _param.disablePast, disableFuture = _param.disableFuture, shouldDisableDate = _param.shouldDisableDate, onClose = _param.onClose, _param_enableTime = _param.enableTime, enableTime = _param_enableTime === void 0 ? false : _param_enableTime, doneButtonText = _param.doneButtonText, _param_weekStartsOn = _param.weekStartsOn, weekStartsOn = _param_weekStartsOn === void 0 ? 1 : _param_weekStartsOn, getRootRef = _param.getRootRef, disablePickers = _param.disablePickers, changeHoursAriaLabel = _param.changeHoursAriaLabel, changeMinutesAriaLabel = _param.changeMinutesAriaLabel, prevMonthAriaLabel = _param.prevMonthAriaLabel, nextMonthAriaLabel = _param.nextMonthAriaLabel, changeMonthAriaLabel = _param.changeMonthAriaLabel, changeYearAriaLabel = _param.changeYearAriaLabel, showNeighboringMonth = _param.showNeighboringMonth, _param_changeDayAriaLabel = _param.changeDayAriaLabel, changeDayAriaLabel = _param_changeDayAriaLabel === void 0 ? "Изменить день" : _param_changeDayAriaLabel, _param_size = _param.size, size = _param_size === void 0 ? "m" : _param_size, externalViewDate = _param.viewDate, onHeaderChange = _param.onHeaderChange, onNextMonth = _param.onNextMonth, onPrevMonth = _param.onPrevMonth, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, prevMonthProps = _param.prevMonthProps, nextMonthProps = _param.nextMonthProps, dayProps = _param.dayProps, className = _param.className, listenDayChangesForUpdate = _param.listenDayChangesForUpdate, props = _object_without_properties._(_param, [
28
+ var value = _param.value, onChange = _param.onChange, disablePast = _param.disablePast, disableFuture = _param.disableFuture, shouldDisableDate = _param.shouldDisableDate, onClose = _param.onClose, _param_enableTime = _param.enableTime, enableTime = _param_enableTime === void 0 ? false : _param_enableTime, doneButtonText = _param.doneButtonText, _param_weekStartsOn = _param.weekStartsOn, weekStartsOn = _param_weekStartsOn === void 0 ? 1 : _param_weekStartsOn, disablePickers = _param.disablePickers, changeHoursAriaLabel = _param.changeHoursAriaLabel, changeMinutesAriaLabel = _param.changeMinutesAriaLabel, prevMonthAriaLabel = _param.prevMonthAriaLabel, nextMonthAriaLabel = _param.nextMonthAriaLabel, changeMonthAriaLabel = _param.changeMonthAriaLabel, changeYearAriaLabel = _param.changeYearAriaLabel, showNeighboringMonth = _param.showNeighboringMonth, _param_changeDayAriaLabel = _param.changeDayAriaLabel, changeDayAriaLabel = _param_changeDayAriaLabel === void 0 ? "Изменить день" : _param_changeDayAriaLabel, _param_size = _param.size, size = _param_size === void 0 ? "m" : _param_size, externalViewDate = _param.viewDate, onHeaderChange = _param.onHeaderChange, onNextMonth = _param.onNextMonth, onPrevMonth = _param.onPrevMonth, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, prevMonthProps = _param.prevMonthProps, nextMonthProps = _param.nextMonthProps, dayProps = _param.dayProps, listenDayChangesForUpdate = _param.listenDayChangesForUpdate, props = _object_without_properties._(_param, [
28
29
  "value",
29
30
  "onChange",
30
31
  "disablePast",
@@ -34,7 +35,6 @@ var Calendar = function(_param) {
34
35
  "enableTime",
35
36
  "doneButtonText",
36
37
  "weekStartsOn",
37
- "getRootRef",
38
38
  "disablePickers",
39
39
  "changeHoursAriaLabel",
40
40
  "changeMinutesAriaLabel",
@@ -54,7 +54,6 @@ var Calendar = function(_param) {
54
54
  "prevMonthProps",
55
55
  "nextMonthProps",
56
56
  "dayProps",
57
- "className",
58
57
  "listenDayChangesForUpdate"
59
58
  ]);
60
59
  var _useCalendar1 = (0, _useCalendar.useCalendar)({
@@ -112,9 +111,8 @@ var Calendar = function(_param) {
112
111
  }, [
113
112
  value
114
113
  ]);
115
- return /*#__PURE__*/ _react.createElement("div", _object_spread_props._(_object_spread._({}, props), {
116
- ref: getRootRef,
117
- className: (0, _vkjs.classNames)("vkuiCalendar", size === "s" && "vkuiCalendar--size-s", className)
114
+ return /*#__PURE__*/ _react.createElement(_RootComponent.RootComponent, _object_spread_props._(_object_spread._({}, props), {
115
+ baseClassName: (0, _vkjs.classNames)("vkuiCalendar", size === "s" && "vkuiCalendar--size-s")
118
116
  }), /*#__PURE__*/ _react.createElement(_CalendarHeader.CalendarHeader, {
119
117
  viewDate: externalViewDate || viewDate,
120
118
  onChange: setViewDate,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useCalendar } from '../../hooks/useCalendar';\nimport { isFirstDay, isLastDay, navigateDate, setTimeEqual } from '../../lib/calendar';\nimport { isSameDay, isSameMonth } from '../../lib/date';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasRootRef } from '../../types';\nimport { CalendarDays, CalendarDaysProps } from '../CalendarDays/CalendarDays';\nimport { CalendarHeader, CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';\nimport { CalendarTime, CalendarTimeProps } from '../CalendarTime/CalendarTime';\nimport styles from './Calendar.module.css';\n\nexport interface CalendarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>,\n Pick<CalendarTimeProps, 'changeHoursAriaLabel' | 'changeMinutesAriaLabel'>,\n Pick<\n CalendarHeaderProps,\n | 'prevMonthAriaLabel'\n | 'nextMonthAriaLabel'\n | 'changeMonthAriaLabel'\n | 'changeYearAriaLabel'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'prevMonthProps'\n | 'nextMonthProps'\n >,\n Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate'>,\n HasRootRef<HTMLDivElement> {\n value?: Date;\n disablePast?: boolean;\n disableFuture?: boolean;\n enableTime?: boolean;\n disablePickers?: boolean;\n doneButtonText?: string;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n onChange?(value?: Date): void;\n shouldDisableDate?(value: Date): boolean;\n onClose?(): void;\n /**\n * Дата отображаемого месяца.\n * При использовании обновление даты должно происходить вне компонента.\n */\n viewDate?: Date;\n /**\n * Изменение даты в шапке календаря.\n */\n onHeaderChange?(value: Date): void;\n}\n\nconst warn = warnOnce('Calendar');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Calendar\n */\nexport const Calendar = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n enableTime = false,\n doneButtonText,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n changeHoursAriaLabel,\n changeMinutesAriaLabel,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n showNeighboringMonth,\n changeDayAriaLabel = 'Изменить день',\n size = 'm',\n viewDate: externalViewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n prevMonthProps,\n nextMonthProps,\n dayProps,\n className,\n listenDayChangesForUpdate,\n ...props\n}: CalendarProps) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({\n value,\n disableFuture,\n disablePast,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (value) {\n setViewDate(value);\n }\n }, [value]);\n\n if (process.env.NODE_ENV === 'development' && !disablePickers && size === 's') {\n warn(\"Нельзя включить селекты выбора месяца/года, если размер календаря 's'\", 'error');\n }\n\n if (process.env.NODE_ENV === 'development' && enableTime && size === 's') {\n warn(\"Нельзя включить выбор времени, если размер календаря 's'\", 'error');\n }\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, event.key);\n\n if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate)) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate],\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n onChange?.(setTimeEqual(date, value as Date | undefined | null));\n },\n [value, onChange],\n );\n\n const isDayActive = React.useCallback(\n (day: Date) => Boolean(value && isSameDay(day, value)),\n [value],\n );\n\n return (\n <div\n {...props}\n ref={getRootRef}\n className={classNames(\n styles['Calendar'],\n size === 's' && styles['Calendar--size-s'],\n className,\n )}\n >\n <CalendarHeader\n viewDate={externalViewDate || viewDate}\n onChange={setViewDate}\n onNextMonth={setNextMonth}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers || size === 's'}\n className={styles['Calendar__header']}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n prevMonthProps={prevMonthProps}\n nextMonthProps={nextMonthProps}\n />\n <CalendarDays\n viewDate={externalViewDate || viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n isDayFocused={isDayFocused}\n tabIndex={0}\n aria-label={changeDayAriaLabel}\n onKeyDown={handleKeyDown}\n onDayChange={onDayChange}\n isDayActive={isDayActive}\n isDaySelectionStart={isFirstDay}\n isDaySelectionEnd={isLastDay}\n isDayDisabled={isDayDisabled}\n onBlur={resetSelectedDay}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n dayProps={dayProps}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n />\n {enableTime && value && size !== 's' && (\n <div className={styles['Calendar__time']}>\n <CalendarTime\n value={value}\n onChange={onChange}\n onClose={onClose}\n doneButtonText={doneButtonText}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["Calendar","warn","warnOnce","value","onChange","disablePast","disableFuture","shouldDisableDate","onClose","enableTime","doneButtonText","weekStartsOn","getRootRef","disablePickers","changeHoursAriaLabel","changeMinutesAriaLabel","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","showNeighboringMonth","changeDayAriaLabel","size","viewDate","externalViewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","prevMonthProps","nextMonthProps","dayProps","className","listenDayChangesForUpdate","props","useCalendar","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","useIsomorphicLayoutEffect","process","env","NODE_ENV","handleKeyDown","React","useCallback","event","includes","key","preventDefault","newFocusedDay","navigateDate","isSameMonth","onDayChange","date","setTimeEqual","isDayActive","day","Boolean","isSameDay","div","ref","classNames","CalendarHeader","CalendarDays","tabIndex","aria-label","onKeyDown","isDaySelectionStart","isFirstDay","isDaySelectionEnd","isLastDay","onBlur","CalendarTime"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useCalendar } from '../../hooks/useCalendar';\nimport { isFirstDay, isLastDay, navigateDate, setTimeEqual } from '../../lib/calendar';\nimport { isSameDay, isSameMonth } from '../../lib/date';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { CalendarDays, CalendarDaysProps } from '../CalendarDays/CalendarDays';\nimport { CalendarHeader, CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';\nimport { CalendarTime, CalendarTimeProps } from '../CalendarTime/CalendarTime';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Calendar.module.css';\n\nexport interface CalendarProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>,\n Pick<CalendarTimeProps, 'changeHoursAriaLabel' | 'changeMinutesAriaLabel'>,\n Pick<\n CalendarHeaderProps,\n | 'prevMonthAriaLabel'\n | 'nextMonthAriaLabel'\n | 'changeMonthAriaLabel'\n | 'changeYearAriaLabel'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'prevMonthProps'\n | 'nextMonthProps'\n >,\n Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate'> {\n value?: Date;\n disablePast?: boolean;\n disableFuture?: boolean;\n enableTime?: boolean;\n disablePickers?: boolean;\n doneButtonText?: string;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n onChange?(value?: Date): void;\n shouldDisableDate?(value: Date): boolean;\n onClose?(): void;\n /**\n * Дата отображаемого месяца.\n * При использовании обновление даты должно происходить вне компонента.\n */\n viewDate?: Date;\n /**\n * Изменение даты в шапке календаря.\n */\n onHeaderChange?(value: Date): void;\n}\n\nconst warn = warnOnce('Calendar');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Calendar\n */\nexport const Calendar = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n enableTime = false,\n doneButtonText,\n weekStartsOn = 1,\n disablePickers,\n changeHoursAriaLabel,\n changeMinutesAriaLabel,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n showNeighboringMonth,\n changeDayAriaLabel = 'Изменить день',\n size = 'm',\n viewDate: externalViewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n prevMonthProps,\n nextMonthProps,\n dayProps,\n listenDayChangesForUpdate,\n ...props\n}: CalendarProps) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({\n value,\n disableFuture,\n disablePast,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (value) {\n setViewDate(value);\n }\n }, [value]);\n\n if (process.env.NODE_ENV === 'development' && !disablePickers && size === 's') {\n warn(\"Нельзя включить селекты выбора месяца/года, если размер календаря 's'\", 'error');\n }\n\n if (process.env.NODE_ENV === 'development' && enableTime && size === 's') {\n warn(\"Нельзя включить выбор времени, если размер календаря 's'\", 'error');\n }\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, event.key);\n\n if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate)) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate],\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n onChange?.(setTimeEqual(date, value as Date | undefined | null));\n },\n [value, onChange],\n );\n\n const isDayActive = React.useCallback(\n (day: Date) => Boolean(value && isSameDay(day, value)),\n [value],\n );\n\n return (\n <RootComponent\n {...props}\n baseClassName={classNames(styles['Calendar'], size === 's' && styles['Calendar--size-s'])}\n >\n <CalendarHeader\n viewDate={externalViewDate || viewDate}\n onChange={setViewDate}\n onNextMonth={setNextMonth}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers || size === 's'}\n className={styles['Calendar__header']}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n prevMonthProps={prevMonthProps}\n nextMonthProps={nextMonthProps}\n />\n <CalendarDays\n viewDate={externalViewDate || viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n isDayFocused={isDayFocused}\n tabIndex={0}\n aria-label={changeDayAriaLabel}\n onKeyDown={handleKeyDown}\n onDayChange={onDayChange}\n isDayActive={isDayActive}\n isDaySelectionStart={isFirstDay}\n isDaySelectionEnd={isLastDay}\n isDayDisabled={isDayDisabled}\n onBlur={resetSelectedDay}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n dayProps={dayProps}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n />\n {enableTime && value && size !== 's' && (\n <div className={styles['Calendar__time']}>\n <CalendarTime\n value={value}\n onChange={onChange}\n onClose={onClose}\n doneButtonText={doneButtonText}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n />\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["Calendar","warn","warnOnce","value","onChange","disablePast","disableFuture","shouldDisableDate","onClose","enableTime","doneButtonText","weekStartsOn","disablePickers","changeHoursAriaLabel","changeMinutesAriaLabel","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","showNeighboringMonth","changeDayAriaLabel","size","viewDate","externalViewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","prevMonthProps","nextMonthProps","dayProps","listenDayChangesForUpdate","props","useCalendar","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","useIsomorphicLayoutEffect","process","env","NODE_ENV","handleKeyDown","React","useCallback","event","includes","key","preventDefault","newFocusedDay","navigateDate","isSameMonth","onDayChange","date","setTimeEqual","isDayActive","day","Boolean","isSameDay","RootComponent","baseClassName","classNames","CalendarHeader","className","CalendarDays","tabIndex","aria-label","onKeyDown","isDaySelectionStart","isFirstDay","isDaySelectionEnd","isLastDay","onBlur","div","CalendarTime"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { HTMLAttributesWithRootRef } from '../../types';
2
3
  import { CalendarDayElementProps } from '../CalendarDay/CalendarDay';
3
- export interface CalendarDaysProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
4
+ export interface CalendarDaysProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'> {
4
5
  value?: Date | Array<Date | null>;
5
6
  viewDate: Date;
6
7
  weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;
@@ -21,4 +22,4 @@ export interface CalendarDaysProps extends Omit<React.HTMLAttributes<HTMLDivElem
21
22
  onDayEnter?(value: Date): void;
22
23
  onDayLeave?(value: Date): void;
23
24
  }
24
- export declare const CalendarDays: ({ viewDate, value, weekStartsOn, onDayChange, isDaySelected, isDayActive, isDaySelectionEnd, isDaySelectionStart, onDayEnter, onDayLeave, isDayHinted, isHintedDaySelectionStart, isHintedDaySelectionEnd, isDayFocused, isDayDisabled, size, showNeighboringMonth, dayProps, className, listenDayChangesForUpdate, ...props }: CalendarDaysProps) => React.JSX.Element;
25
+ export declare const CalendarDays: ({ viewDate, value, weekStartsOn, onDayChange, isDaySelected, isDayActive, isDaySelectionEnd, isDaySelectionStart, onDayEnter, onDayLeave, isDayHinted, isHintedDaySelectionStart, isHintedDaySelectionEnd, isDayFocused, isDayDisabled, size, showNeighboringMonth, dayProps, listenDayChangesForUpdate, getRootRef, ...props }: CalendarDaysProps) => React.JSX.Element;
@@ -14,14 +14,16 @@ var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
14
14
  var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
15
15
  var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
16
16
  var _vkjs = require("@vkontakte/vkjs");
17
+ var _useExternRef = require("../../hooks/useExternRef");
17
18
  var _useTodayDate = require("../../hooks/useTodayDate");
18
19
  var _calendar = require("../../lib/calendar");
19
20
  var _date = require("../../lib/date");
20
21
  var _CalendarDay = require("../CalendarDay/CalendarDay");
21
22
  var _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext");
23
+ var _RootComponent = require("../RootComponent/RootComponent");
22
24
  var _Footnote = require("../Typography/Footnote/Footnote");
23
25
  var CalendarDays = function(_param) {
24
- var viewDate = _param.viewDate, value = _param.value, weekStartsOn = _param.weekStartsOn, onDayChange = _param.onDayChange, isDaySelected = _param.isDaySelected, isDayActive = _param.isDayActive, isDaySelectionEnd = _param.isDaySelectionEnd, isDaySelectionStart = _param.isDaySelectionStart, onDayEnter = _param.onDayEnter, onDayLeave = _param.onDayLeave, isDayHinted = _param.isDayHinted, isHintedDaySelectionStart = _param.isHintedDaySelectionStart, isHintedDaySelectionEnd = _param.isHintedDaySelectionEnd, isDayFocused = _param.isDayFocused, isDayDisabled = _param.isDayDisabled, size = _param.size, _param_showNeighboringMonth = _param.showNeighboringMonth, showNeighboringMonth = _param_showNeighboringMonth === void 0 ? false : _param_showNeighboringMonth, dayProps = _param.dayProps, className = _param.className, _param_listenDayChangesForUpdate = _param.listenDayChangesForUpdate, listenDayChangesForUpdate = _param_listenDayChangesForUpdate === void 0 ? false : _param_listenDayChangesForUpdate, props = _object_without_properties._(_param, [
26
+ var viewDate = _param.viewDate, value = _param.value, weekStartsOn = _param.weekStartsOn, onDayChange = _param.onDayChange, isDaySelected = _param.isDaySelected, isDayActive = _param.isDayActive, isDaySelectionEnd = _param.isDaySelectionEnd, isDaySelectionStart = _param.isDaySelectionStart, onDayEnter = _param.onDayEnter, onDayLeave = _param.onDayLeave, isDayHinted = _param.isDayHinted, isHintedDaySelectionStart = _param.isHintedDaySelectionStart, isHintedDaySelectionEnd = _param.isHintedDaySelectionEnd, isDayFocused = _param.isDayFocused, isDayDisabled = _param.isDayDisabled, size = _param.size, _param_showNeighboringMonth = _param.showNeighboringMonth, showNeighboringMonth = _param_showNeighboringMonth === void 0 ? false : _param_showNeighboringMonth, dayProps = _param.dayProps, _param_listenDayChangesForUpdate = _param.listenDayChangesForUpdate, listenDayChangesForUpdate = _param_listenDayChangesForUpdate === void 0 ? false : _param_listenDayChangesForUpdate, getRootRef = _param.getRootRef, props = _object_without_properties._(_param, [
25
27
  "viewDate",
26
28
  "value",
27
29
  "weekStartsOn",
@@ -40,11 +42,11 @@ var CalendarDays = function(_param) {
40
42
  "size",
41
43
  "showNeighboringMonth",
42
44
  "dayProps",
43
- "className",
44
- "listenDayChangesForUpdate"
45
+ "listenDayChangesForUpdate",
46
+ "getRootRef"
45
47
  ]);
46
48
  var locale = (0, _ConfigProviderContext.useConfigProvider)().locale;
47
- var ref = _react.useRef(null);
49
+ var ref = (0, _useExternRef.useExternRef)(getRootRef);
48
50
  var now = (0, _useTodayDate.useTodayDate)(listenDayChangesForUpdate);
49
51
  var weeks = _react.useMemo(function() {
50
52
  return (0, _calendar.getWeeks)(viewDate, weekStartsOn);
@@ -64,11 +66,12 @@ var CalendarDays = function(_param) {
64
66
  onDayChange(date);
65
67
  (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
66
68
  }, [
67
- onDayChange
69
+ onDayChange,
70
+ ref
68
71
  ]);
69
- return /*#__PURE__*/ _react.createElement("div", _object_spread_props._(_object_spread._({}, props), {
70
- className: (0, _vkjs.classNames)("vkuiCalendarDays", className),
71
- ref: ref
72
+ return /*#__PURE__*/ _react.createElement(_RootComponent.RootComponent, _object_spread_props._(_object_spread._({}, props), {
73
+ baseClassName: "vkuiCalendarDays",
74
+ getRootRef: ref
72
75
  }), /*#__PURE__*/ _react.createElement("div", {
73
76
  className: (0, _vkjs.classNames)("vkuiCalendarDays__row", size === "s" && "vkuiCalendarDays__row--size-s")
74
77
  }, daysNames.map(function(dayName) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useTodayDate } from '../../hooks/useTodayDate';\nimport { getDaysNames, getWeeks } from '../../lib/calendar';\nimport { isSameDay, isSameMonth } from '../../lib/date';\nimport { CalendarDay, CalendarDayElementProps } from '../CalendarDay/CalendarDay';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './CalendarDays.module.css';\n\nexport interface CalendarDaysProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n value?: Date | Array<Date | null>;\n viewDate: Date;\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n dayProps?: CalendarDayElementProps;\n listenDayChangesForUpdate?: boolean;\n onDayChange(value: Date): void;\n isDayDisabled(value: Date): boolean;\n isDaySelectionStart(value: Date, dayOfWeek: number): boolean;\n isDaySelectionEnd(value: Date, dayOfWeek: number): boolean;\n isHintedDaySelectionStart?(value: Date, dayOfWeek: number): boolean;\n isHintedDaySelectionEnd?(value: Date, dayOfWeek: number): boolean;\n isDayActive(value: Date): boolean;\n isDayHinted?(value: Date): boolean;\n isDaySelected?(value: Date): boolean;\n isDayFocused(value: Date): boolean;\n onDayEnter?(value: Date): void;\n onDayLeave?(value: Date): void;\n}\n\nexport const CalendarDays = ({\n viewDate,\n value,\n weekStartsOn,\n onDayChange,\n isDaySelected,\n isDayActive,\n isDaySelectionEnd,\n isDaySelectionStart,\n onDayEnter,\n onDayLeave,\n isDayHinted,\n isHintedDaySelectionStart,\n isHintedDaySelectionEnd,\n isDayFocused,\n isDayDisabled,\n size,\n showNeighboringMonth = false,\n dayProps,\n className,\n listenDayChangesForUpdate = false,\n ...props\n}: CalendarDaysProps) => {\n const { locale } = useConfigProvider();\n const ref = React.useRef<HTMLDivElement>(null);\n const now = useTodayDate(listenDayChangesForUpdate);\n\n const weeks = React.useMemo(() => getWeeks(viewDate, weekStartsOn), [weekStartsOn, viewDate]);\n\n const daysNames = React.useMemo(\n () => getDaysNames(now, weekStartsOn, locale),\n [locale, now, weekStartsOn],\n );\n\n const handleDayChange = React.useCallback(\n (date: Date) => {\n onDayChange(date);\n\n ref.current?.focus();\n },\n [onDayChange],\n );\n\n return (\n <div {...props} className={classNames(styles['CalendarDays'], className)} ref={ref}>\n <div\n className={classNames(\n styles['CalendarDays__row'],\n size === 's' && styles['CalendarDays__row--size-s'],\n )}\n >\n {daysNames.map((dayName) => (\n <Footnote key={dayName} className={styles['CalendarDays__weekday']}>\n {dayName}\n </Footnote>\n ))}\n </div>\n\n {weeks.map((week, i) => (\n <div\n className={classNames(\n styles['CalendarDays__row'],\n size === 's' && styles['CalendarDays__row--size-s'],\n )}\n key={i}\n >\n {week.map((day, i) => {\n const sameMonth = isSameMonth(day, viewDate);\n return (\n <CalendarDay\n key={day.toISOString()}\n day={day}\n today={isSameDay(day, now)}\n active={isDayActive(day)}\n onChange={handleDayChange}\n hidden={!showNeighboringMonth && !sameMonth}\n disabled={isDayDisabled(day)}\n selectionStart={isDaySelectionStart(day, i)}\n selectionEnd={isDaySelectionEnd(day, i)}\n hintedSelectionStart={isHintedDaySelectionStart?.(day, i)}\n hintedSelectionEnd={isHintedDaySelectionEnd?.(day, i)}\n selected={isDaySelected?.(day)}\n focused={isDayFocused(day)}\n onEnter={onDayEnter}\n onLeave={onDayLeave}\n hinted={isDayHinted?.(day)}\n sameMonth={sameMonth}\n size={size}\n {...dayProps}\n />\n );\n })}\n </div>\n ))}\n </div>\n );\n};\n"],"names":["CalendarDays","viewDate","value","weekStartsOn","onDayChange","isDaySelected","isDayActive","isDaySelectionEnd","isDaySelectionStart","onDayEnter","onDayLeave","isDayHinted","isHintedDaySelectionStart","isHintedDaySelectionEnd","isDayFocused","isDayDisabled","size","showNeighboringMonth","dayProps","className","listenDayChangesForUpdate","props","locale","useConfigProvider","ref","React","useRef","now","useTodayDate","weeks","useMemo","getWeeks","daysNames","getDaysNames","handleDayChange","useCallback","date","current","focus","div","classNames","map","dayName","Footnote","key","week","i","day","sameMonth","isSameMonth","CalendarDay","toISOString","today","isSameDay","active","onChange","hidden","disabled","selectionStart","selectionEnd","hintedSelectionStart","hintedSelectionEnd","selected","focused","onEnter","onLeave","hinted"],"mappings":";;;;+BAgCaA;;;eAAAA;;;;;;;+DAhCU;oBACI;4BACE;wBACU;oBACA;2BACc;qCACnB;wBACT;AAyBlB,IAAMA,eAAe;QAC1BC,kBAAAA,UACAC,eAAAA,OACAC,sBAAAA,cACAC,qBAAAA,aACAC,uBAAAA,eACAC,qBAAAA,aACAC,2BAAAA,mBACAC,6BAAAA,qBACAC,oBAAAA,YACAC,oBAAAA,YACAC,qBAAAA,aACAC,mCAAAA,2BACAC,iCAAAA,yBACAC,sBAAAA,cACAC,uBAAAA,eACAC,cAAAA,2CACAC,sBAAAA,gEAAuB,qCACvBC,kBAAAA,UACAC,mBAAAA,qDACAC,2BAAAA,0EAA4B,0CACzBC;QApBHpB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAM,AAAEE,SAAWC,IAAAA,wCAAiB,IAA5BD;IACR,IAAME,MAAMC,OAAMC,MAAM,CAAiB;IACzC,IAAMC,MAAMC,IAAAA,0BAAY,EAACR;IAEzB,IAAMS,QAAQJ,OAAMK,OAAO,CAAC;eAAMC,IAAAA,kBAAQ,EAAC9B,UAAUE;OAAe;QAACA;QAAcF;KAAS;IAE5F,IAAM+B,YAAYP,OAAMK,OAAO,CAC7B;eAAMG,IAAAA,sBAAY,EAACN,KAAKxB,cAAcmB;OACtC;QAACA;QAAQK;QAAKxB;KAAa;IAG7B,IAAM+B,kBAAkBT,OAAMU,WAAW,CACvC,SAACC;YAGCZ;QAFApB,YAAYgC;SAEZZ,eAAAA,IAAIa,OAAO,cAAXb,mCAAAA,aAAac,KAAK;IACpB,GACA;QAAClC;KAAY;IAGf,qBACE,qBAACmC,mDAAQlB;QAAOF,WAAWqB,IAAAA,gBAAU,sBAAyBrB;QAAYK,KAAKA;sBAC7E,qBAACe;QACCpB,WAAWqB,IAAAA,gBAAU,2BAEnBxB,SAAS;OAGVgB,UAAUS,GAAG,CAAC,SAACC;6BACd,qBAACC,kBAAQ;YAACC,KAAKF;YAASvB,SAAS;WAC9BuB;SAKNb,MAAMY,GAAG,CAAC,SAACI,MAAMC;6BAChB,qBAACP;YACCpB,WAAWqB,IAAAA,gBAAU,2BAEnBxB,SAAS;YAEX4B,KAAKE;WAEJD,KAAKJ,GAAG,CAAC,SAACM,KAAKD;gBAaYlC,4BACFC,0BACVR,gBAIFM;YAlBZ,IAAMqC,YAAYC,IAAAA,iBAAW,EAACF,KAAK9C;YACnC,qBACE,qBAACiD,wBAAW;gBACVN,KAAKG,IAAII,WAAW;gBACpBJ,KAAKA;gBACLK,OAAOC,IAAAA,eAAS,EAACN,KAAKpB;gBACtB2B,QAAQhD,YAAYyC;gBACpBQ,UAAUrB;gBACVsB,QAAQ,CAACvC,wBAAwB,CAAC+B;gBAClCS,UAAU1C,cAAcgC;gBACxBW,gBAAgBlD,oBAAoBuC,KAAKD;gBACzCa,cAAcpD,kBAAkBwC,KAAKD;gBACrCc,oBAAoB,GAAEhD,6BAAAA,uCAAAA,iDAAAA,2BAA4BmC,KAAKD;gBACvDe,kBAAkB,GAAEhD,2BAAAA,qCAAAA,+CAAAA,yBAA0BkC,KAAKD;gBACnDgB,QAAQ,GAAEzD,iBAAAA,2BAAAA,qCAAAA,eAAgB0C;gBAC1BgB,SAASjD,aAAaiC;gBACtBiB,SAASvD;gBACTwD,SAASvD;gBACTwD,MAAM,GAAEvD,eAAAA,yBAAAA,mCAAAA,aAAcoC;gBACtBC,WAAWA;gBACXhC,MAAMA;eACFE;QAGV;;AAKV"}
1
+ {"version":3,"sources":["../../../../src/components/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useTodayDate } from '../../hooks/useTodayDate';\nimport { getDaysNames, getWeeks } from '../../lib/calendar';\nimport { isSameDay, isSameMonth } from '../../lib/date';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { CalendarDay, CalendarDayElementProps } from '../CalendarDay/CalendarDay';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './CalendarDays.module.css';\n\nexport interface CalendarDaysProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'> {\n value?: Date | Array<Date | null>;\n viewDate: Date;\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n dayProps?: CalendarDayElementProps;\n listenDayChangesForUpdate?: boolean;\n onDayChange(value: Date): void;\n isDayDisabled(value: Date): boolean;\n isDaySelectionStart(value: Date, dayOfWeek: number): boolean;\n isDaySelectionEnd(value: Date, dayOfWeek: number): boolean;\n isHintedDaySelectionStart?(value: Date, dayOfWeek: number): boolean;\n isHintedDaySelectionEnd?(value: Date, dayOfWeek: number): boolean;\n isDayActive(value: Date): boolean;\n isDayHinted?(value: Date): boolean;\n isDaySelected?(value: Date): boolean;\n isDayFocused(value: Date): boolean;\n onDayEnter?(value: Date): void;\n onDayLeave?(value: Date): void;\n}\n\nexport const CalendarDays = ({\n viewDate,\n value,\n weekStartsOn,\n onDayChange,\n isDaySelected,\n isDayActive,\n isDaySelectionEnd,\n isDaySelectionStart,\n onDayEnter,\n onDayLeave,\n isDayHinted,\n isHintedDaySelectionStart,\n isHintedDaySelectionEnd,\n isDayFocused,\n isDayDisabled,\n size,\n showNeighboringMonth = false,\n dayProps,\n listenDayChangesForUpdate = false,\n getRootRef,\n ...props\n}: CalendarDaysProps) => {\n const { locale } = useConfigProvider();\n const ref = useExternRef(getRootRef);\n const now = useTodayDate(listenDayChangesForUpdate);\n\n const weeks = React.useMemo(() => getWeeks(viewDate, weekStartsOn), [weekStartsOn, viewDate]);\n\n const daysNames = React.useMemo(\n () => getDaysNames(now, weekStartsOn, locale),\n [locale, now, weekStartsOn],\n );\n\n const handleDayChange = React.useCallback(\n (date: Date) => {\n onDayChange(date);\n\n ref.current?.focus();\n },\n [onDayChange, ref],\n );\n\n return (\n <RootComponent {...props} baseClassName={styles['CalendarDays']} getRootRef={ref}>\n <div\n className={classNames(\n styles['CalendarDays__row'],\n size === 's' && styles['CalendarDays__row--size-s'],\n )}\n >\n {daysNames.map((dayName) => (\n <Footnote key={dayName} className={styles['CalendarDays__weekday']}>\n {dayName}\n </Footnote>\n ))}\n </div>\n\n {weeks.map((week, i) => (\n <div\n className={classNames(\n styles['CalendarDays__row'],\n size === 's' && styles['CalendarDays__row--size-s'],\n )}\n key={i}\n >\n {week.map((day, i) => {\n const sameMonth = isSameMonth(day, viewDate);\n return (\n <CalendarDay\n key={day.toISOString()}\n day={day}\n today={isSameDay(day, now)}\n active={isDayActive(day)}\n onChange={handleDayChange}\n hidden={!showNeighboringMonth && !sameMonth}\n disabled={isDayDisabled(day)}\n selectionStart={isDaySelectionStart(day, i)}\n selectionEnd={isDaySelectionEnd(day, i)}\n hintedSelectionStart={isHintedDaySelectionStart?.(day, i)}\n hintedSelectionEnd={isHintedDaySelectionEnd?.(day, i)}\n selected={isDaySelected?.(day)}\n focused={isDayFocused(day)}\n onEnter={onDayEnter}\n onLeave={onDayLeave}\n hinted={isDayHinted?.(day)}\n sameMonth={sameMonth}\n size={size}\n {...dayProps}\n />\n );\n })}\n </div>\n ))}\n </RootComponent>\n );\n};\n"],"names":["CalendarDays","viewDate","value","weekStartsOn","onDayChange","isDaySelected","isDayActive","isDaySelectionEnd","isDaySelectionStart","onDayEnter","onDayLeave","isDayHinted","isHintedDaySelectionStart","isHintedDaySelectionEnd","isDayFocused","isDayDisabled","size","showNeighboringMonth","dayProps","listenDayChangesForUpdate","getRootRef","props","locale","useConfigProvider","ref","useExternRef","now","useTodayDate","weeks","React","useMemo","getWeeks","daysNames","getDaysNames","handleDayChange","useCallback","date","current","focus","RootComponent","baseClassName","div","className","classNames","map","dayName","Footnote","key","week","i","day","sameMonth","isSameMonth","CalendarDay","toISOString","today","isSameDay","active","onChange","hidden","disabled","selectionStart","selectionEnd","hintedSelectionStart","hintedSelectionEnd","selected","focused","onEnter","onLeave","hinted"],"mappings":";;;;+BAoCaA;;;eAAAA;;;;;;;+DApCU;oBACI;4BACE;4BACA;wBACU;oBACA;2BAEc;qCACnB;6BACJ;wBACL;AA0BlB,IAAMA,eAAe;QAC1BC,kBAAAA,UACAC,eAAAA,OACAC,sBAAAA,cACAC,qBAAAA,aACAC,uBAAAA,eACAC,qBAAAA,aACAC,2BAAAA,mBACAC,6BAAAA,qBACAC,oBAAAA,YACAC,oBAAAA,YACAC,qBAAAA,aACAC,mCAAAA,2BACAC,iCAAAA,yBACAC,sBAAAA,cACAC,uBAAAA,eACAC,cAAAA,2CACAC,sBAAAA,gEAAuB,qCACvBC,kBAAAA,oDACAC,2BAAAA,0EAA4B,0CAC5BC,oBAAAA,YACGC;QApBHpB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAM,AAAEE,SAAWC,IAAAA,wCAAiB,IAA5BD;IACR,IAAME,MAAMC,IAAAA,0BAAY,EAACL;IACzB,IAAMM,MAAMC,IAAAA,0BAAY,EAACR;IAEzB,IAAMS,QAAQC,OAAMC,OAAO,CAAC;eAAMC,IAAAA,kBAAQ,EAAC9B,UAAUE;OAAe;QAACA;QAAcF;KAAS;IAE5F,IAAM+B,YAAYH,OAAMC,OAAO,CAC7B;eAAMG,IAAAA,sBAAY,EAACP,KAAKvB,cAAcmB;OACtC;QAACA;QAAQI;QAAKvB;KAAa;IAG7B,IAAM+B,kBAAkBL,OAAMM,WAAW,CACvC,SAACC;YAGCZ;QAFApB,YAAYgC;SAEZZ,eAAAA,IAAIa,OAAO,cAAXb,mCAAAA,aAAac,KAAK;IACpB,GACA;QAAClC;QAAaoB;KAAI;IAGpB,qBACE,qBAACe,4BAAa,8CAAKlB;QAAOmB,aAAa;QAA0BpB,YAAYI;sBAC3E,qBAACiB;QACCC,WAAWC,IAAAA,gBAAU,2BAEnB3B,SAAS;OAGVgB,UAAUY,GAAG,CAAC,SAACC;6BACd,qBAACC,kBAAQ;YAACC,KAAKF;YAASH,SAAS;WAC9BG;SAKNjB,MAAMgB,GAAG,CAAC,SAACI,MAAMC;6BAChB,qBAACR;YACCC,WAAWC,IAAAA,gBAAU,2BAEnB3B,SAAS;YAEX+B,KAAKE;WAEJD,KAAKJ,GAAG,CAAC,SAACM,KAAKD;gBAaYrC,4BACFC,0BACVR,gBAIFM;YAlBZ,IAAMwC,YAAYC,IAAAA,iBAAW,EAACF,KAAKjD;YACnC,qBACE,qBAACoD,wBAAW;gBACVN,KAAKG,IAAII,WAAW;gBACpBJ,KAAKA;gBACLK,OAAOC,IAAAA,eAAS,EAACN,KAAKxB;gBACtB+B,QAAQnD,YAAY4C;gBACpBQ,UAAUxB;gBACVyB,QAAQ,CAAC1C,wBAAwB,CAACkC;gBAClCS,UAAU7C,cAAcmC;gBACxBW,gBAAgBrD,oBAAoB0C,KAAKD;gBACzCa,cAAcvD,kBAAkB2C,KAAKD;gBACrCc,oBAAoB,GAAEnD,6BAAAA,uCAAAA,iDAAAA,2BAA4BsC,KAAKD;gBACvDe,kBAAkB,GAAEnD,2BAAAA,qCAAAA,+CAAAA,yBAA0BqC,KAAKD;gBACnDgB,QAAQ,GAAE5D,iBAAAA,2BAAAA,qCAAAA,eAAgB6C;gBAC1BgB,SAASpD,aAAaoC;gBACtBiB,SAAS1D;gBACT2D,SAAS1D;gBACT2D,MAAM,GAAE1D,eAAAA,yBAAAA,mCAAAA,aAAcuC;gBACtBC,WAAWA;gBACXnC,MAAMA;eACFE;QAGV;;AAKV"}