@vkontakte/vkui 5.5.4 → 5.6.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 (1179) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  3. package/dist/cjs/components/Accordion/AccordionSummary.js.map +1 -1
  4. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  5. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  6. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  7. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  8. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -2
  9. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  10. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  11. package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  12. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  13. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  14. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  15. package/dist/cjs/components/AppRoot/AppRoot.js +6 -5
  16. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  17. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  18. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  19. package/dist/cjs/components/AppRoot/ScrollContext.js +5 -3
  20. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  21. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  22. package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
  23. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  24. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  25. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  26. package/dist/cjs/components/Avatar/AvatarBadge/icons.js.map +1 -1
  27. package/dist/cjs/components/Avatar/helpers.js.map +1 -1
  28. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  29. package/dist/cjs/components/Banner/Banner.d.ts +5 -1
  30. package/dist/cjs/components/Banner/Banner.js +4 -3
  31. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  32. package/dist/cjs/components/BaseGallery/BaseGallery.js +15 -9
  33. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  34. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  35. package/dist/cjs/components/Button/Button.d.ts +2 -1
  36. package/dist/cjs/components/Button/Button.js +5 -3
  37. package/dist/cjs/components/Button/Button.js.map +1 -1
  38. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  39. package/dist/cjs/components/Calendar/Calendar.js +2 -1
  40. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  41. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -2
  42. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  43. package/dist/cjs/components/CalendarDays/CalendarDays.js +6 -5
  44. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  45. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  46. package/dist/cjs/components/CalendarRange/CalendarRange.js +16 -8
  47. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  48. package/dist/cjs/components/CalendarTime/CalendarTime.js +4 -2
  49. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  50. package/dist/cjs/components/Card/Card.js.map +1 -1
  51. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  52. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  53. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  54. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  55. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  56. package/dist/cjs/components/Cell/useDraggable.js.map +1 -1
  57. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  58. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  59. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  60. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  61. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  62. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +10 -4
  63. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  64. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  65. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +20 -9
  66. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  67. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  68. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  69. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  70. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  71. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  72. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +2 -1
  73. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  74. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  75. package/dist/cjs/components/CustomSelect/CustomSelect.js +15 -8
  76. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  77. package/dist/cjs/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  78. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -2
  79. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  80. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  81. package/dist/cjs/components/DateInput/DateInput.js +4 -2
  82. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  83. package/dist/cjs/components/DatePicker/DatePicker.js +8 -5
  84. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  85. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +11 -7
  86. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  87. package/dist/cjs/components/Div/Div.js.map +1 -1
  88. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  89. package/dist/cjs/components/Epic/Epic.d.ts +1 -0
  90. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  91. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  92. package/dist/cjs/components/File/File.js.map +1 -1
  93. package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
  94. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  95. package/dist/cjs/components/FocusTrap/FocusTrap.js +4 -3
  96. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  97. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  98. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  99. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  100. package/dist/cjs/components/FormItem/FormItem.js +2 -1
  101. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  102. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  103. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  104. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  105. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  106. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  107. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  108. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  109. package/dist/cjs/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  110. package/dist/cjs/components/Group/Group.d.ts +8 -8
  111. package/dist/cjs/components/Group/Group.js +1 -1
  112. package/dist/cjs/components/Group/Group.js.map +1 -1
  113. package/dist/cjs/components/Header/Header.js.map +1 -1
  114. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  115. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  116. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.js +56 -0
  117. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  118. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +2 -2
  119. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  120. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  121. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  122. package/dist/cjs/components/Image/Image.js.map +1 -1
  123. package/dist/cjs/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  124. package/dist/cjs/components/ImageBase/ImageBase.js +4 -2
  125. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  126. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  127. package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  128. package/dist/cjs/components/ImageBase/context.js.map +1 -1
  129. package/dist/cjs/components/ImageBase/helpers.js.map +1 -1
  130. package/dist/cjs/components/ImageBase/validators.js +3 -4
  131. package/dist/cjs/components/ImageBase/validators.js.map +1 -1
  132. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  133. package/dist/cjs/components/Input/Input.js.map +1 -1
  134. package/dist/cjs/components/InputLike/InputLike.js +6 -4
  135. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  136. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
  137. package/dist/cjs/components/Link/Link.js.map +1 -1
  138. package/dist/cjs/components/List/List.js.map +1 -1
  139. package/dist/cjs/components/List/ListContext.js.map +1 -1
  140. package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  141. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  142. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  143. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +9 -8
  144. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  145. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  146. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  147. package/dist/cjs/components/ModalPage/ModalPageContext.js.map +1 -1
  148. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  149. package/dist/cjs/components/ModalRoot/ModalRoot.js +21 -15
  150. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  151. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  152. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  153. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +12 -6
  154. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  155. package/dist/cjs/components/ModalRoot/types.d.ts +4 -2
  156. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  157. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  158. package/dist/cjs/components/ModalRoot/useModalRootContext.js.map +1 -1
  159. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  160. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  161. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  162. package/dist/cjs/components/Pagination/Pagination.js +2 -1
  163. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  164. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  165. package/dist/cjs/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  166. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  167. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  168. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  169. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  170. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  171. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  172. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  173. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  174. package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
  175. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  176. package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
  177. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  178. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  179. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  180. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  181. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -1
  182. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  183. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  184. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
  185. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  186. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  187. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  188. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  189. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  190. package/dist/cjs/components/Removable/Removable.js +2 -2
  191. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  192. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  193. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  194. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  195. package/dist/cjs/components/Root/Root.d.ts +1 -0
  196. package/dist/cjs/components/Root/Root.js.map +1 -1
  197. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  198. package/dist/cjs/components/ScrollArrow/ScrollArrow.js.map +1 -1
  199. package/dist/cjs/components/Search/Search.js +2 -2
  200. package/dist/cjs/components/Search/Search.js.map +1 -1
  201. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  202. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  203. package/dist/cjs/components/Select/Select.js.map +1 -1
  204. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  205. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  206. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  207. package/dist/cjs/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  208. package/dist/cjs/components/SimpleCell/Chevron/Chevron.js +27 -0
  209. package/dist/cjs/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  210. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +6 -2
  211. package/dist/cjs/components/SimpleCell/SimpleCell.js +16 -5
  212. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  213. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  214. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  215. package/dist/cjs/components/Slider/helpers.js.map +1 -1
  216. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  217. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  218. package/dist/cjs/components/Spinner/Spinner.d.ts +2 -1
  219. package/dist/cjs/components/Spinner/Spinner.js +19 -4
  220. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  221. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  222. package/dist/cjs/components/SplitCol/SplitColContext.js.map +1 -1
  223. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  224. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  225. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  226. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  227. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  228. package/dist/cjs/components/TabbarItem/TabbarItem.js +1 -1
  229. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  230. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  231. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  232. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  233. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  234. package/dist/cjs/components/Textarea/Textarea.js +2 -1
  235. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  236. package/dist/cjs/components/Tooltip/Tooltip.js +4 -2
  237. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  238. package/dist/cjs/components/Tooltip/TooltipContainer.js.map +1 -1
  239. package/dist/cjs/components/Touch/Touch.js +1 -1
  240. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  241. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  242. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  243. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  244. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  245. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  246. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  247. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  248. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  249. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  250. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  251. package/dist/cjs/components/View/View.d.ts +1 -0
  252. package/dist/cjs/components/View/View.js +16 -8
  253. package/dist/cjs/components/View/View.js.map +1 -1
  254. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  255. package/dist/cjs/components/View/utils.js +2 -2
  256. package/dist/cjs/components/View/utils.js.map +1 -1
  257. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  258. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  259. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  260. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  261. package/dist/cjs/helpers/appearance.js.map +1 -1
  262. package/dist/cjs/helpers/generateVKUITokensClassName.js.map +1 -1
  263. package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
  264. package/dist/cjs/helpers/math.js.map +1 -1
  265. package/dist/cjs/helpers/range.js.map +1 -1
  266. package/dist/cjs/hoc/withContext.js.map +1 -1
  267. package/dist/cjs/hoc/withInsets.js.map +1 -1
  268. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  269. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  270. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  271. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  272. package/dist/cjs/hooks/useAdaptivityConditionalRender/index.js.map +1 -1
  273. package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  274. package/dist/cjs/hooks/useAdaptivityHasHover.js.map +1 -1
  275. package/dist/cjs/hooks/useAdaptivityHasPointer.js.map +1 -1
  276. package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  277. package/dist/cjs/hooks/useAppearance.js.map +1 -1
  278. package/dist/cjs/hooks/useAutoDetectAppearance.js +2 -1
  279. package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
  280. package/dist/cjs/hooks/useBooleanState.js.map +1 -1
  281. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -1
  282. package/dist/cjs/hooks/useCalendar.js +6 -3
  283. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  284. package/dist/cjs/hooks/useChipsInput.js +2 -1
  285. package/dist/cjs/hooks/useChipsInput.js.map +1 -1
  286. package/dist/cjs/hooks/useChipsSelect.js.map +1 -1
  287. package/dist/cjs/hooks/useDateInput.js +5 -3
  288. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  289. package/dist/cjs/hooks/useEffectDev.js.map +1 -1
  290. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  291. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  292. package/dist/cjs/hooks/useExternRef.js.map +1 -1
  293. package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
  294. package/dist/cjs/hooks/useFocusWithin.js.map +1 -1
  295. package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
  296. package/dist/cjs/hooks/useId.js.map +1 -1
  297. package/dist/cjs/hooks/useInsets.js.map +1 -1
  298. package/dist/cjs/hooks/useIsClient.js.map +1 -1
  299. package/dist/cjs/hooks/useKeyboard.js +4 -4
  300. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  301. package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
  302. package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
  303. package/dist/cjs/hooks/useObjectMemo.js.map +1 -1
  304. package/dist/cjs/hooks/useOrientationChange.js +1 -1
  305. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  306. package/dist/cjs/hooks/usePagination.js.map +1 -1
  307. package/dist/cjs/hooks/usePatchChildrenRef.js +2 -1
  308. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  309. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  310. package/dist/cjs/hooks/usePrevious.js.map +1 -1
  311. package/dist/cjs/hooks/useTimeout.js +2 -1
  312. package/dist/cjs/hooks/useTimeout.js.map +1 -1
  313. package/dist/cjs/hooks/useTodayDate.js.map +1 -1
  314. package/dist/cjs/hooks/useWaitTransitionFinish.js +4 -2
  315. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  316. package/dist/cjs/index.d.ts +3 -1
  317. package/dist/cjs/index.js +4 -0
  318. package/dist/cjs/index.js.map +1 -1
  319. package/dist/cjs/lib/SSR.js.map +1 -1
  320. package/dist/cjs/lib/accessibility.js.map +1 -1
  321. package/dist/cjs/lib/adaptivity/constants.js.map +1 -1
  322. package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
  323. package/dist/cjs/lib/animate.js.map +1 -1
  324. package/dist/cjs/lib/browser.js.map +1 -1
  325. package/dist/cjs/lib/calendar.js.map +1 -1
  326. package/dist/cjs/lib/callMultiple.js.map +1 -1
  327. package/dist/cjs/lib/date.js.map +1 -1
  328. package/dist/cjs/lib/dom.js.map +1 -1
  329. package/dist/cjs/lib/floating/adapters.js.map +1 -1
  330. package/dist/cjs/lib/floating/functions.js.map +1 -1
  331. package/dist/cjs/lib/floating/index.js.map +1 -1
  332. package/dist/cjs/lib/fx.js.map +1 -1
  333. package/dist/cjs/lib/getNavId.js.map +1 -1
  334. package/dist/cjs/lib/isRefObject.js.map +1 -1
  335. package/dist/cjs/lib/matchMedia.js.map +1 -1
  336. package/dist/cjs/lib/offset.js +6 -5
  337. package/dist/cjs/lib/offset.js.map +1 -1
  338. package/dist/cjs/lib/platform.js.map +1 -1
  339. package/dist/cjs/lib/polyfills.js.map +1 -1
  340. package/dist/cjs/lib/removeObjectKeys.js.map +1 -1
  341. package/dist/cjs/lib/select.js +2 -2
  342. package/dist/cjs/lib/select.js.map +1 -1
  343. package/dist/cjs/lib/styles.js.map +1 -1
  344. package/dist/cjs/lib/supportEvents.js.map +1 -1
  345. package/dist/cjs/lib/taptic.js.map +1 -1
  346. package/dist/cjs/lib/testing.js.map +1 -1
  347. package/dist/cjs/lib/tokensClassProvider.js.map +1 -1
  348. package/dist/cjs/lib/touch.js.map +1 -1
  349. package/dist/cjs/lib/useIsomorphicLayoutEffect.js.map +1 -1
  350. package/dist/cjs/lib/utils.js.map +1 -1
  351. package/dist/cjs/lib/warnOnce.js.map +1 -1
  352. package/dist/cjs/shared/breakpoints.js.map +1 -1
  353. package/dist/components/Accordion/Accordion.js.map +1 -1
  354. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  355. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  356. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  357. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -2
  358. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  359. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  360. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  361. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  362. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  363. package/dist/components/Alert/Alert.js.map +1 -1
  364. package/dist/components/AppRoot/AppRoot.js +6 -5
  365. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  366. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  367. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  368. package/dist/components/AppRoot/ScrollContext.js +5 -3
  369. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  370. package/dist/components/Avatar/Avatar.js.map +1 -1
  371. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  372. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  373. package/dist/components/Avatar/helpers.js.map +1 -1
  374. package/dist/components/Banner/Banner.d.ts +5 -1
  375. package/dist/components/Banner/Banner.js +4 -3
  376. package/dist/components/Banner/Banner.js.map +1 -1
  377. package/dist/components/BaseGallery/BaseGallery.js +15 -9
  378. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  379. package/dist/components/BaseGallery/helpers.js.map +1 -1
  380. package/dist/components/Button/Button.d.ts +2 -1
  381. package/dist/components/Button/Button.js +5 -3
  382. package/dist/components/Button/Button.js.map +1 -1
  383. package/dist/components/Calendar/Calendar.js +2 -1
  384. package/dist/components/Calendar/Calendar.js.map +1 -1
  385. package/dist/components/CalendarDay/CalendarDay.js +4 -2
  386. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  387. package/dist/components/CalendarDays/CalendarDays.js +6 -5
  388. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  389. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  390. package/dist/components/CalendarRange/CalendarRange.js +16 -8
  391. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  392. package/dist/components/CalendarTime/CalendarTime.js +4 -2
  393. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  394. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  395. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  396. package/dist/components/Cell/Cell.js.map +1 -1
  397. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  398. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  399. package/dist/components/Cell/useDraggable.js.map +1 -1
  400. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  401. package/dist/components/Chip/Chip.js.map +1 -1
  402. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  403. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  404. package/dist/components/ChipsInputBase/ChipsInputBase.js +10 -4
  405. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  406. package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  407. package/dist/components/ChipsSelect/ChipsSelect.js +20 -9
  408. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  409. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  410. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  411. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  412. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  413. package/dist/components/Counter/Counter.js.map +1 -1
  414. package/dist/components/CustomScrollView/CustomScrollView.js +2 -1
  415. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  416. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  417. package/dist/components/CustomSelect/CustomSelect.js +15 -8
  418. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  419. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -2
  420. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  421. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  422. package/dist/components/DateInput/DateInput.js +4 -2
  423. package/dist/components/DateInput/DateInput.js.map +1 -1
  424. package/dist/components/DatePicker/DatePicker.js +8 -5
  425. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  426. package/dist/components/DateRangeInput/DateRangeInput.js +11 -7
  427. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  428. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  429. package/dist/components/Epic/Epic.d.ts +1 -0
  430. package/dist/components/Epic/Epic.js.map +1 -1
  431. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  432. package/dist/components/File/File.js.map +1 -1
  433. package/dist/components/FixedLayout/FixedLayout.js +2 -1
  434. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  435. package/dist/components/FocusTrap/FocusTrap.js +4 -3
  436. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  437. package/dist/components/FormField/FormField.js.map +1 -1
  438. package/dist/components/FormItem/FormItem.js +2 -1
  439. package/dist/components/FormItem/FormItem.js.map +1 -1
  440. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  441. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  442. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  443. package/dist/components/Gallery/Gallery.js.map +1 -1
  444. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  445. package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  446. package/dist/components/Group/Group.d.ts +8 -8
  447. package/dist/components/Group/Group.js +1 -1
  448. package/dist/components/Group/Group.js.map +1 -1
  449. package/dist/components/Header/Header.js.map +1 -1
  450. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  451. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.js +45 -0
  452. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  453. package/dist/components/HorizontalScroll/HorizontalScroll.js +2 -2
  454. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  455. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  456. package/dist/components/IconButton/IconButton.js.map +1 -1
  457. package/dist/components/Image/Image.js.map +1 -1
  458. package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  459. package/dist/components/ImageBase/ImageBase.js +4 -2
  460. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  461. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  462. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  463. package/dist/components/ImageBase/context.js.map +1 -1
  464. package/dist/components/ImageBase/helpers.js.map +1 -1
  465. package/dist/components/ImageBase/validators.js +3 -4
  466. package/dist/components/ImageBase/validators.js.map +1 -1
  467. package/dist/components/Input/Input.js.map +1 -1
  468. package/dist/components/InputLike/InputLike.js +6 -4
  469. package/dist/components/InputLike/InputLike.js.map +1 -1
  470. package/dist/components/Link/Link.js.map +1 -1
  471. package/dist/components/List/List.js.map +1 -1
  472. package/dist/components/List/ListContext.js.map +1 -1
  473. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  474. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  475. package/dist/components/ModalCardBase/ModalCardBase.js +9 -8
  476. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  477. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  478. package/dist/components/ModalPage/ModalPageContext.js.map +1 -1
  479. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  480. package/dist/components/ModalRoot/ModalRoot.js +21 -15
  481. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  482. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  483. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  484. package/dist/components/ModalRoot/ModalRootDesktop.js +12 -6
  485. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  486. package/dist/components/ModalRoot/types.d.ts +4 -2
  487. package/dist/components/ModalRoot/types.js.map +1 -1
  488. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  489. package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
  490. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  491. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  492. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  493. package/dist/components/Pagination/Pagination.js +2 -1
  494. package/dist/components/Pagination/Pagination.js.map +1 -1
  495. package/dist/components/Panel/Panel.js.map +1 -1
  496. package/dist/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  497. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  498. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  499. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  500. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  501. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  502. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  503. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  504. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  505. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  506. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  507. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  508. package/dist/components/Popover/Popover.js.map +1 -1
  509. package/dist/components/Popper/Popper.js.map +1 -1
  510. package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
  511. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  512. package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
  513. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  514. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  515. package/dist/components/Radio/Radio.js.map +1 -1
  516. package/dist/components/Removable/Removable.js +2 -2
  517. package/dist/components/Removable/Removable.js.map +1 -1
  518. package/dist/components/RichCell/RichCell.js.map +1 -1
  519. package/dist/components/Root/Root.d.ts +1 -0
  520. package/dist/components/Root/Root.js.map +1 -1
  521. package/dist/components/Search/Search.js +2 -2
  522. package/dist/components/Search/Search.js.map +1 -1
  523. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  524. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  525. package/dist/components/Select/Select.js.map +1 -1
  526. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  527. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  528. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  529. package/dist/components/SimpleCell/Chevron/Chevron.js +16 -0
  530. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  531. package/dist/components/SimpleCell/SimpleCell.d.ts +6 -2
  532. package/dist/components/SimpleCell/SimpleCell.js +16 -5
  533. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  534. package/dist/components/Slider/Slider.js.map +1 -1
  535. package/dist/components/Slider/helpers.js.map +1 -1
  536. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  537. package/dist/components/Spinner/Spinner.d.ts +2 -1
  538. package/dist/components/Spinner/Spinner.js +19 -4
  539. package/dist/components/Spinner/Spinner.js.map +1 -1
  540. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  541. package/dist/components/SplitCol/SplitColContext.js.map +1 -1
  542. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  543. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  544. package/dist/components/Switch/Switch.js.map +1 -1
  545. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  546. package/dist/components/TabbarItem/TabbarItem.js +1 -1
  547. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  548. package/dist/components/Tabs/Tabs.js.map +1 -1
  549. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  550. package/dist/components/Tappable/Tappable.js.map +1 -1
  551. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  552. package/dist/components/Textarea/Textarea.js +2 -1
  553. package/dist/components/Textarea/Textarea.js.map +1 -1
  554. package/dist/components/Tooltip/Tooltip.js +4 -2
  555. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  556. package/dist/components/Tooltip/TooltipContainer.js.map +1 -1
  557. package/dist/components/Touch/Touch.js +1 -1
  558. package/dist/components/Touch/Touch.js.map +1 -1
  559. package/dist/components/Touch/TouchContext.js.map +1 -1
  560. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  561. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  562. package/dist/components/Typography/Text/Text.js.map +1 -1
  563. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  564. package/dist/components/View/View.d.ts +1 -0
  565. package/dist/components/View/View.js +16 -8
  566. package/dist/components/View/View.js.map +1 -1
  567. package/dist/components/View/ViewInfinite.js.map +1 -1
  568. package/dist/components/View/utils.js +2 -2
  569. package/dist/components/View/utils.js.map +1 -1
  570. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  571. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  572. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  573. package/dist/components.css +10 -9
  574. package/dist/components.css.map +1 -1
  575. package/dist/components.js.tmp +3108 -2238
  576. package/dist/cssm/components/Accordion/Accordion.js +1 -1
  577. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  578. package/dist/cssm/components/Accordion/AccordionSummary.js +1 -1
  579. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  580. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -2
  581. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  582. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  583. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +3 -3
  584. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  585. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
  586. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  587. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +3 -3
  588. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  589. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +2 -2
  590. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  591. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  592. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +3 -3
  593. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  594. package/dist/cssm/components/Alert/Alert.js +6 -6
  595. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  596. package/dist/cssm/components/AppRoot/AppRoot.js +3 -3
  597. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  598. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  599. package/dist/cssm/components/AppRoot/AppRootPortal.js +2 -2
  600. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  601. package/dist/cssm/components/AppRoot/ScrollContext.js +5 -5
  602. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  603. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +1 -1
  604. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  605. package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
  606. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  607. package/dist/cssm/components/Avatar/Avatar.js +1 -1
  608. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  609. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js +2 -2
  610. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  611. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +2 -2
  612. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  613. package/dist/cssm/components/Avatar/AvatarBadge/icons.js +2 -2
  614. package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
  615. package/dist/cssm/components/Avatar/helpers.js.map +1 -1
  616. package/dist/cssm/components/Badge/Badge.js +1 -1
  617. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  618. package/dist/cssm/components/Banner/Banner.d.ts +5 -1
  619. package/dist/cssm/components/Banner/Banner.js +2 -2
  620. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  621. package/dist/cssm/components/Banner/Banner.module.css +6 -1
  622. package/dist/cssm/components/BaseGallery/BaseGallery.js +3 -3
  623. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  624. package/dist/cssm/components/BaseGallery/helpers.js +4 -4
  625. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  626. package/dist/cssm/components/Button/Button.d.ts +2 -1
  627. package/dist/cssm/components/Button/Button.js +4 -3
  628. package/dist/cssm/components/Button/Button.js.map +1 -1
  629. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -1
  630. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  631. package/dist/cssm/components/Calendar/Calendar.js +2 -2
  632. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  633. package/dist/cssm/components/CalendarDay/CalendarDay.js +2 -2
  634. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  635. package/dist/cssm/components/CalendarDays/CalendarDays.js +2 -2
  636. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  637. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +7 -7
  638. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  639. package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -2
  640. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  641. package/dist/cssm/components/CalendarTime/CalendarTime.js +1 -1
  642. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  643. package/dist/cssm/components/Card/Card.js +1 -1
  644. package/dist/cssm/components/Card/Card.js.map +1 -1
  645. package/dist/cssm/components/CardGrid/CardGrid.js +2 -2
  646. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  647. package/dist/cssm/components/CardScroll/CardScroll.js +2 -2
  648. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  649. package/dist/cssm/components/Cell/Cell.js +3 -3
  650. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  651. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +1 -1
  652. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  653. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
  654. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  655. package/dist/cssm/components/Cell/useDraggable.js +1 -1
  656. package/dist/cssm/components/Cell/useDraggable.js.map +1 -1
  657. package/dist/cssm/components/CellButton/CellButton.js +1 -1
  658. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  659. package/dist/cssm/components/Checkbox/Checkbox.js +3 -3
  660. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  661. package/dist/cssm/components/Chip/Chip.js +2 -2
  662. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  663. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  664. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  665. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  666. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +9 -5
  667. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  668. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  669. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +13 -5
  670. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  671. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -2
  672. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  673. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  674. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  675. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  676. package/dist/cssm/components/ContentCard/ContentCard.js +3 -3
  677. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  678. package/dist/cssm/components/Counter/Counter.js +1 -1
  679. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  680. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +3 -3
  681. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  682. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +1 -1
  683. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  684. package/dist/cssm/components/CustomSelect/CustomSelect.js +4 -4
  685. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  686. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js +1 -1
  687. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  688. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -2
  689. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  690. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +2 -2
  691. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  692. package/dist/cssm/components/DateInput/DateInput.js +3 -3
  693. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  694. package/dist/cssm/components/DatePicker/DatePicker.js +8 -8
  695. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  696. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +3 -3
  697. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  698. package/dist/cssm/components/Div/Div.js +1 -1
  699. package/dist/cssm/components/Div/Div.js.map +1 -1
  700. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +2 -2
  701. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  702. package/dist/cssm/components/Epic/Epic.d.ts +1 -0
  703. package/dist/cssm/components/Epic/Epic.js +1 -1
  704. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  705. package/dist/cssm/components/Epic/ScrollSaver.js +2 -2
  706. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  707. package/dist/cssm/components/File/File.js +1 -1
  708. package/dist/cssm/components/File/File.js.map +1 -1
  709. package/dist/cssm/components/FixedLayout/FixedLayout.js +3 -3
  710. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  711. package/dist/cssm/components/FocusTrap/FocusTrap.js +4 -4
  712. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  713. package/dist/cssm/components/FocusVisible/FocusVisible.js +1 -1
  714. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  715. package/dist/cssm/components/Footer/Footer.js +1 -1
  716. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  717. package/dist/cssm/components/FormField/FormField.js +2 -2
  718. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  719. package/dist/cssm/components/FormItem/FormItem.js +2 -2
  720. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  721. package/dist/cssm/components/FormLayout/FormLayout.js +1 -1
  722. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  723. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -2
  724. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  725. package/dist/cssm/components/FormStatus/FormStatus.js +1 -1
  726. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  727. package/dist/cssm/components/Gallery/Gallery.js +1 -1
  728. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  729. package/dist/cssm/components/Gradient/Gradient.js +1 -1
  730. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  731. package/dist/cssm/components/GridAvatar/GridAvatar.js +1 -1
  732. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  733. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js +2 -2
  734. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  735. package/dist/cssm/components/Group/Group.d.ts +8 -8
  736. package/dist/cssm/components/Group/Group.js +4 -4
  737. package/dist/cssm/components/Group/Group.js.map +1 -1
  738. package/dist/cssm/components/Group/Group.module.css +2 -0
  739. package/dist/cssm/components/Header/Header.js +2 -2
  740. package/dist/cssm/components/Header/Header.js.map +1 -1
  741. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -3
  742. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  743. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +0 -5
  744. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  745. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.js +35 -0
  746. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  747. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.module.css +47 -0
  748. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +2 -2
  749. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  750. package/dist/cssm/components/HoverPopper/HoverPopper.js +1 -1
  751. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  752. package/dist/cssm/components/IconButton/IconButton.js +2 -2
  753. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  754. package/dist/cssm/components/Image/Image.js +1 -1
  755. package/dist/cssm/components/Image/Image.js.map +1 -1
  756. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js +2 -2
  757. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
  759. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  760. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +2 -2
  761. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  762. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +2 -2
  763. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  764. package/dist/cssm/components/ImageBase/context.js.map +1 -1
  765. package/dist/cssm/components/ImageBase/helpers.js.map +1 -1
  766. package/dist/cssm/components/ImageBase/validators.js +3 -4
  767. package/dist/cssm/components/ImageBase/validators.js.map +1 -1
  768. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  769. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  770. package/dist/cssm/components/Input/Input.js +2 -2
  771. package/dist/cssm/components/Input/Input.js.map +1 -1
  772. package/dist/cssm/components/InputLike/InputLike.js +1 -1
  773. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  774. package/dist/cssm/components/InputLike/InputLikeDivider.js +1 -1
  775. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
  776. package/dist/cssm/components/Link/Link.js +1 -1
  777. package/dist/cssm/components/Link/Link.js.map +1 -1
  778. package/dist/cssm/components/List/List.js +1 -1
  779. package/dist/cssm/components/List/List.js.map +1 -1
  780. package/dist/cssm/components/List/ListContext.js.map +1 -1
  781. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
  782. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  783. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  784. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  785. package/dist/cssm/components/ModalCard/ModalCard.js +3 -3
  786. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  787. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +11 -10
  788. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  789. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +4 -5
  790. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
  791. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  792. package/dist/cssm/components/ModalPage/ModalPage.js +4 -4
  793. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  794. package/dist/cssm/components/ModalPage/ModalPage.module.css +5 -1
  795. package/dist/cssm/components/ModalPage/ModalPageContext.js.map +1 -1
  796. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -3
  797. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  798. package/dist/cssm/components/ModalRoot/ModalRoot.js +12 -12
  799. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  800. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +1 -1
  801. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  802. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  803. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +7 -7
  804. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  805. package/dist/cssm/components/ModalRoot/types.d.ts +4 -2
  806. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  807. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  808. package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
  809. package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
  810. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  811. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -2
  812. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  813. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +1 -1
  814. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  815. package/dist/cssm/components/Pagination/Pagination.js +2 -2
  816. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  817. package/dist/cssm/components/Panel/Panel.js +2 -2
  818. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  819. package/dist/cssm/components/PanelHeader/LegacyPanelHeaderContent.js +1 -1
  820. package/dist/cssm/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  821. package/dist/cssm/components/PanelHeader/PanelHeader.js +9 -9
  822. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  823. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -2
  824. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  825. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
  826. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  827. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  828. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  829. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +2 -2
  830. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  831. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  832. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  833. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  834. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  835. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  836. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  837. package/dist/cssm/components/PanelSpinner/PanelSpinner.js +1 -1
  838. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  839. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  840. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  841. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  842. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  843. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +5 -5
  844. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  845. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +2 -2
  846. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  847. package/dist/cssm/components/Popover/Popover.js +3 -3
  848. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  849. package/dist/cssm/components/Popper/Popper.js +3 -3
  850. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  851. package/dist/cssm/components/PopperArrow/PopperArrow.js +1 -1
  852. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
  853. package/dist/cssm/components/Progress/Progress.js +1 -1
  854. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  855. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -1
  856. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  857. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +6 -6
  858. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  859. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
  860. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  861. package/dist/cssm/components/Radio/Radio.js +2 -2
  862. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  863. package/dist/cssm/components/RadioGroup/RadioGroup.js +1 -1
  864. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  865. package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -2
  866. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  867. package/dist/cssm/components/Removable/Removable.js +4 -4
  868. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  869. package/dist/cssm/components/RichCell/RichCell.js +2 -2
  870. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  871. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js +1 -1
  872. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  873. package/dist/cssm/components/RichTooltip/RichTooltip.js +1 -1
  874. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  875. package/dist/cssm/components/Root/Root.d.ts +1 -0
  876. package/dist/cssm/components/Root/Root.js +5 -5
  877. package/dist/cssm/components/Root/Root.js.map +1 -1
  878. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -1
  879. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  880. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +3 -3
  881. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  882. package/dist/cssm/components/Search/Search.js +3 -3
  883. package/dist/cssm/components/Search/Search.js.map +1 -1
  884. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +3 -3
  885. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  886. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +3 -3
  887. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  888. package/dist/cssm/components/Select/Select.js +3 -3
  889. package/dist/cssm/components/Select/Select.js.map +1 -1
  890. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -2
  891. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  892. package/dist/cssm/components/SelectTypography/SelectTypography.js +2 -2
  893. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  894. package/dist/cssm/components/Separator/Separator.js +1 -1
  895. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  896. package/dist/cssm/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  897. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js +12 -0
  898. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  899. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +6 -2
  900. package/dist/cssm/components/SimpleCell/SimpleCell.js +15 -5
  901. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  902. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +5 -6
  903. package/dist/cssm/components/Slider/Slider.js +7 -7
  904. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  905. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +2 -2
  906. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  907. package/dist/cssm/components/Slider/helpers.js.map +1 -1
  908. package/dist/cssm/components/Snackbar/Snackbar.js +4 -4
  909. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  910. package/dist/cssm/components/Spacing/Spacing.js +1 -1
  911. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  912. package/dist/cssm/components/Spinner/Spinner.d.ts +2 -1
  913. package/dist/cssm/components/Spinner/Spinner.js +19 -5
  914. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  915. package/dist/cssm/components/Spinner/Spinner.module.css +0 -19
  916. package/dist/cssm/components/SplitCol/SplitCol.js +3 -3
  917. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  918. package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
  919. package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
  920. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  921. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  922. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  923. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -3
  924. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  925. package/dist/cssm/components/Switch/Switch.js +3 -3
  926. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  927. package/dist/cssm/components/Tabbar/Tabbar.js +1 -1
  928. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  929. package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -2
  930. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  931. package/dist/cssm/components/Tabs/Tabs.js +2 -2
  932. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  933. package/dist/cssm/components/TabsItem/TabsItem.js +3 -3
  934. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  935. package/dist/cssm/components/Tappable/Tappable.js +10 -10
  936. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  937. package/dist/cssm/components/Tappable/Tappable.module.css +2 -0
  938. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  939. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  940. package/dist/cssm/components/Textarea/Textarea.js +2 -2
  941. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  942. package/dist/cssm/components/Tooltip/Tooltip.js +5 -5
  943. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  944. package/dist/cssm/components/Tooltip/TooltipContainer.js +1 -1
  945. package/dist/cssm/components/Tooltip/TooltipContainer.js.map +1 -1
  946. package/dist/cssm/components/Touch/Touch.js +4 -4
  947. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  948. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  949. package/dist/cssm/components/Typography/Caption/Caption.js +1 -1
  950. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  951. package/dist/cssm/components/Typography/Footnote/Footnote.js +1 -1
  952. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  953. package/dist/cssm/components/Typography/Headline/Headline.js +2 -2
  954. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  955. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +1 -1
  956. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  957. package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -2
  958. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  959. package/dist/cssm/components/Typography/Text/Text.js +2 -2
  960. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  961. package/dist/cssm/components/Typography/Title/Title.js +1 -1
  962. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  963. package/dist/cssm/components/Typography/Typography.js +1 -1
  964. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  965. package/dist/cssm/components/UsersStack/UsersStack.js +2 -2
  966. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  967. package/dist/cssm/components/View/View.d.ts +1 -0
  968. package/dist/cssm/components/View/View.js +3 -3
  969. package/dist/cssm/components/View/View.js.map +1 -1
  970. package/dist/cssm/components/View/ViewInfinite.js +2 -2
  971. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  972. package/dist/cssm/components/View/utils.js.map +1 -1
  973. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  974. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  975. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +1 -1
  976. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  977. package/dist/cssm/components/WriteBar/WriteBar.js +1 -1
  978. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  979. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  980. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  981. package/dist/cssm/helpers/appearance.js +1 -1
  982. package/dist/cssm/helpers/appearance.js.map +1 -1
  983. package/dist/cssm/helpers/generateVKUITokensClassName.js.map +1 -1
  984. package/dist/cssm/helpers/math.js.map +1 -1
  985. package/dist/cssm/helpers/range.js.map +1 -1
  986. package/dist/cssm/hoc/withContext.js.map +1 -1
  987. package/dist/cssm/hoc/withPlatform.js +1 -1
  988. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  989. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  990. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  991. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  992. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +1 -1
  993. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  994. package/dist/cssm/hooks/useAdaptivityHasHover.js +1 -1
  995. package/dist/cssm/hooks/useAdaptivityHasHover.js.map +1 -1
  996. package/dist/cssm/hooks/useAdaptivityHasPointer.js +1 -1
  997. package/dist/cssm/hooks/useAdaptivityHasPointer.js.map +1 -1
  998. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js +1 -1
  999. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1000. package/dist/cssm/hooks/useAppearance.js +1 -1
  1001. package/dist/cssm/hooks/useAppearance.js.map +1 -1
  1002. package/dist/cssm/hooks/useAutoDetectAppearance.js +2 -2
  1003. package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
  1004. package/dist/cssm/hooks/useBooleanState.js.map +1 -1
  1005. package/dist/cssm/hooks/useBridgeAdaptivity.js +2 -2
  1006. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -1
  1007. package/dist/cssm/hooks/useCalendar.js +1 -1
  1008. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  1009. package/dist/cssm/hooks/useChipsInput.js +1 -1
  1010. package/dist/cssm/hooks/useChipsInput.js.map +1 -1
  1011. package/dist/cssm/hooks/useChipsSelect.js +2 -2
  1012. package/dist/cssm/hooks/useChipsSelect.js.map +1 -1
  1013. package/dist/cssm/hooks/useDateInput.js +4 -4
  1014. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  1015. package/dist/cssm/hooks/useEffectDev.js.map +1 -1
  1016. package/dist/cssm/hooks/useEnsuredControl.js +2 -2
  1017. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  1018. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  1019. package/dist/cssm/hooks/useExternRef.js.map +1 -1
  1020. package/dist/cssm/hooks/useFocusVisible.js +1 -1
  1021. package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
  1022. package/dist/cssm/hooks/useFocusWithin.js +1 -1
  1023. package/dist/cssm/hooks/useFocusWithin.js.map +1 -1
  1024. package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
  1025. package/dist/cssm/hooks/useId.js.map +1 -1
  1026. package/dist/cssm/hooks/useInsets.js +2 -2
  1027. package/dist/cssm/hooks/useInsets.js.map +1 -1
  1028. package/dist/cssm/hooks/useIsClient.js.map +1 -1
  1029. package/dist/cssm/hooks/useKeyboard.js +2 -2
  1030. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  1031. package/dist/cssm/hooks/useKeyboardInputTracker.js +1 -1
  1032. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  1033. package/dist/cssm/hooks/useMediaQueries.js +1 -1
  1034. package/dist/cssm/hooks/useMediaQueries.js.map +1 -1
  1035. package/dist/cssm/hooks/useObjectMemo.js.map +1 -1
  1036. package/dist/cssm/hooks/useOrientationChange.js +1 -1
  1037. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  1038. package/dist/cssm/hooks/usePagination.js +1 -1
  1039. package/dist/cssm/hooks/usePagination.js.map +1 -1
  1040. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  1041. package/dist/cssm/hooks/usePlatform.js +1 -1
  1042. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  1043. package/dist/cssm/hooks/usePrevious.js.map +1 -1
  1044. package/dist/cssm/hooks/useTimeout.js +1 -1
  1045. package/dist/cssm/hooks/useTimeout.js.map +1 -1
  1046. package/dist/cssm/hooks/useTodayDate.js +1 -1
  1047. package/dist/cssm/hooks/useTodayDate.js.map +1 -1
  1048. package/dist/cssm/hooks/useWaitTransitionFinish.js +1 -1
  1049. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  1050. package/dist/cssm/index.d.ts +3 -1
  1051. package/dist/cssm/index.js +1 -0
  1052. package/dist/cssm/index.js.map +1 -1
  1053. package/dist/cssm/lib/SSR.js +1 -1
  1054. package/dist/cssm/lib/SSR.js.map +1 -1
  1055. package/dist/cssm/lib/accessibility.js +2 -2
  1056. package/dist/cssm/lib/accessibility.js.map +1 -1
  1057. package/dist/cssm/lib/adaptivity/constants.js.map +1 -1
  1058. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  1059. package/dist/cssm/lib/animate.js +1 -1
  1060. package/dist/cssm/lib/animate.js.map +1 -1
  1061. package/dist/cssm/lib/browser.js +1 -1
  1062. package/dist/cssm/lib/browser.js.map +1 -1
  1063. package/dist/cssm/lib/calendar.js.map +1 -1
  1064. package/dist/cssm/lib/callMultiple.js.map +1 -1
  1065. package/dist/cssm/lib/date.js.map +1 -1
  1066. package/dist/cssm/lib/dom.js.map +1 -1
  1067. package/dist/cssm/lib/floating/adapters.js +1 -1
  1068. package/dist/cssm/lib/floating/adapters.js.map +1 -1
  1069. package/dist/cssm/lib/floating/functions.js.map +1 -1
  1070. package/dist/cssm/lib/fx.js.map +1 -1
  1071. package/dist/cssm/lib/getNavId.js.map +1 -1
  1072. package/dist/cssm/lib/isRefObject.js.map +1 -1
  1073. package/dist/cssm/lib/matchMedia.js.map +1 -1
  1074. package/dist/cssm/lib/platform.js.map +1 -1
  1075. package/dist/cssm/lib/removeObjectKeys.js.map +1 -1
  1076. package/dist/cssm/lib/select.js.map +1 -1
  1077. package/dist/cssm/lib/styles.js.map +1 -1
  1078. package/dist/cssm/lib/supportEvents.js.map +1 -1
  1079. package/dist/cssm/lib/taptic.js.map +1 -1
  1080. package/dist/cssm/lib/testing.js.map +1 -1
  1081. package/dist/cssm/lib/tokensClassProvider.js +1 -1
  1082. package/dist/cssm/lib/tokensClassProvider.js.map +1 -1
  1083. package/dist/cssm/lib/touch.js.map +1 -1
  1084. package/dist/cssm/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1085. package/dist/cssm/lib/utils.js.map +1 -1
  1086. package/dist/cssm/lib/warnOnce.js.map +1 -1
  1087. package/dist/cssm/shared/breakpoints.js.map +1 -1
  1088. package/dist/cssm/styles/constants.css +3 -0
  1089. package/dist/cssm/styles/customMedias.generated.css +23 -0
  1090. package/dist/cssm/styles/themes.css +3 -3
  1091. package/dist/helpers/appearance.js.map +1 -1
  1092. package/dist/helpers/generateVKUITokensClassName.js.map +1 -1
  1093. package/dist/helpers/math.js.map +1 -1
  1094. package/dist/helpers/range.js.map +1 -1
  1095. package/dist/hoc/withContext.js.map +1 -1
  1096. package/dist/hooks/useAdaptivity.js.map +1 -1
  1097. package/dist/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  1098. package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  1099. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  1100. package/dist/hooks/useAdaptivityHasHover.js.map +1 -1
  1101. package/dist/hooks/useAdaptivityHasPointer.js.map +1 -1
  1102. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1103. package/dist/hooks/useAutoDetectAppearance.js +2 -1
  1104. package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
  1105. package/dist/hooks/useBooleanState.js.map +1 -1
  1106. package/dist/hooks/useBridgeAdaptivity.js.map +1 -1
  1107. package/dist/hooks/useCalendar.js +6 -3
  1108. package/dist/hooks/useCalendar.js.map +1 -1
  1109. package/dist/hooks/useChipsInput.js +2 -1
  1110. package/dist/hooks/useChipsInput.js.map +1 -1
  1111. package/dist/hooks/useChipsSelect.js.map +1 -1
  1112. package/dist/hooks/useDateInput.js +5 -3
  1113. package/dist/hooks/useDateInput.js.map +1 -1
  1114. package/dist/hooks/useEffectDev.js.map +1 -1
  1115. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1116. package/dist/hooks/useEventListener.js.map +1 -1
  1117. package/dist/hooks/useExternRef.js.map +1 -1
  1118. package/dist/hooks/useFocusVisible.js.map +1 -1
  1119. package/dist/hooks/useFocusWithin.js.map +1 -1
  1120. package/dist/hooks/useGlobalEventListener.js.map +1 -1
  1121. package/dist/hooks/useId.js.map +1 -1
  1122. package/dist/hooks/useInsets.js.map +1 -1
  1123. package/dist/hooks/useIsClient.js.map +1 -1
  1124. package/dist/hooks/useKeyboard.js +4 -4
  1125. package/dist/hooks/useKeyboard.js.map +1 -1
  1126. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  1127. package/dist/hooks/useMediaQueries.js.map +1 -1
  1128. package/dist/hooks/useObjectMemo.js.map +1 -1
  1129. package/dist/hooks/useOrientationChange.js +1 -1
  1130. package/dist/hooks/useOrientationChange.js.map +1 -1
  1131. package/dist/hooks/usePagination.js.map +1 -1
  1132. package/dist/hooks/usePatchChildrenRef.js +2 -1
  1133. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  1134. package/dist/hooks/usePrevious.js.map +1 -1
  1135. package/dist/hooks/useTimeout.js +2 -1
  1136. package/dist/hooks/useTimeout.js.map +1 -1
  1137. package/dist/hooks/useTodayDate.js.map +1 -1
  1138. package/dist/hooks/useWaitTransitionFinish.js +4 -2
  1139. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  1140. package/dist/index.d.ts +3 -1
  1141. package/dist/index.js +1 -0
  1142. package/dist/index.js.map +1 -1
  1143. package/dist/lib/SSR.js.map +1 -1
  1144. package/dist/lib/accessibility.js.map +1 -1
  1145. package/dist/lib/adaptivity/constants.js.map +1 -1
  1146. package/dist/lib/adaptivity/functions.js.map +1 -1
  1147. package/dist/lib/animate.js.map +1 -1
  1148. package/dist/lib/browser.js.map +1 -1
  1149. package/dist/lib/calendar.js.map +1 -1
  1150. package/dist/lib/callMultiple.js.map +1 -1
  1151. package/dist/lib/date.js.map +1 -1
  1152. package/dist/lib/dom.js.map +1 -1
  1153. package/dist/lib/floating/adapters.js.map +1 -1
  1154. package/dist/lib/floating/functions.js.map +1 -1
  1155. package/dist/lib/fx.js.map +1 -1
  1156. package/dist/lib/getNavId.js.map +1 -1
  1157. package/dist/lib/isRefObject.js.map +1 -1
  1158. package/dist/lib/matchMedia.js.map +1 -1
  1159. package/dist/lib/offset.js +6 -5
  1160. package/dist/lib/offset.js.map +1 -1
  1161. package/dist/lib/platform.js.map +1 -1
  1162. package/dist/lib/polyfills.js.map +1 -1
  1163. package/dist/lib/removeObjectKeys.js.map +1 -1
  1164. package/dist/lib/select.js +2 -2
  1165. package/dist/lib/select.js.map +1 -1
  1166. package/dist/lib/styles.js.map +1 -1
  1167. package/dist/lib/supportEvents.js.map +1 -1
  1168. package/dist/lib/taptic.js.map +1 -1
  1169. package/dist/lib/testing.js.map +1 -1
  1170. package/dist/lib/tokensClassProvider.js.map +1 -1
  1171. package/dist/lib/touch.js.map +1 -1
  1172. package/dist/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1173. package/dist/lib/utils.js.map +1 -1
  1174. package/dist/lib/warnOnce.js.map +1 -1
  1175. package/dist/shared/breakpoints.js.map +1 -1
  1176. package/dist/vkui.css +11 -10
  1177. package/dist/vkui.css.map +1 -1
  1178. package/dist/vkui.js.tmp +3108 -2238
  1179. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Slider/SliderThumb/SliderThumb.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport type { HasDataAttribute, HasRootRef } from '../../../types';\nimport { FocusVisible } from '../../FocusVisible/FocusVisible';\nimport styles from './SliderThumb.module.css';\n\ninterface SliderThumbProps extends HasRootRef<HTMLSpanElement>, HasDataAttribute {\n className?: string;\n style?: React.CSSProperties;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> &\n React.RefAttributes<HTMLInputElement> &\n HasDataAttribute;\n}\n\nexport const SliderThumb = ({\n className,\n getRootRef,\n inputProps,\n ...restProps\n}: SliderThumbProps) => {\n const { focusVisible, onBlur, onFocus } = useFocusVisible(false);\n\n return (\n <span\n ref={getRootRef}\n className={classNames(\n styles['SliderThumb'],\n focusVisible && styles['SliderThumb--focused'],\n className,\n )}\n {...restProps}\n >\n <input\n {...inputProps}\n type=\"range\"\n className={styles['SliderThumb__nativeInput']}\n aria-orientation=\"horizontal\"\n onBlur={onBlur}\n onFocus={onFocus}\n />\n <FocusVisible visible={focusVisible} mode=\"outside\" />\n </span>\n );\n};\n"],"names":["SliderThumb","className","getRootRef","inputProps","restProps","useFocusVisible","focusVisible","onBlur","onFocus","span","ref","classNames","input","type","aria-orientation","FocusVisible","visible","mode"],"mappings":";;;;+BAeaA;;;eAAAA;;;;;;;+DAfU;oBACI;+BACK;4BAEH;AAWtB,IAAMA,cAAc;QACzBC,mBAAAA,WACAC,oBAAAA,YACAC,oBAAAA,YACGC;QAHHH;QACAC;QACAC;;IAGA,IAA0CE,oBAAAA,IAAAA,kCAAgB,QAAlDC,eAAkCD,kBAAlCC,cAAcC,SAAoBF,kBAApBE,QAAQC,UAAYH,kBAAZG;IAE9B,qBACE,qBAACC;QACCC,KAAKR;QACLD,WAAWU,IAAAA,qCAETL,4CACAL;OAEEG,0BAEJ,qBAACQ,qDACKT;QACJU,MAAK;QACLZ,SAAS;QACTa,oBAAiB;QACjBP,QAAQA;QACRC,SAASA;uBAEX,qBAACO;QAAaC,SAASV;QAAcW,MAAK;;AAGhD"}
1
+ {"version":3,"sources":["../../../../../src/components/Slider/SliderThumb/SliderThumb.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport type { HasDataAttribute, HasRootRef } from '../../../types';\nimport { FocusVisible } from '../../FocusVisible/FocusVisible';\nimport styles from './SliderThumb.module.css';\n\ninterface SliderThumbProps extends HasRootRef<HTMLSpanElement>, HasDataAttribute {\n className?: string;\n style?: React.CSSProperties;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> &\n React.RefAttributes<HTMLInputElement> &\n HasDataAttribute;\n}\n\nexport const SliderThumb = ({\n className,\n getRootRef,\n inputProps,\n ...restProps\n}: SliderThumbProps) => {\n const { focusVisible, onBlur, onFocus } = useFocusVisible(false);\n\n return (\n <span\n ref={getRootRef}\n className={classNames(\n styles['SliderThumb'],\n focusVisible && styles['SliderThumb--focused'],\n className,\n )}\n {...restProps}\n >\n <input\n {...inputProps}\n type=\"range\"\n className={styles['SliderThumb__nativeInput']}\n aria-orientation=\"horizontal\"\n onBlur={onBlur}\n onFocus={onFocus}\n />\n <FocusVisible visible={focusVisible} mode=\"outside\" />\n </span>\n );\n};\n"],"names":["SliderThumb","className","getRootRef","inputProps","restProps","useFocusVisible","focusVisible","onBlur","onFocus","span","ref","classNames","input","type","aria-orientation","FocusVisible","visible","mode"],"mappings":";;;;+BAeaA;;;eAAAA;;;;;;;+DAfU;oBACI;+BACK;4BAEH;AAWtB,IAAMA,cAAc;QACzBC,mBAAAA,WACAC,oBAAAA,YACAC,oBAAAA,YACGC;QAHHH;QACAC;QACAC;;IAGA,IAA0CE,oBAAAA,IAAAA,gCAAe,EAAC,QAAlDC,eAAkCD,kBAAlCC,cAAcC,SAAoBF,kBAApBE,QAAQC,UAAYH,kBAAZG;IAE9B,qBACE,qBAACC;QACCC,KAAKR;QACLD,WAAWU,IAAAA,gBAAU,qBAEnBL,4CACAL;OAEEG,0BAEJ,qBAACQ,qDACKT;QACJU,MAAK;QACLZ,SAAS;QACTa,oBAAiB;QACjBP,QAAQA;QACRC,SAASA;uBAEX,qBAACO,0BAAY;QAACC,SAASV;QAAcW,MAAK;;AAGhD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Slider/helpers.ts"],"sourcesContent":["import * as React from 'react';\nimport { rescale } from '../../helpers/math';\nimport type { InternalDraggingType, InternalValueState } from './types';\n\nexport const toPercent = (v: number, min: number, max: number) => ((v - min) / (max - min)) * 100;\n\nexport const offsetToValue = (\n startX: number,\n width: number,\n min: number,\n max: number,\n step?: number,\n) => {\n return rescale(startX, [0, width], [min, max], { step });\n};\n\nconst restrictValueByMinMax = (value: number, min: number, max: number) => {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n};\n\nexport const updateInternalStateValue = (\n prevValue: InternalValueState,\n nextValue: number,\n min: number,\n max: number,\n dragging: InternalDraggingType | null,\n): InternalValueState => {\n const [prevStartValue, prevEndValue] = prevValue;\n\n if (prevEndValue === null) {\n return [restrictValueByMinMax(nextValue, min, max), null];\n }\n\n switch (dragging) {\n case 'start':\n return nextValue > prevEndValue\n ? [prevEndValue, prevEndValue]\n : [restrictValueByMinMax(nextValue, min, max), prevEndValue];\n case 'end':\n return nextValue < prevStartValue\n ? [prevStartValue, prevStartValue]\n : [prevStartValue, restrictValueByMinMax(nextValue, min, max)];\n case null:\n default:\n return prevValue;\n }\n};\n\nexport const updateInternalStateValueByNativeChange = (\n prevValue: InternalValueState,\n nextValue: number,\n dragging: InternalDraggingType | null,\n): InternalValueState => {\n const [prevStartValue, prevEndValue] = prevValue;\n switch (dragging) {\n case 'start':\n return [nextValue, prevEndValue];\n case 'end':\n return [prevStartValue, nextValue];\n case null:\n default:\n return prevValue;\n }\n};\n\nexport function isMultipleValues(value: InternalValueState): value is [number, number] {\n return value[1] !== null;\n}\n\nexport const snapDirection = (\n prevValue: InternalValueState,\n nextValue: number,\n type: InternalDraggingType | null,\n) => {\n if (type === 'start') {\n return 'start';\n }\n if (type === 'end') {\n return 'end';\n }\n\n const [startRaw, endRaw] = prevValue;\n /* startRaw и endRaw могут быть равны, поэтому насильно добавляем разницу. */\n const FORCE_DIFF_VALUE = 0.1;\n const start = endRaw !== null ? startRaw - FORCE_DIFF_VALUE : startRaw;\n const end = endRaw !== null ? endRaw + FORCE_DIFF_VALUE : 0;\n return Math.abs(start - nextValue) <= Math.abs(end - nextValue) ? 'start' : 'end';\n};\n\nexport const getDraggingTypeByTargetDataset = <T extends (EventTarget & HTMLElement) | null>(\n target: T,\n) => {\n if (target) {\n if (target.dataset.type === 'start') {\n return 'start';\n }\n if (target.dataset.type === 'end') {\n return 'end';\n }\n }\n return null;\n};\n\nconst resetProps = {\n 'aria-label': undefined,\n 'aria-valuetext': undefined,\n 'aria-labelledby': undefined,\n};\n\nexport const extractSliderAriaAttributesFromRestProps = <T extends React.AriaAttributes>(\n restProps: T,\n) => {\n const ariaLabel = restProps['aria-label'];\n const ariaValueText = restProps['aria-valuetext'];\n const ariaLabelledBy = restProps['aria-labelledby'];\n return { ...restProps, ...resetProps, ariaLabel, ariaValueText, ariaLabelledBy };\n};\n"],"names":["toPercent","offsetToValue","updateInternalStateValue","updateInternalStateValueByNativeChange","isMultipleValues","snapDirection","getDraggingTypeByTargetDataset","extractSliderAriaAttributesFromRestProps","v","min","max","startX","width","step","rescale","restrictValueByMinMax","value","prevValue","nextValue","dragging","prevStartValue","prevEndValue","type","startRaw","endRaw","FORCE_DIFF_VALUE","start","end","Math","abs","target","dataset","resetProps","undefined","restProps","ariaLabel","ariaValueText","ariaLabelledBy"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Slider/helpers.ts"],"sourcesContent":["import * as React from 'react';\nimport { rescale } from '../../helpers/math';\nimport type { InternalDraggingType, InternalValueState } from './types';\n\nexport const toPercent = (v: number, min: number, max: number) => ((v - min) / (max - min)) * 100;\n\nexport const offsetToValue = (\n startX: number,\n width: number,\n min: number,\n max: number,\n step?: number,\n) => {\n return rescale(startX, [0, width], [min, max], { step });\n};\n\nconst restrictValueByMinMax = (value: number, min: number, max: number) => {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n};\n\nexport const updateInternalStateValue = (\n prevValue: InternalValueState,\n nextValue: number,\n min: number,\n max: number,\n dragging: InternalDraggingType | null,\n): InternalValueState => {\n const [prevStartValue, prevEndValue] = prevValue;\n\n if (prevEndValue === null) {\n return [restrictValueByMinMax(nextValue, min, max), null];\n }\n\n switch (dragging) {\n case 'start':\n return nextValue > prevEndValue\n ? [prevEndValue, prevEndValue]\n : [restrictValueByMinMax(nextValue, min, max), prevEndValue];\n case 'end':\n return nextValue < prevStartValue\n ? [prevStartValue, prevStartValue]\n : [prevStartValue, restrictValueByMinMax(nextValue, min, max)];\n case null:\n default:\n return prevValue;\n }\n};\n\nexport const updateInternalStateValueByNativeChange = (\n prevValue: InternalValueState,\n nextValue: number,\n dragging: InternalDraggingType | null,\n): InternalValueState => {\n const [prevStartValue, prevEndValue] = prevValue;\n switch (dragging) {\n case 'start':\n return [nextValue, prevEndValue];\n case 'end':\n return [prevStartValue, nextValue];\n case null:\n default:\n return prevValue;\n }\n};\n\nexport function isMultipleValues(value: InternalValueState): value is [number, number] {\n return value[1] !== null;\n}\n\nexport const snapDirection = (\n prevValue: InternalValueState,\n nextValue: number,\n type: InternalDraggingType | null,\n) => {\n if (type === 'start') {\n return 'start';\n }\n if (type === 'end') {\n return 'end';\n }\n\n const [startRaw, endRaw] = prevValue;\n /* startRaw и endRaw могут быть равны, поэтому насильно добавляем разницу. */\n const FORCE_DIFF_VALUE = 0.1;\n const start = endRaw !== null ? startRaw - FORCE_DIFF_VALUE : startRaw;\n const end = endRaw !== null ? endRaw + FORCE_DIFF_VALUE : 0;\n return Math.abs(start - nextValue) <= Math.abs(end - nextValue) ? 'start' : 'end';\n};\n\nexport const getDraggingTypeByTargetDataset = <T extends (EventTarget & HTMLElement) | null>(\n target: T,\n) => {\n if (target) {\n if (target.dataset.type === 'start') {\n return 'start';\n }\n if (target.dataset.type === 'end') {\n return 'end';\n }\n }\n return null;\n};\n\nconst resetProps = {\n 'aria-label': undefined,\n 'aria-valuetext': undefined,\n 'aria-labelledby': undefined,\n};\n\nexport const extractSliderAriaAttributesFromRestProps = <T extends React.AriaAttributes>(\n restProps: T,\n) => {\n const ariaLabel = restProps['aria-label'];\n const ariaValueText = restProps['aria-valuetext'];\n const ariaLabelledBy = restProps['aria-labelledby'];\n return { ...restProps, ...resetProps, ariaLabel, ariaValueText, ariaLabelledBy };\n};\n"],"names":["toPercent","offsetToValue","updateInternalStateValue","updateInternalStateValueByNativeChange","isMultipleValues","snapDirection","getDraggingTypeByTargetDataset","extractSliderAriaAttributesFromRestProps","v","min","max","startX","width","step","rescale","restrictValueByMinMax","value","prevValue","nextValue","dragging","prevStartValue","prevEndValue","type","startRaw","endRaw","FORCE_DIFF_VALUE","start","end","Math","abs","target","dataset","resetProps","undefined","restProps","ariaLabel","ariaValueText","ariaLabelledBy"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Snackbar/Snackbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useWaitTransitionFinish } from '../../hooks/useWaitTransitionFinish';\nimport { ViewWidth } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { rubber } from '../../lib/touch';\nimport { AppRootPortal } from '../AppRoot/AppRootPortal';\nimport { Button } from '../Button/Button';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { Paragraph } from '../Typography/Paragraph/Paragraph';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './Snackbar.module.css';\n\nexport interface SnackbarProps extends React.HTMLAttributes<HTMLElement> {\n /**\n * Название кнопки действия в уведомлении\n * Не может использоваться одновременно с `subtitle`\n */\n action?: React.ReactNode;\n\n /**\n * Будет вызвано при клике на кнопку действия\n */\n onActionClick?: (e: React.MouseEvent) => void;\n\n /**\n * Может быть следующими компонентами:\n * - цветная иконка 24x24 или 28x28 пикселя\n * - `<Avatar size={32} />`\n * - `<Image size={40} />`\n */\n before?: React.ReactNode;\n /**\n * Контент в правой части, может быть иконкой 24x24\n */\n after?: React.ReactNode;\n /**\n * Варианты расположения кнопки действия\n * Игнорируется на десктопах и при наличии элементов `after` или `subtitle`\n */\n layout?: 'vertical' | 'horizontal';\n /**\n * Время в миллисекундах, через которое плашка скроется\n */\n duration?: number;\n /**\n * Обработчик закрытия уведомления\n */\n onClose: () => void;\n /**\n * Задает стиль снекбара\n */\n mode?: 'default' | 'dark';\n /**\n * Дополнительная строка текста под `children`.\n * Не может использоваться одновременно с `action`\n */\n subtitle?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Snackbar\n */\nexport const Snackbar = ({\n children,\n layout: layoutProps = 'horizontal',\n action,\n before,\n after,\n duration = 4000,\n onActionClick,\n onClose,\n mode = 'default',\n className,\n subtitle,\n ...restProps\n}: SnackbarProps) => {\n const platform = usePlatform();\n const { viewWidth } = useAdaptivityWithJSMediaQueries();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n const [touched, setTouched] = React.useState(false);\n\n const shiftXPercentRef = React.useRef<number>(0);\n const shiftXCurrentRef = React.useRef<number>(0);\n\n const bodyElRef = React.useRef<HTMLDivElement | null>(null);\n const innerElRef = React.useRef<HTMLDivElement | null>(null);\n\n const animationFrameRef = React.useRef<ReturnType<typeof requestAnimationFrame> | null>(null);\n\n const transitionFinishDurationFallback = platform === Platform.IOS ? 320 : 400;\n\n const close = () => {\n setClosing(true);\n waitTransitionFinish(\n innerElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback,\n );\n };\n\n const handleActionClick: React.MouseEventHandler<HTMLElement> = (e) => {\n close();\n\n if (action && typeof onActionClick === 'function') {\n onActionClick(e);\n }\n };\n\n const closeTimeout = useTimeout(close, duration);\n\n const setBodyTransform = (percent: number) => {\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n animationFrameRef.current = requestAnimationFrame(() => {\n if (bodyElRef.current) {\n bodyElRef.current.style.transform = `translate3d(${percent}%, 0, 0)`;\n }\n });\n };\n\n const onTouchStart = closeTimeout.clear;\n\n const onTouchMoveX = (event: TouchEvent) => {\n const { shiftX, originalEvent } = event;\n originalEvent.preventDefault();\n\n if (!touched) {\n setTouched(true);\n }\n\n shiftXPercentRef.current = (shiftX / (bodyElRef.current?.offsetWidth ?? 0)) * 100;\n shiftXCurrentRef.current = rubber(shiftXPercentRef.current, 72, 1.2, platform !== Platform.IOS);\n\n setBodyTransform(shiftXCurrentRef.current);\n };\n\n const onTouchEnd = (e: TouchEvent) => {\n let callback: VoidFunction | undefined;\n\n if (touched) {\n let shiftXCurrent = shiftXCurrentRef.current;\n const expectTranslateY = (shiftXCurrent / e.duration) * 240 * 0.6;\n shiftXCurrent = shiftXCurrent + expectTranslateY;\n\n if (isDesktop && shiftXCurrent <= -50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback,\n );\n setBodyTransform(-120);\n } else if (!isDesktop && shiftXCurrent >= 50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback,\n );\n setBodyTransform(120);\n } else {\n callback = () => {\n closeTimeout.set();\n setBodyTransform(0);\n };\n }\n } else {\n closeTimeout.set();\n }\n\n setTouched(false);\n callback && requestAnimationFrame(callback);\n };\n\n React.useEffect(() => closeTimeout.set(), [closeTimeout]);\n\n const layout = after || isDesktop || subtitle ? 'vertical' : layoutProps;\n\n return (\n <AppRootPortal>\n <div\n {...restProps}\n className={classNames(\n styles['Snackbar'],\n platform === Platform.IOS && styles['Snackbar--ios'],\n {\n vertical: styles['Snackbar--layout-vertical'],\n horizontal: styles['Snackbar--layout-horizontal'],\n }[layout],\n mode === 'dark' && styles['Snackbar--mode-dark'],\n closing && styles['Snackbar--closing'],\n touched && styles['Snackbar--touched'],\n isDesktop && styles['Snackbar--desktop'],\n className,\n )}\n >\n <Touch\n className={styles['Snackbar__in']}\n getRootRef={innerElRef}\n onStart={onTouchStart}\n onMoveX={onTouchMoveX}\n onEnd={onTouchEnd}\n >\n <div className={styles['Snackbar__body']} ref={bodyElRef}>\n {before && <div className={styles['Snackbar__before']}>{before}</div>}\n\n <div className={styles['Snackbar__content']}>\n <Paragraph className={styles['Snackbar__content-text']}>{children}</Paragraph>\n {subtitle && !action && (\n <Subhead className={styles['Snackbar__content-subtitle']}>{subtitle}</Subhead>\n )}\n\n {action && !subtitle && (\n <Button\n align=\"left\"\n mode=\"link\"\n appearance={mode === 'dark' ? 'overlay' : 'accent'}\n size=\"s\"\n className={styles['Snackbar__action']}\n onClick={handleActionClick}\n >\n {action}\n </Button>\n )}\n </div>\n\n {after && <div className={styles['Snackbar__after']}>{after}</div>}\n </div>\n </Touch>\n </div>\n </AppRootPortal>\n );\n};\n"],"names":["Snackbar","children","layoutProps","layout","action","before","after","duration","onActionClick","onClose","mode","className","subtitle","restProps","platform","usePlatform","viewWidth","useAdaptivityWithJSMediaQueries","isDesktop","ViewWidth","SMALL_TABLET","waitTransitionFinish","useWaitTransitionFinish","React","useState","closing","setClosing","touched","setTouched","shiftXPercentRef","useRef","shiftXCurrentRef","bodyElRef","innerElRef","animationFrameRef","transitionFinishDurationFallback","Platform","IOS","close","current","handleActionClick","e","closeTimeout","useTimeout","setBodyTransform","percent","cancelAnimationFrame","requestAnimationFrame","style","transform","onTouchStart","clear","onTouchMoveX","event","shiftX","originalEvent","preventDefault","offsetWidth","rubber","onTouchEnd","callback","shiftXCurrent","expectTranslateY","set","useEffect","AppRootPortal","div","classNames","vertical","horizontal","Touch","getRootRef","onStart","onMoveX","onEnd","ref","Paragraph","Subhead","Button","align","appearance","size","onClick"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Snackbar/Snackbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useWaitTransitionFinish } from '../../hooks/useWaitTransitionFinish';\nimport { ViewWidth } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { rubber } from '../../lib/touch';\nimport { AppRootPortal } from '../AppRoot/AppRootPortal';\nimport { Button } from '../Button/Button';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { Paragraph } from '../Typography/Paragraph/Paragraph';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './Snackbar.module.css';\n\nexport interface SnackbarProps extends React.HTMLAttributes<HTMLElement> {\n /**\n * Название кнопки действия в уведомлении\n * Не может использоваться одновременно с `subtitle`\n */\n action?: React.ReactNode;\n\n /**\n * Будет вызвано при клике на кнопку действия\n */\n onActionClick?: (e: React.MouseEvent) => void;\n\n /**\n * Может быть следующими компонентами:\n * - цветная иконка 24x24 или 28x28 пикселя\n * - `<Avatar size={32} />`\n * - `<Image size={40} />`\n */\n before?: React.ReactNode;\n /**\n * Контент в правой части, может быть иконкой 24x24\n */\n after?: React.ReactNode;\n /**\n * Варианты расположения кнопки действия\n * Игнорируется на десктопах и при наличии элементов `after` или `subtitle`\n */\n layout?: 'vertical' | 'horizontal';\n /**\n * Время в миллисекундах, через которое плашка скроется\n */\n duration?: number;\n /**\n * Обработчик закрытия уведомления\n */\n onClose: () => void;\n /**\n * Задает стиль снекбара\n */\n mode?: 'default' | 'dark';\n /**\n * Дополнительная строка текста под `children`.\n * Не может использоваться одновременно с `action`\n */\n subtitle?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Snackbar\n */\nexport const Snackbar = ({\n children,\n layout: layoutProps = 'horizontal',\n action,\n before,\n after,\n duration = 4000,\n onActionClick,\n onClose,\n mode = 'default',\n className,\n subtitle,\n ...restProps\n}: SnackbarProps) => {\n const platform = usePlatform();\n const { viewWidth } = useAdaptivityWithJSMediaQueries();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n const [touched, setTouched] = React.useState(false);\n\n const shiftXPercentRef = React.useRef<number>(0);\n const shiftXCurrentRef = React.useRef<number>(0);\n\n const bodyElRef = React.useRef<HTMLDivElement | null>(null);\n const innerElRef = React.useRef<HTMLDivElement | null>(null);\n\n const animationFrameRef = React.useRef<ReturnType<typeof requestAnimationFrame> | null>(null);\n\n const transitionFinishDurationFallback = platform === Platform.IOS ? 320 : 400;\n\n const close = () => {\n setClosing(true);\n waitTransitionFinish(\n innerElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback,\n );\n };\n\n const handleActionClick: React.MouseEventHandler<HTMLElement> = (e) => {\n close();\n\n if (action && typeof onActionClick === 'function') {\n onActionClick(e);\n }\n };\n\n const closeTimeout = useTimeout(close, duration);\n\n const setBodyTransform = (percent: number) => {\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n animationFrameRef.current = requestAnimationFrame(() => {\n if (bodyElRef.current) {\n bodyElRef.current.style.transform = `translate3d(${percent}%, 0, 0)`;\n }\n });\n };\n\n const onTouchStart = closeTimeout.clear;\n\n const onTouchMoveX = (event: TouchEvent) => {\n const { shiftX, originalEvent } = event;\n originalEvent.preventDefault();\n\n if (!touched) {\n setTouched(true);\n }\n\n shiftXPercentRef.current = (shiftX / (bodyElRef.current?.offsetWidth ?? 0)) * 100;\n shiftXCurrentRef.current = rubber(shiftXPercentRef.current, 72, 1.2, platform !== Platform.IOS);\n\n setBodyTransform(shiftXCurrentRef.current);\n };\n\n const onTouchEnd = (e: TouchEvent) => {\n let callback: VoidFunction | undefined;\n\n if (touched) {\n let shiftXCurrent = shiftXCurrentRef.current;\n const expectTranslateY = (shiftXCurrent / e.duration) * 240 * 0.6;\n shiftXCurrent = shiftXCurrent + expectTranslateY;\n\n if (isDesktop && shiftXCurrent <= -50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback,\n );\n setBodyTransform(-120);\n } else if (!isDesktop && shiftXCurrent >= 50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback,\n );\n setBodyTransform(120);\n } else {\n callback = () => {\n closeTimeout.set();\n setBodyTransform(0);\n };\n }\n } else {\n closeTimeout.set();\n }\n\n setTouched(false);\n callback && requestAnimationFrame(callback);\n };\n\n React.useEffect(() => closeTimeout.set(), [closeTimeout]);\n\n const layout = after || isDesktop || subtitle ? 'vertical' : layoutProps;\n\n return (\n <AppRootPortal>\n <div\n {...restProps}\n className={classNames(\n styles['Snackbar'],\n platform === Platform.IOS && styles['Snackbar--ios'],\n {\n vertical: styles['Snackbar--layout-vertical'],\n horizontal: styles['Snackbar--layout-horizontal'],\n }[layout],\n mode === 'dark' && styles['Snackbar--mode-dark'],\n closing && styles['Snackbar--closing'],\n touched && styles['Snackbar--touched'],\n isDesktop && styles['Snackbar--desktop'],\n className,\n )}\n >\n <Touch\n className={styles['Snackbar__in']}\n getRootRef={innerElRef}\n onStart={onTouchStart}\n onMoveX={onTouchMoveX}\n onEnd={onTouchEnd}\n >\n <div className={styles['Snackbar__body']} ref={bodyElRef}>\n {before && <div className={styles['Snackbar__before']}>{before}</div>}\n\n <div className={styles['Snackbar__content']}>\n <Paragraph className={styles['Snackbar__content-text']}>{children}</Paragraph>\n {subtitle && !action && (\n <Subhead className={styles['Snackbar__content-subtitle']}>{subtitle}</Subhead>\n )}\n\n {action && !subtitle && (\n <Button\n align=\"left\"\n mode=\"link\"\n appearance={mode === 'dark' ? 'overlay' : 'accent'}\n size=\"s\"\n className={styles['Snackbar__action']}\n onClick={handleActionClick}\n >\n {action}\n </Button>\n )}\n </div>\n\n {after && <div className={styles['Snackbar__after']}>{after}</div>}\n </div>\n </Touch>\n </div>\n </AppRootPortal>\n );\n};\n"],"names":["Snackbar","children","layoutProps","layout","action","before","after","duration","onActionClick","onClose","mode","className","subtitle","restProps","platform","usePlatform","viewWidth","useAdaptivityWithJSMediaQueries","isDesktop","ViewWidth","SMALL_TABLET","waitTransitionFinish","useWaitTransitionFinish","React","useState","closing","setClosing","touched","setTouched","shiftXPercentRef","useRef","shiftXCurrentRef","bodyElRef","innerElRef","animationFrameRef","transitionFinishDurationFallback","Platform","IOS","close","current","handleActionClick","e","closeTimeout","useTimeout","setBodyTransform","percent","cancelAnimationFrame","requestAnimationFrame","style","transform","onTouchStart","clear","onTouchMoveX","event","shiftX","originalEvent","preventDefault","offsetWidth","rubber","onTouchEnd","callback","shiftXCurrent","expectTranslateY","set","useEffect","AppRootPortal","div","classNames","vertical","horizontal","Touch","getRootRef","onStart","onMoveX","onEnd","ref","Paragraph","Subhead","Button","align","appearance","size","onClick"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Spacing/Spacing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasChildren } from '../../types';\nimport styles from './Spacing.module.css';\n\nexport interface SpacingProps extends React.HTMLAttributes<HTMLDivElement>, HasChildren {\n /**\n * Высота спэйсинга\n */\n size?: number;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Spacing\n */\nexport const Spacing = ({ size = 8, style: styleProp, className, ...restProps }: SpacingProps) => {\n const style: React.CSSProperties = {\n height: size,\n padding: `${size / 2}px 0`,\n ...styleProp,\n };\n\n return <div {...restProps} className={classNames(className, styles['Spacing'])} style={style} />;\n};\n"],"names":["Spacing","size","style","styleProp","className","restProps","height","padding","div","classNames"],"mappings":";;;;+BAeaA;;;eAAAA;;;;;;;+DAfU;oBACI;AAcpB,IAAMA,UAAU;6BAAGC,MAAAA,gCAAO,iBAAGC,AAAOC,mBAAPD,OAAkBE,mBAAAA,WAAcC;QAA1CJ;QAAUC;QAAkBE;;IACpD,IAAMF,QAA6B;QACjCI,QAAQL;QACRM,SAAS,AAAC,GAAW,OAATN,OAAO,GAAE;OAClBE;IAGL,qBAAO,qBAACK,mDAAQH;QAAWD,WAAWK,IAAAA,kBAAWL;QAA+BF,OAAOA;;AACzF"}
1
+ {"version":3,"sources":["../../../../src/components/Spacing/Spacing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasChildren } from '../../types';\nimport styles from './Spacing.module.css';\n\nexport interface SpacingProps extends React.HTMLAttributes<HTMLDivElement>, HasChildren {\n /**\n * Высота спэйсинга\n */\n size?: number;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Spacing\n */\nexport const Spacing = ({ size = 8, style: styleProp, className, ...restProps }: SpacingProps) => {\n const style: React.CSSProperties = {\n height: size,\n padding: `${size / 2}px 0`,\n ...styleProp,\n };\n\n return <div {...restProps} className={classNames(className, styles['Spacing'])} style={style} />;\n};\n"],"names":["Spacing","size","style","styleProp","className","restProps","height","padding","div","classNames"],"mappings":";;;;+BAeaA;;;eAAAA;;;;;;;+DAfU;oBACI;AAcpB,IAAMA,UAAU;6BAAGC,MAAAA,gCAAO,iBAAGC,AAAOC,mBAAPD,OAAkBE,mBAAAA,WAAcC;QAA1CJ;QAAUC;QAAkBE;;IACpD,IAAMF,QAA6B;QACjCI,QAAQL;QACRM,SAAS,AAAC,GAAW,OAATN,OAAO,GAAE;OAClBE;IAGL,qBAAO,qBAACK,mDAAQH;QAAWD,WAAWK,IAAAA,gBAAU,EAACL;QAA+BF,OAAOA;;AACzF"}
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
2
  export interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {
3
3
  size?: 'small' | 'regular' | 'medium' | 'large';
4
+ disableAnimation?: boolean;
4
5
  }
5
6
  /**
6
7
  * @see https://vkcom.github.io/VKUI/#/Spinner
7
8
  */
8
- export declare const Spinner: React.MemoExoticComponent<({ size, children, "aria-label": ariaLabel, className, ...restProps }: SpinnerProps) => React.JSX.Element>;
9
+ export declare const Spinner: React.MemoExoticComponent<({ size, children, "aria-label": ariaLabel, disableAnimation, className, ...restProps }: SpinnerProps) => React.JSX.Element>;
@@ -20,10 +20,11 @@ var _VisuallyHidden = require("../VisuallyHidden/VisuallyHidden");
20
20
  var warn = (0, _warnOnce.warnOnce)("Spinner");
21
21
  var Spinner = /*#__PURE__*/ _react.memo(function(_param) {
22
22
  var _param_size = _param.size, size = _param_size === void 0 ? "regular" : _param_size, _param_children = _param.children, children = _param_children === void 0 ? "Загружается..." : _param_children, tmp = _param[// TODO [>=6]: Удалить автоматическое приведение aria-label
23
- "aria-label"], ariaLabel = tmp === void 0 ? "Загружается..." : tmp, className = _param.className, restProps = _object_without_properties._(_param, [
23
+ "aria-label"], ariaLabel = tmp === void 0 ? "Загружается..." : tmp, disableAnimation = _param.disableAnimation, className = _param.className, restProps = _object_without_properties._(_param, [
24
24
  "size",
25
25
  "children",
26
26
  "aria-label",
27
+ "disableAnimation",
27
28
  "className"
28
29
  ]);
29
30
  var SpinnerIcon = {
@@ -32,6 +33,12 @@ var Spinner = /*#__PURE__*/ _react.memo(function(_param) {
32
33
  medium: _icons.Icon32Spinner,
33
34
  large: _icons.Icon44Spinner
34
35
  }[size];
36
+ var center = {
37
+ small: 8,
38
+ regular: 12,
39
+ medium: 16,
40
+ large: 22
41
+ }[size];
35
42
  // TODO [>=6]: Удалить варнинг
36
43
  if (process.env.NODE_ENV === "development") {
37
44
  if (ariaLabel && !children) {
@@ -42,9 +49,17 @@ var Spinner = /*#__PURE__*/ _react.memo(function(_param) {
42
49
  role: "status"
43
50
  }, restProps), {
44
51
  className: (0, _vkjs.classNames)("vkuiSpinner", className)
45
- }), /*#__PURE__*/ _react.createElement(SpinnerIcon, {
46
- className: "vkuiSpinner__self"
47
- }), /*#__PURE__*/ _react.createElement(_VisuallyHidden.VisuallyHidden, null, children !== null && children !== void 0 ? children : ariaLabel));
52
+ }), /*#__PURE__*/ _react.createElement(SpinnerIcon, null, !disableAnimation && // TODO [a11y]: use reduced motion hook?
53
+ // https://github.com/VKCOM/VKUI/pull/4673
54
+ /*#__PURE__*/ _react.createElement("animateTransform", {
55
+ attributeName: "transform",
56
+ attributeType: "XML",
57
+ type: "rotate",
58
+ from: "0 ".concat(center, " ").concat(center),
59
+ to: "360 ".concat(center, " ").concat(center),
60
+ dur: "0.7s",
61
+ repeatCount: "indefinite"
62
+ })), /*#__PURE__*/ _react.createElement(_VisuallyHidden.VisuallyHidden, null, children !== null && children !== void 0 ? children : ariaLabel));
48
63
  });
49
64
  Spinner.displayName = "Spinner";
50
65
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Spinner, Icon24Spinner, Icon32Spinner, Icon44Spinner } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Spinner.module.css';\n\nexport interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {\n size?: 'small' | 'regular' | 'medium' | 'large';\n}\n\nconst warn = warnOnce('Spinner');\n/**\n * @see https://vkcom.github.io/VKUI/#/Spinner\n */\nexport const Spinner = React.memo(\n ({\n size = 'regular',\n children = 'Загружается...',\n // TODO [>=6]: Удалить автоматическое приведение aria-label\n 'aria-label': ariaLabel = 'Загружается...',\n className,\n ...restProps\n }: SpinnerProps) => {\n const SpinnerIcon = {\n small: Icon16Spinner,\n regular: Icon24Spinner,\n medium: Icon32Spinner,\n large: Icon44Spinner,\n }[size];\n\n // TODO [>=6]: Удалить варнинг\n if (process.env.NODE_ENV === 'development') {\n if (ariaLabel && !children) {\n warn(\n 'a11y: Пожалуйста, передавайте ваш текст для ассистивных технологий в children вместо aria-label.',\n );\n }\n }\n\n return (\n <span role=\"status\" {...restProps} className={classNames(styles['Spinner'], className)}>\n <SpinnerIcon className={styles['Spinner__self']} />\n <VisuallyHidden>{children ?? ariaLabel}</VisuallyHidden>\n </span>\n );\n },\n);\n\nSpinner.displayName = 'Spinner';\n"],"names":["Spinner","warn","warnOnce","React","memo","size","children","ariaLabel","className","restProps","SpinnerIcon","small","Icon16Spinner","regular","Icon24Spinner","medium","Icon32Spinner","large","Icon44Spinner","process","env","NODE_ENV","span","role","classNames","VisuallyHidden","displayName"],"mappings":";;;;+BAeaA;;;eAAAA;;;;;;;+DAfU;qBACoD;oBAChD;wBACF;8BACM;AAO/B,IAAMC,OAAOC,IAAAA,oBAAS;AAIf,IAAMF,wBAAUG,OAAMC,KAC3B;6BACEC,MAAAA,gCAAO,kDACPC,UAAAA,wCAAW,oCAEGC,aADd,2DAA2D;IAC3D,eAAcA,YAAAA,iBAAY,mBAAZA,KACdC,mBAAAA,WACGC;QALHJ;QACAC;QAEA;QACAE;;IAGA,IAAME,cAAc;QAClBC,OAAOC;QACPC,SAASC;QACTC,QAAQC;QACRC,OAAOC;IACT,CAAC,CAACb,KAAK;IAEP,8BAA8B;IAC9B,IAAIc,QAAQC,IAAIC,aAAa,eAAe;QAC1C,IAAId,aAAa,CAACD,UAAU;YAC1BL,KACE;QAEJ;IACF;IAEA,qBACE,qBAACqB;QAAKC,MAAK;OAAad;QAAWD,WAAWgB,IAAAA,iCAA8BhB;sBAC1E,qBAACE;QAAYF,SAAS;sBACtB,qBAACiB,sCAAgBnB,qBAAAA,sBAAAA,WAAYC;AAGnC;AAGFP,QAAQ0B,cAAc"}
1
+ {"version":3,"sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Spinner, Icon24Spinner, Icon32Spinner, Icon44Spinner } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Spinner.module.css';\n\nexport interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {\n size?: 'small' | 'regular' | 'medium' | 'large';\n disableAnimation?: boolean;\n}\n\nconst warn = warnOnce('Spinner');\n/**\n * @see https://vkcom.github.io/VKUI/#/Spinner\n */\nexport const Spinner = React.memo(\n ({\n size = 'regular',\n children = 'Загружается...',\n // TODO [>=6]: Удалить автоматическое приведение aria-label\n 'aria-label': ariaLabel = 'Загружается...',\n disableAnimation,\n className,\n ...restProps\n }: SpinnerProps) => {\n const SpinnerIcon = {\n small: Icon16Spinner,\n regular: Icon24Spinner,\n medium: Icon32Spinner,\n large: Icon44Spinner,\n }[size];\n\n const center = {\n small: 8,\n regular: 12,\n medium: 16,\n large: 22,\n }[size];\n\n // TODO [>=6]: Удалить варнинг\n if (process.env.NODE_ENV === 'development') {\n if (ariaLabel && !children) {\n warn(\n 'a11y: Пожалуйста, передавайте ваш текст для ассистивных технологий в children вместо aria-label.',\n );\n }\n }\n\n return (\n <span role=\"status\" {...restProps} className={classNames(styles['Spinner'], className)}>\n <SpinnerIcon>\n {!disableAnimation && (\n // TODO [a11y]: use reduced motion hook?\n // https://github.com/VKCOM/VKUI/pull/4673\n <animateTransform\n attributeName=\"transform\"\n attributeType=\"XML\"\n type=\"rotate\"\n from={`0 ${center} ${center}`}\n to={`360 ${center} ${center}`}\n dur=\"0.7s\"\n repeatCount=\"indefinite\"\n />\n )}\n </SpinnerIcon>\n <VisuallyHidden>{children ?? ariaLabel}</VisuallyHidden>\n </span>\n );\n },\n);\n\nSpinner.displayName = 'Spinner';\n"],"names":["Spinner","warn","warnOnce","React","memo","size","children","ariaLabel","disableAnimation","className","restProps","SpinnerIcon","small","Icon16Spinner","regular","Icon24Spinner","medium","Icon32Spinner","large","Icon44Spinner","center","process","env","NODE_ENV","span","role","classNames","animateTransform","attributeName","attributeType","type","from","to","dur","repeatCount","VisuallyHidden","displayName"],"mappings":";;;;+BAgBaA;;;eAAAA;;;;;;;+DAhBU;qBACoD;oBAChD;wBACF;8BACM;AAQ/B,IAAMC,OAAOC,IAAAA,kBAAQ,EAAC;AAIf,IAAMF,wBAAUG,OAAMC,IAAI,CAC/B;6BACEC,MAAAA,gCAAO,kDACPC,UAAAA,wCAAW,oCAEGC,aADd,2DAA2D;IAC3D,eAAcA,YAAAA,iBAAY,mBAAZA,KACdC,0BAAAA,kBACAC,mBAAAA,WACGC;QANHL;QACAC;QAEA;QACAE;QACAC;;IAGA,IAAME,cAAc;QAClBC,OAAOC,oBAAa;QACpBC,SAASC,oBAAa;QACtBC,QAAQC,oBAAa;QACrBC,OAAOC,oBAAa;IACtB,CAAC,CAACd,KAAK;IAEP,IAAMe,SAAS;QACbR,OAAO;QACPE,SAAS;QACTE,QAAQ;QACRE,OAAO;IACT,CAAC,CAACb,KAAK;IAEP,8BAA8B;IAC9B,IAAIgB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,IAAIhB,aAAa,CAACD,UAAU;YAC1BL,KACE;QAEJ;IACF;IAEA,qBACE,qBAACuB;QAAKC,MAAK;OAAaf;QAAWD,WAAWiB,IAAAA,gBAAU,iBAAoBjB;sBAC1E,qBAACE,mBACE,CAACH,oBACA,wCAAwC;IACxC,uDAAuD;kBACvD,qBAACmB;QACCC,eAAc;QACdC,eAAc;QACdC,MAAK;QACLC,MAAM,AAAC,KAAcX,OAAVA,QAAO,KAAU,OAAPA;QACrBY,IAAI,AAAC,OAAgBZ,OAAVA,QAAO,KAAU,OAAPA;QACrBa,KAAI;QACJC,aAAY;uBAIlB,qBAACC,8BAAc,QAAE7B,qBAAAA,sBAAAA,WAAYC;AAGnC;AAGFP,QAAQoC,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SplitCol/SplitCol.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { ViewWidth, viewWidthToClassName } from '../../lib/adaptivity';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../../lib/matchMedia';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { SplitColContext } from './SplitColContext';\nimport styles from './SplitCol.module.css';\n\nconst breakpointClassNames = {\n none: classNames(styles['SplitCol--viewWidth-none'], 'vkuiInternalSplitCol--viewWidth-none'),\n tabletMinus: styles['SplitCol--viewWidth-tabletMinus'],\n smallTabletPlus: styles['SplitCol--viewWidth-smallTabletPlus'],\n tabletPlus: 'vkuiInternalSplitCol--viewWidth-tabletPlus',\n};\n\nfunction useTransitionAnimate(animateProp?: boolean) {\n const { viewWidth } = useAdaptivity();\n const [animate, setAnimate] = React.useState(Boolean(animateProp));\n const mediaQueries = useMediaQueries();\n\n React.useEffect(() => {\n if (animateProp !== undefined) {\n setAnimate(animateProp);\n return;\n }\n\n if (viewWidth !== undefined) {\n setAnimate(viewWidth < ViewWidth.TABLET);\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const listener = () => setAnimate(!mediaQueries.smallTabletPlus.matches);\n listener();\n\n matchMediaListAddListener(mediaQueries.smallTabletPlus, listener);\n return () => {\n matchMediaListRemoveListener(mediaQueries.smallTabletPlus, listener);\n };\n }, [animateProp, viewWidth, mediaQueries]);\n\n return animate;\n}\n\nexport interface SplitColProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: number | string;\n maxWidth?: number | string;\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины\n *\n * @deprecated используйте autoSpaced\n */\n spaced?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`\n */\n autoSpaced?: boolean;\n fixed?: boolean;\n /**\n * Если true, то ширина контейнера становится 100% при ширине меньше чем `tablet`\n */\n stretchedOnMobile?: boolean;\n}\n\nconst warn = warnOnce('SplitCol');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitCol\n */\nexport const SplitCol = (props: SplitColProps) => {\n const {\n children,\n width,\n maxWidth,\n minWidth,\n spaced,\n animate: animateProp,\n fixed,\n style,\n autoSpaced,\n stretchedOnMobile,\n className,\n ...restProps\n } = props;\n const baseRef = React.useRef<HTMLDivElement>(null);\n const { viewWidth } = useAdaptivity();\n const animate = useTransitionAnimate(animateProp);\n\n const contextValue = useObjectMemo({\n colRef: baseRef,\n animate,\n });\n\n if (process.env.NODE_ENV === 'development' && spaced !== undefined) {\n // TODO [>=6]: Удалить spaced\n warn('Свойство spaced устарело и будет удалено в v6. Используйте autoSpaced');\n }\n\n return (\n <div\n {...restProps}\n style={{\n ...style,\n width: width,\n maxWidth: maxWidth,\n minWidth: minWidth,\n }}\n ref={baseRef}\n className={classNames(\n styles['SplitCol'],\n viewWidthToClassName(breakpointClassNames, viewWidth),\n spaced && classNames(styles['SplitCol--spaced'], 'vkuiInternalSplitCol--spaced'),\n spaced === undefined &&\n classNames(styles['SplitCol--spaced-none'], 'vkuiInternalSplitCol--spaced-none'),\n autoSpaced &&\n classNames(styles['SplitCol--spaced-auto'], 'vkuiInternalSplitCol--spaced-auto'),\n fixed && styles['SplitCol--fixed'],\n stretchedOnMobile && styles['SplitCol--stretched-on-mobile'],\n className,\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? <div className={styles['SplitCol__fixedInner']}>{children}</div> : children}\n </SplitColContext.Provider>\n </div>\n );\n};\n"],"names":["SplitCol","breakpointClassNames","none","classNames","tabletMinus","smallTabletPlus","tabletPlus","useTransitionAnimate","animateProp","viewWidth","useAdaptivity","React","useState","Boolean","animate","setAnimate","mediaQueries","useMediaQueries","useEffect","undefined","ViewWidth","TABLET","listener","matches","matchMediaListAddListener","matchMediaListRemoveListener","warn","warnOnce","props","children","width","maxWidth","minWidth","spaced","fixed","style","autoSpaced","stretchedOnMobile","className","restProps","baseRef","useRef","contextValue","useObjectMemo","colRef","process","env","NODE_ENV","div","ref","viewWidthToClassName","SplitColContext","Provider","value"],"mappings":";;;;+BA6EaA;;;eAAAA;;;;;;;;+DA7EU;oBACI;6BACG;+BACE;6BACF;0BACkB;0BACwB;wBAC/C;+BACO;AAGhC,IAAMC,uBAAuB;IAC3BC,MAAMC,IAAAA,kDAA+C;IACrDC,WAAW;IACXC,eAAe;IACfC,YAAY;AACd;AAEA,SAASC,qBAAqBC,WAAqB;IACjD,IAAM,AAAEC,YAAcC,IAAAA,gCAAdD;IACR,IAA8BE,qCAAAA,OAAMC,SAASC,QAAQL,mBAA9CM,UAAuBH,oBAAdI,aAAcJ;IAC9B,IAAMK,eAAeC,IAAAA;IAErBN,OAAMO,UAAU;QACd,IAAIV,gBAAgBW,WAAW;YAC7BJ,WAAWP;YACX;QACF;QAEA,IAAIC,cAAcU,WAAW;YAC3BJ,WAAWN,YAAYW,sBAAUC;YACjC;QACF;QAEA,oDAAoD;QACpD,IAAMC,WAAW;mBAAMP,WAAW,CAACC,aAAaX,gBAAgBkB;;QAChED;QAEAE,IAAAA,uCAA0BR,aAAaX,iBAAiBiB;QACxD,OAAO;YACLG,IAAAA,0CAA6BT,aAAaX,iBAAiBiB;QAC7D;IACF,GAAG;QAACd;QAAaC;QAAWO;KAAa;IAEzC,OAAOF;AACT;AA2BA,IAAMY,OAAOC,IAAAA,oBAAS;AAKf,IAAM3B,WAAW,SAAC4B;IACvB,IACEC,WAYED,MAZFC,UACAC,QAWEF,MAXFE,OACAC,WAUEH,MAVFG,UACAC,WASEJ,MATFI,UACAC,SAQEL,MARFK,QACAnB,AAASN,cAOPoB,MAPFd,SACAoB,QAMEN,MANFM,OACAC,QAKEP,MALFO,OACAC,aAIER,MAJFQ,YACAC,oBAGET,MAHFS,mBACAC,YAEEV,MAFFU,WACGC,yCACDX;QAZFC;QACAC;QACAC;QACAC;QACAC;QACAnB;QACAoB;QACAC;QACAC;QACAC;QACAC;;IAGF,IAAME,UAAU7B,OAAM8B,OAAuB;IAC7C,IAAM,AAAEhC,YAAcC,IAAAA,gCAAdD;IACR,IAAMK,UAAUP,qBAAqBC;IAErC,IAAMkC,eAAeC,IAAAA,8BAAc;QACjCC,QAAQJ;QACR1B,SAAAA;IACF;IAEA,IAAI+B,QAAQC,IAAIC,aAAa,iBAAiBd,WAAWd,WAAW;QAClE,6BAA6B;QAC7BO,KAAK;IACP;IAEA,qBACE,qBAACsB,mDACKT;QACJJ,OAAO,4CACFA;YACHL,OAAOA;YACPC,UAAUA;YACVC,UAAUA;;QAEZiB,KAAKT;QACLF,WAAWnC,IAAAA,kCAET+C,IAAAA,kCAAqBjD,sBAAsBQ,YAC3CwB,UAAU9B,IAAAA,0CAAuC,iCACjD8B,WAAWd,aACThB,IAAAA,+CAA4C,sCAC9CiC,cACEjC,IAAAA,+CAA4C,sCAC9C+B,gCACAG,0DACAC;sBAGF,qBAACa,iCAAgBC;QAASC,OAAOX;OAC9BR,sBAAQ,qBAACc;QAAIV,SAAS;OAAmCT,YAAkBA;AAIpF"}
1
+ {"version":3,"sources":["../../../../src/components/SplitCol/SplitCol.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { ViewWidth, viewWidthToClassName } from '../../lib/adaptivity';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../../lib/matchMedia';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { SplitColContext } from './SplitColContext';\nimport styles from './SplitCol.module.css';\n\nconst breakpointClassNames = {\n none: classNames(styles['SplitCol--viewWidth-none'], 'vkuiInternalSplitCol--viewWidth-none'),\n tabletMinus: styles['SplitCol--viewWidth-tabletMinus'],\n smallTabletPlus: styles['SplitCol--viewWidth-smallTabletPlus'],\n tabletPlus: 'vkuiInternalSplitCol--viewWidth-tabletPlus',\n};\n\nfunction useTransitionAnimate(animateProp?: boolean) {\n const { viewWidth } = useAdaptivity();\n const [animate, setAnimate] = React.useState(Boolean(animateProp));\n const mediaQueries = useMediaQueries();\n\n React.useEffect(() => {\n if (animateProp !== undefined) {\n setAnimate(animateProp);\n return;\n }\n\n if (viewWidth !== undefined) {\n setAnimate(viewWidth < ViewWidth.TABLET);\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const listener = () => setAnimate(!mediaQueries.smallTabletPlus.matches);\n listener();\n\n matchMediaListAddListener(mediaQueries.smallTabletPlus, listener);\n return () => {\n matchMediaListRemoveListener(mediaQueries.smallTabletPlus, listener);\n };\n }, [animateProp, viewWidth, mediaQueries]);\n\n return animate;\n}\n\nexport interface SplitColProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: number | string;\n maxWidth?: number | string;\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины\n *\n * @deprecated используйте autoSpaced\n */\n spaced?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`\n */\n autoSpaced?: boolean;\n fixed?: boolean;\n /**\n * Если true, то ширина контейнера становится 100% при ширине меньше чем `tablet`\n */\n stretchedOnMobile?: boolean;\n}\n\nconst warn = warnOnce('SplitCol');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitCol\n */\nexport const SplitCol = (props: SplitColProps) => {\n const {\n children,\n width,\n maxWidth,\n minWidth,\n spaced,\n animate: animateProp,\n fixed,\n style,\n autoSpaced,\n stretchedOnMobile,\n className,\n ...restProps\n } = props;\n const baseRef = React.useRef<HTMLDivElement>(null);\n const { viewWidth } = useAdaptivity();\n const animate = useTransitionAnimate(animateProp);\n\n const contextValue = useObjectMemo({\n colRef: baseRef,\n animate,\n });\n\n if (process.env.NODE_ENV === 'development' && spaced !== undefined) {\n // TODO [>=6]: Удалить spaced\n warn('Свойство spaced устарело и будет удалено в v6. Используйте autoSpaced');\n }\n\n return (\n <div\n {...restProps}\n style={{\n ...style,\n width: width,\n maxWidth: maxWidth,\n minWidth: minWidth,\n }}\n ref={baseRef}\n className={classNames(\n styles['SplitCol'],\n viewWidthToClassName(breakpointClassNames, viewWidth),\n spaced && classNames(styles['SplitCol--spaced'], 'vkuiInternalSplitCol--spaced'),\n spaced === undefined &&\n classNames(styles['SplitCol--spaced-none'], 'vkuiInternalSplitCol--spaced-none'),\n autoSpaced &&\n classNames(styles['SplitCol--spaced-auto'], 'vkuiInternalSplitCol--spaced-auto'),\n fixed && styles['SplitCol--fixed'],\n stretchedOnMobile && styles['SplitCol--stretched-on-mobile'],\n className,\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? <div className={styles['SplitCol__fixedInner']}>{children}</div> : children}\n </SplitColContext.Provider>\n </div>\n );\n};\n"],"names":["SplitCol","breakpointClassNames","none","classNames","tabletMinus","smallTabletPlus","tabletPlus","useTransitionAnimate","animateProp","viewWidth","useAdaptivity","React","useState","Boolean","animate","setAnimate","mediaQueries","useMediaQueries","useEffect","undefined","ViewWidth","TABLET","listener","matches","matchMediaListAddListener","matchMediaListRemoveListener","warn","warnOnce","props","children","width","maxWidth","minWidth","spaced","fixed","style","autoSpaced","stretchedOnMobile","className","restProps","baseRef","useRef","contextValue","useObjectMemo","colRef","process","env","NODE_ENV","div","ref","viewWidthToClassName","SplitColContext","Provider","value"],"mappings":";;;;+BA6EaA;;;eAAAA;;;;;;;;+DA7EU;oBACI;6BACG;+BACE;6BACF;0BACkB;0BACwB;wBAC/C;+BACO;AAGhC,IAAMC,uBAAuB;IAC3BC,MAAMC,IAAAA,gBAAU,kCAAqC;IACrDC,WAAW;IACXC,eAAe;IACfC,YAAY;AACd;AAEA,SAASC,qBAAqBC,WAAqB;IACjD,IAAM,AAAEC,YAAcC,IAAAA,4BAAa,IAA3BD;IACR,IAA8BE,qCAAAA,OAAMC,QAAQ,CAACC,QAAQL,mBAA9CM,UAAuBH,oBAAdI,aAAcJ;IAC9B,IAAMK,eAAeC,IAAAA,gCAAe;IAEpCN,OAAMO,SAAS,CAAC;QACd,IAAIV,gBAAgBW,WAAW;YAC7BJ,WAAWP;YACX;QACF;QAEA,IAAIC,cAAcU,WAAW;YAC3BJ,WAAWN,YAAYW,qBAAS,CAACC,MAAM;YACvC;QACF;QAEA,oDAAoD;QACpD,IAAMC,WAAW;mBAAMP,WAAW,CAACC,aAAaX,eAAe,CAACkB,OAAO;;QACvED;QAEAE,IAAAA,qCAAyB,EAACR,aAAaX,eAAe,EAAEiB;QACxD,OAAO;YACLG,IAAAA,wCAA4B,EAACT,aAAaX,eAAe,EAAEiB;QAC7D;IACF,GAAG;QAACd;QAAaC;QAAWO;KAAa;IAEzC,OAAOF;AACT;AA2BA,IAAMY,OAAOC,IAAAA,kBAAQ,EAAC;AAKf,IAAM3B,WAAW,SAAC4B;IACvB,IACEC,WAYED,MAZFC,UACAC,QAWEF,MAXFE,OACAC,WAUEH,MAVFG,UACAC,WASEJ,MATFI,UACAC,SAQEL,MARFK,QACAnB,AAASN,cAOPoB,MAPFd,SACAoB,QAMEN,MANFM,OACAC,QAKEP,MALFO,OACAC,aAIER,MAJFQ,YACAC,oBAGET,MAHFS,mBACAC,YAEEV,MAFFU,WACGC,yCACDX;QAZFC;QACAC;QACAC;QACAC;QACAC;QACAnB;QACAoB;QACAC;QACAC;QACAC;QACAC;;IAGF,IAAME,UAAU7B,OAAM8B,MAAM,CAAiB;IAC7C,IAAM,AAAEhC,YAAcC,IAAAA,4BAAa,IAA3BD;IACR,IAAMK,UAAUP,qBAAqBC;IAErC,IAAMkC,eAAeC,IAAAA,4BAAa,EAAC;QACjCC,QAAQJ;QACR1B,SAAAA;IACF;IAEA,IAAI+B,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiBd,WAAWd,WAAW;QAClE,6BAA6B;QAC7BO,KAAK;IACP;IAEA,qBACE,qBAACsB,mDACKT;QACJJ,OAAO,4CACFA;YACHL,OAAOA;YACPC,UAAUA;YACVC,UAAUA;;QAEZiB,KAAKT;QACLF,WAAWnC,IAAAA,gBAAU,kBAEnB+C,IAAAA,gCAAoB,EAACjD,sBAAsBQ,YAC3CwB,UAAU9B,IAAAA,gBAAU,0BAA6B,iCACjD8B,WAAWd,aACThB,IAAAA,gBAAU,+BAAkC,sCAC9CiC,cACEjC,IAAAA,gBAAU,+BAAkC,sCAC9C+B,gCACAG,0DACAC;sBAGF,qBAACa,gCAAe,CAACC,QAAQ;QAACC,OAAOX;OAC9BR,sBAAQ,qBAACc;QAAIV,SAAS;OAAmCT,YAAkBA;AAIpF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SplitCol/SplitColContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport interface SplitColContextProps {\n colRef: React.RefObject<HTMLDivElement> | null;\n animate: boolean;\n}\n\nexport const SplitColContext = React.createContext<SplitColContextProps>({\n colRef: null,\n animate: true,\n});\n\nexport const useSplitCol = () => React.useContext(SplitColContext);\n"],"names":["SplitColContext","useSplitCol","React","createContext","colRef","animate","useContext"],"mappings":";;;;;;;;;;;IAOaA,eAAe;eAAfA;;IAKAC,WAAW;eAAXA;;;;+DAZU;AAOhB,IAAMD,gCAAkBE,OAAMC,cAAoC;IACvEC,QAAQ;IACRC,SAAS;AACX;AAEO,IAAMJ,cAAc;WAAMC,OAAMI,WAAWN"}
1
+ {"version":3,"sources":["../../../../src/components/SplitCol/SplitColContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport interface SplitColContextProps {\n colRef: React.RefObject<HTMLDivElement> | null;\n animate: boolean;\n}\n\nexport const SplitColContext = React.createContext<SplitColContextProps>({\n colRef: null,\n animate: true,\n});\n\nexport const useSplitCol = () => React.useContext(SplitColContext);\n"],"names":["SplitColContext","useSplitCol","React","createContext","colRef","animate","useContext"],"mappings":";;;;;;;;;;;IAOaA,eAAe;eAAfA;;IAKAC,WAAW;eAAXA;;;;+DAZU;AAOhB,IAAMD,gCAAkBE,OAAMC,aAAa,CAAuB;IACvEC,QAAQ;IACRC,SAAS;AACX;AAEO,IAAMJ,cAAc;WAAMC,OAAMI,UAAU,CAACN"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SplitLayout/SplitLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { PopoutRoot } from '../PopoutRoot/PopoutRoot';\nimport styles from './SplitLayout.module.css';\n\nexport interface SplitLayoutProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n header?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitLayout\n */\nexport const SplitLayout = ({\n popout,\n modal,\n header,\n children,\n getRootRef,\n getRef,\n className,\n ...restProps\n}: SplitLayoutProps) => {\n const platform = usePlatform();\n\n return (\n <PopoutRoot\n className={classNames(\n styles['SplitLayout'],\n platform === Platform.IOS && styles['SplitLayout--ios'],\n )}\n popout={popout}\n modal={modal}\n getRootRef={getRootRef}\n >\n {header}\n <div\n {...restProps}\n ref={getRef}\n className={classNames(\n styles['SplitLayout__inner'],\n !!header && styles['SplitLayout__inner--header'],\n className,\n )}\n >\n {children}\n </div>\n </PopoutRoot>\n );\n};\n"],"names":["SplitLayout","popout","modal","header","children","getRootRef","getRef","className","restProps","platform","usePlatform","PopoutRoot","classNames","Platform","IOS","div","ref"],"mappings":";;;;+BA0BaA;;;eAAAA;;;;;;;+DA1BU;oBACI;2BACC;wBACH;0BAEE;AAqBpB,IAAMA,cAAc;QACzBC,gBAAAA,QACAC,eAAAA,OACAC,gBAAAA,QACAC,kBAAAA,UACAC,oBAAAA,YACAC,gBAAAA,QACAC,mBAAAA,WACGC;QAPHP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,IAAAA;IAEjB,qBACE,qBAACC;QACCJ,WAAWK,IAAAA,qCAETH,aAAaI,mBAASC;QAExBb,QAAQA;QACRC,OAAOA;QACPG,YAAYA;OAEXF,sBACD,qBAACY,mDACKP;QACJQ,KAAKV;QACLC,WAAWK,IAAAA,4CAET,CAAC,CAACT,4CACFI;QAGDH;AAIT"}
1
+ {"version":3,"sources":["../../../../src/components/SplitLayout/SplitLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { PopoutRoot } from '../PopoutRoot/PopoutRoot';\nimport styles from './SplitLayout.module.css';\n\nexport interface SplitLayoutProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n header?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitLayout\n */\nexport const SplitLayout = ({\n popout,\n modal,\n header,\n children,\n getRootRef,\n getRef,\n className,\n ...restProps\n}: SplitLayoutProps) => {\n const platform = usePlatform();\n\n return (\n <PopoutRoot\n className={classNames(\n styles['SplitLayout'],\n platform === Platform.IOS && styles['SplitLayout--ios'],\n )}\n popout={popout}\n modal={modal}\n getRootRef={getRootRef}\n >\n {header}\n <div\n {...restProps}\n ref={getRef}\n className={classNames(\n styles['SplitLayout__inner'],\n !!header && styles['SplitLayout__inner--header'],\n className,\n )}\n >\n {children}\n </div>\n </PopoutRoot>\n );\n};\n"],"names":["SplitLayout","popout","modal","header","children","getRootRef","getRef","className","restProps","platform","usePlatform","PopoutRoot","classNames","Platform","IOS","div","ref"],"mappings":";;;;+BA0BaA;;;eAAAA;;;;;;;+DA1BU;oBACI;2BACC;wBACH;0BAEE;AAqBpB,IAAMA,cAAc;QACzBC,gBAAAA,QACAC,eAAAA,OACAC,gBAAAA,QACAC,kBAAAA,UACAC,oBAAAA,YACAC,gBAAAA,QACAC,mBAAAA,WACGC;QAPHP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,qBAACC,sBAAU;QACTJ,WAAWK,IAAAA,gBAAU,qBAEnBH,aAAaI,kBAAQ,CAACC,GAAG;QAE3Bb,QAAQA;QACRC,OAAOA;QACPG,YAAYA;OAEXF,sBACD,qBAACY,mDACKP;QACJQ,KAAKV;QACLC,WAAWK,IAAAA,gBAAU,4BAEnB,CAAC,CAACT,4CACFI;QAGDH;AAIT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SubnavigationBar/SubnavigationBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport {\n HorizontalScroll,\n HorizontalScrollProps,\n ScrollPositionHandler,\n} from '../HorizontalScroll/HorizontalScroll';\nimport styles from './SubnavigationBar.module.css';\n\nexport interface SubnavigationBarProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<\n HorizontalScrollProps,\n 'showArrows' | 'getScrollToLeft' | 'getScrollToRight' | 'scrollAnimationDuration'\n > {\n mode?: 'fixed' | 'overflow';\n}\n\nconst defaultScrollToLeft: ScrollPositionHandler = (x) => x - 240;\n\nconst defaultScrollToRight: ScrollPositionHandler = (x) => x + 240;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SubnavigationBar\n */\nexport const SubnavigationBar = ({\n mode = 'overflow',\n children,\n showArrows = true,\n getScrollToLeft = defaultScrollToLeft,\n getScrollToRight = defaultScrollToRight,\n scrollAnimationDuration,\n className,\n ...restProps\n}: SubnavigationBarProps) => {\n let ScrollWrapper: React.ElementType;\n let scrollWrapperProps = {};\n\n if (mode === 'fixed') {\n ScrollWrapper = 'div';\n } else {\n ScrollWrapper = HorizontalScroll;\n scrollWrapperProps = {\n showArrows,\n getScrollToLeft,\n getScrollToRight,\n scrollAnimationDuration,\n };\n }\n\n return (\n <div\n {...restProps}\n className={classNames(\n 'vkuiInternalSubnavigationBar',\n mode === 'fixed' && classNames('vkuiInternalSubnavigationBar--mode-fixed'),\n className,\n )}\n >\n <ScrollWrapper className={styles['SubnavigationBar__in']} {...scrollWrapperProps}>\n <div className={styles['SubnavigationBar__scrollIn']}>{children}</div>\n </ScrollWrapper>\n </div>\n );\n};\n"],"names":["SubnavigationBar","defaultScrollToLeft","x","defaultScrollToRight","mode","children","showArrows","getScrollToLeft","getScrollToRight","scrollAnimationDuration","className","restProps","ScrollWrapper","scrollWrapperProps","HorizontalScroll","div","classNames"],"mappings":";;;;+BAyBaA;;;eAAAA;;;;;;;+DAzBU;oBACI;gCAKpB;AAYP,IAAMC,sBAA6C,SAACC;WAAMA,IAAI;;AAE9D,IAAMC,uBAA8C,SAACD;WAAMA,IAAI;;AAKxD,IAAMF,mBAAmB;6BAC9BI,MAAAA,gCAAO,0BACPC,kBAAAA,qCACAC,YAAAA,4CAAa,0DACbC,iBAAAA,sDAAkBN,+EAClBO,kBAAAA,wDAAmBL,gDACnBM,iCAAAA,yBACAC,mBAAAA,WACGC;QAPHP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAIE;IACJ,IAAIC,qBAAqB,CAAC;IAE1B,IAAIT,SAAS,SAAS;QACpBQ,gBAAgB;IAClB,OAAO;QACLA,gBAAgBE;QAChBD,qBAAqB;YACnBP,YAAAA;YACAC,iBAAAA;YACAC,kBAAAA;YACAC,yBAAAA;QACF;IACF;IAEA,qBACE,qBAACM,mDACKJ;QACJD,WAAWM,IAAAA,kBACT,gCACAZ,SAAS,WAAWY,IAAAA,kBAAW,6CAC/BN;sBAGF,qBAACE;QAAcF,SAAS;OAAsCG,mCAC5D,qBAACE;QAAIL,SAAS;OAAyCL;AAI/D"}
1
+ {"version":3,"sources":["../../../../src/components/SubnavigationBar/SubnavigationBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport {\n HorizontalScroll,\n HorizontalScrollProps,\n ScrollPositionHandler,\n} from '../HorizontalScroll/HorizontalScroll';\nimport styles from './SubnavigationBar.module.css';\n\nexport interface SubnavigationBarProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<\n HorizontalScrollProps,\n 'showArrows' | 'getScrollToLeft' | 'getScrollToRight' | 'scrollAnimationDuration'\n > {\n mode?: 'fixed' | 'overflow';\n}\n\nconst defaultScrollToLeft: ScrollPositionHandler = (x) => x - 240;\n\nconst defaultScrollToRight: ScrollPositionHandler = (x) => x + 240;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SubnavigationBar\n */\nexport const SubnavigationBar = ({\n mode = 'overflow',\n children,\n showArrows = true,\n getScrollToLeft = defaultScrollToLeft,\n getScrollToRight = defaultScrollToRight,\n scrollAnimationDuration,\n className,\n ...restProps\n}: SubnavigationBarProps) => {\n let ScrollWrapper: React.ElementType;\n let scrollWrapperProps = {};\n\n if (mode === 'fixed') {\n ScrollWrapper = 'div';\n } else {\n ScrollWrapper = HorizontalScroll;\n scrollWrapperProps = {\n showArrows,\n getScrollToLeft,\n getScrollToRight,\n scrollAnimationDuration,\n };\n }\n\n return (\n <div\n {...restProps}\n className={classNames(\n 'vkuiInternalSubnavigationBar',\n mode === 'fixed' && classNames('vkuiInternalSubnavigationBar--mode-fixed'),\n className,\n )}\n >\n <ScrollWrapper className={styles['SubnavigationBar__in']} {...scrollWrapperProps}>\n <div className={styles['SubnavigationBar__scrollIn']}>{children}</div>\n </ScrollWrapper>\n </div>\n );\n};\n"],"names":["SubnavigationBar","defaultScrollToLeft","x","defaultScrollToRight","mode","children","showArrows","getScrollToLeft","getScrollToRight","scrollAnimationDuration","className","restProps","ScrollWrapper","scrollWrapperProps","HorizontalScroll","div","classNames"],"mappings":";;;;+BAyBaA;;;eAAAA;;;;;;;+DAzBU;oBACI;gCAKpB;AAYP,IAAMC,sBAA6C,SAACC;WAAMA,IAAI;;AAE9D,IAAMC,uBAA8C,SAACD;WAAMA,IAAI;;AAKxD,IAAMF,mBAAmB;6BAC9BI,MAAAA,gCAAO,0BACPC,kBAAAA,qCACAC,YAAAA,4CAAa,0DACbC,iBAAAA,sDAAkBN,+EAClBO,kBAAAA,wDAAmBL,gDACnBM,iCAAAA,yBACAC,mBAAAA,WACGC;QAPHP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAIE;IACJ,IAAIC,qBAAqB,CAAC;IAE1B,IAAIT,SAAS,SAAS;QACpBQ,gBAAgB;IAClB,OAAO;QACLA,gBAAgBE,kCAAgB;QAChCD,qBAAqB;YACnBP,YAAAA;YACAC,iBAAAA;YACAC,kBAAAA;YACAC,yBAAAA;QACF;IACF;IAEA,qBACE,qBAACM,mDACKJ;QACJD,WAAWM,IAAAA,gBAAU,EACnB,gCACAZ,SAAS,WAAWY,IAAAA,gBAAU,EAAC,6CAC/BN;sBAGF,qBAACE;QAAcF,SAAS;OAAsCG,mCAC5D,qBAACE;QAAIL,SAAS;OAAyCL;AAI/D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SubnavigationButton/SubnavigationButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Dropdown } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { SizeType } from '../../lib/adaptivity';\nimport { HasChildren, HasComponent } from '../../types';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './SubnavigationButton.module.css';\n\nconst sizeYClassNames = {\n none: styles['SubnavigationButton--sizeY-none'],\n [SizeType.COMPACT]: styles['SubnavigationButton--sizeY-compact'],\n};\n\nexport interface SubnavigationButtonProps extends Omit<TappableProps, 'size'> {\n mode?: 'primary' | 'outline' | 'tertiary';\n size?: 's' | 'm' | 'l';\n selected?: boolean;\n /**\n * Размер шрифта. Этим свойством рекомендуется пользоваться, чтобы отрегулировать размер шрифта у кнопок в `<SubnavigationBar mode=\"fixed\" />`\n */\n textLevel?: '1' | '2' | '3';\n /**\n * Рекомендуется использовать только иконки с размером 24\n */\n before?: React.ReactNode;\n /**\n * Рекомендуется использовать только `<Counter size=\"s\" />` или `<Badge />`\n */\n after?: React.ReactNode;\n expandable?: boolean;\n}\n\ntype SubnavigationButtonTypographyProps = Pick<\n SubnavigationButtonProps,\n 'textLevel' | 'className'\n> &\n HasComponent &\n HasChildren;\n\nconst SubnavigationButtonTypography = ({\n textLevel,\n ...restProps\n}: SubnavigationButtonTypographyProps) => {\n if (textLevel === '1') {\n return <Subhead {...restProps} />;\n }\n\n return <Caption level={textLevel === '2' ? '1' : '2'} {...restProps} />;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SubnavigationButton\n */\nexport const SubnavigationButton = ({\n mode = 'primary',\n size = 'm',\n selected,\n textLevel = '1',\n before,\n after,\n expandable,\n children,\n className,\n ...restProps\n}: SubnavigationButtonProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n hasActive={false}\n focusVisibleMode=\"outside\"\n className={classNames(\n styles['SubnavigationButton'],\n {\n s: styles['SubnavigationButton--size-s'],\n m: styles['SubnavigationButton--size-m'],\n l: styles['SubnavigationButton--size-l'],\n }[size],\n {\n primary: styles['SubnavigationButton--mode-primary'],\n outline: styles['SubnavigationButton--mode-outline'],\n tertiary: styles['SubnavigationButton--mode-tertiary'],\n }[mode],\n selected && styles['SubnavigationButton--selected'],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n className,\n )}\n >\n <span className={styles['SubnavigationButton__in']}>\n {before && <span className={styles['SubnavigationButton__before']}>{before}</span>}\n <SubnavigationButtonTypography\n textLevel={textLevel}\n className={styles['SubnavigationButton__label']}\n Component=\"span\"\n >\n {children}\n </SubnavigationButtonTypography>\n {after && <span className={styles['SubnavigationButton__after']}>{after}</span>}\n {expandable && <Icon16Dropdown className={styles['SubnavigationButton__expandableIcon']} />}\n </span>\n </Tappable>\n );\n};\n"],"names":["SubnavigationButton","sizeYClassNames","none","SizeType","COMPACT","SubnavigationButtonTypography","textLevel","restProps","Subhead","Caption","level","mode","size","selected","before","after","expandable","children","className","useAdaptivity","sizeY","Tappable","hasActive","focusVisibleMode","classNames","s","m","l","primary","outline","tertiary","REGULAR","span","Component","Icon16Dropdown"],"mappings":";;;;+BAwDaA;;;eAAAA;;;;;;;;+DAxDU;qBACQ;oBACJ;6BACG;0BACL;wBAEe;uBAChB;uBACA;AAGxB,IAAMC;IACJC,IAAI;GACHC,qBAASC;AA6BZ,IAAMC,gCAAgC;QACpCC,mBAAAA,WACGC;QADHD;;IAGA,IAAIA,cAAc,KAAK;QACrB,qBAAO,qBAACE,kBAAYD;IACtB;IAEA,qBAAO,qBAACE;QAAQC,OAAOJ,cAAc,MAAM,MAAM;OAASC;AAC5D;AAKO,IAAMP,sBAAsB;6BACjCW,MAAAA,gCAAO,8CACPC,MAAAA,gCAAO,mBACPC,kBAAAA,oCACAP,WAAAA,0CAAY,wBACZQ,gBAAAA,QACAC,eAAAA,OACAC,oBAAAA,YACAC,kBAAAA,UACAC,mBAAAA,WACGX;QATHI;QACAC;QACAC;QACAP;QACAQ;QACAC;QACAC;QACAC;QACAC;;IAGA,IAA2BC,kBAAAA,IAAAA,wDAAAA,gBAAnBC,OAAAA,0CAAQ;IAEhB,qBACE,qBAACC,gEACKd;QACJe,WAAW;QACXC,kBAAiB;QACjBL,WAAWM,IAAAA,6CAET;YACEC,CAAC;YACDC,CAAC;YACDC,CAAC;QACH,CAAC,CAACf,KAAK,EACP;YACEgB,OAAO;YACPC,OAAO;YACPC,QAAQ;QACV,CAAC,CAACnB,KAAK,EACPE,iDACAO,UAAUjB,qBAAS4B,WAAW9B,eAAe,CAACmB,MAAM,EACpDF;sBAGF,qBAACc;QAAKd,SAAS;OACZJ,wBAAU,qBAACkB;QAAKd,SAAS;OAA0CJ,uBACpE,qBAACT;QACCC,WAAWA;QACXY,SAAS;QACTe,WAAU;OAEThB,WAEFF,uBAAS,qBAACiB;QAAKd,SAAS;OAAyCH,QACjEC,4BAAc,qBAACkB;QAAehB,SAAS;;AAIhD"}
1
+ {"version":3,"sources":["../../../../src/components/SubnavigationButton/SubnavigationButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Dropdown } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { SizeType } from '../../lib/adaptivity';\nimport { HasChildren, HasComponent } from '../../types';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './SubnavigationButton.module.css';\n\nconst sizeYClassNames = {\n none: styles['SubnavigationButton--sizeY-none'],\n [SizeType.COMPACT]: styles['SubnavigationButton--sizeY-compact'],\n};\n\nexport interface SubnavigationButtonProps extends Omit<TappableProps, 'size'> {\n mode?: 'primary' | 'outline' | 'tertiary';\n size?: 's' | 'm' | 'l';\n selected?: boolean;\n /**\n * Размер шрифта. Этим свойством рекомендуется пользоваться, чтобы отрегулировать размер шрифта у кнопок в `<SubnavigationBar mode=\"fixed\" />`\n */\n textLevel?: '1' | '2' | '3';\n /**\n * Рекомендуется использовать только иконки с размером 24\n */\n before?: React.ReactNode;\n /**\n * Рекомендуется использовать только `<Counter size=\"s\" />` или `<Badge />`\n */\n after?: React.ReactNode;\n expandable?: boolean;\n}\n\ntype SubnavigationButtonTypographyProps = Pick<\n SubnavigationButtonProps,\n 'textLevel' | 'className'\n> &\n HasComponent &\n HasChildren;\n\nconst SubnavigationButtonTypography = ({\n textLevel,\n ...restProps\n}: SubnavigationButtonTypographyProps) => {\n if (textLevel === '1') {\n return <Subhead {...restProps} />;\n }\n\n return <Caption level={textLevel === '2' ? '1' : '2'} {...restProps} />;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SubnavigationButton\n */\nexport const SubnavigationButton = ({\n mode = 'primary',\n size = 'm',\n selected,\n textLevel = '1',\n before,\n after,\n expandable,\n children,\n className,\n ...restProps\n}: SubnavigationButtonProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n hasActive={false}\n focusVisibleMode=\"outside\"\n className={classNames(\n styles['SubnavigationButton'],\n {\n s: styles['SubnavigationButton--size-s'],\n m: styles['SubnavigationButton--size-m'],\n l: styles['SubnavigationButton--size-l'],\n }[size],\n {\n primary: styles['SubnavigationButton--mode-primary'],\n outline: styles['SubnavigationButton--mode-outline'],\n tertiary: styles['SubnavigationButton--mode-tertiary'],\n }[mode],\n selected && styles['SubnavigationButton--selected'],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n className,\n )}\n >\n <span className={styles['SubnavigationButton__in']}>\n {before && <span className={styles['SubnavigationButton__before']}>{before}</span>}\n <SubnavigationButtonTypography\n textLevel={textLevel}\n className={styles['SubnavigationButton__label']}\n Component=\"span\"\n >\n {children}\n </SubnavigationButtonTypography>\n {after && <span className={styles['SubnavigationButton__after']}>{after}</span>}\n {expandable && <Icon16Dropdown className={styles['SubnavigationButton__expandableIcon']} />}\n </span>\n </Tappable>\n );\n};\n"],"names":["SubnavigationButton","sizeYClassNames","none","SizeType","COMPACT","SubnavigationButtonTypography","textLevel","restProps","Subhead","Caption","level","mode","size","selected","before","after","expandable","children","className","useAdaptivity","sizeY","Tappable","hasActive","focusVisibleMode","classNames","s","m","l","primary","outline","tertiary","REGULAR","span","Component","Icon16Dropdown"],"mappings":";;;;+BAwDaA;;;eAAAA;;;;;;;;+DAxDU;qBACQ;oBACJ;6BACG;0BACL;wBAEe;uBAChB;uBACA;AAGxB,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AA6BnB,IAAMC,gCAAgC;QACpCC,mBAAAA,WACGC;QADHD;;IAGA,IAAIA,cAAc,KAAK;QACrB,qBAAO,qBAACE,gBAAO,EAAKD;IACtB;IAEA,qBAAO,qBAACE,gBAAO;QAACC,OAAOJ,cAAc,MAAM,MAAM;OAASC;AAC5D;AAKO,IAAMP,sBAAsB;6BACjCW,MAAAA,gCAAO,8CACPC,MAAAA,gCAAO,mBACPC,kBAAAA,oCACAP,WAAAA,0CAAY,wBACZQ,gBAAAA,QACAC,eAAAA,OACAC,oBAAAA,YACAC,kBAAAA,UACAC,mBAAAA,WACGX;QATHI;QACAC;QACAC;QACAP;QACAQ;QACAC;QACAC;QACAC;QACAC;;IAGA,IAA2BC,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAEhB,qBACE,qBAACC,kBAAQ,8CACHd;QACJe,WAAW;QACXC,kBAAiB;QACjBL,WAAWM,IAAAA,gBAAU,6BAEnB;YACEC,CAAC;YACDC,CAAC;YACDC,CAAC;QACH,CAAC,CAACf,KAAK,EACP;YACEgB,OAAO;YACPC,OAAO;YACPC,QAAQ;QACV,CAAC,CAACnB,KAAK,EACPE,iDACAO,UAAUjB,oBAAQ,CAAC4B,OAAO,IAAI9B,eAAe,CAACmB,MAAM,EACpDF;sBAGF,qBAACc;QAAKd,SAAS;OACZJ,wBAAU,qBAACkB;QAAKd,SAAS;OAA0CJ,uBACpE,qBAACT;QACCC,WAAWA;QACXY,SAAS;QACTe,WAAU;OAEThB,WAEFF,uBAAS,qBAACiB;QAAKd,SAAS;OAAyCH,QACjEC,4BAAc,qBAACkB,qBAAc;QAAChB,SAAS;;AAIhD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { FocusVisible } from '../FocusVisible/FocusVisible';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Switch.module.css';\n\nconst sizeYClassNames = {\n none: styles['Switch--sizeY-none'],\n [SizeType.COMPACT]: styles['Switch--sizeY-compact'],\n};\n\nexport interface SwitchProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Switch\n */\nexport const Switch = ({ style, className, getRootRef, getRef, ...restProps }: SwitchProps) => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n return (\n <label\n className={classNames(\n styles['Switch'],\n platform === Platform.IOS && styles['Switch--ios'],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n restProps.disabled && styles['Switch--disabled'],\n className,\n )}\n style={style}\n ref={getRootRef}\n onBlur={callMultiple(onBlur, restProps.onBlur)}\n onFocus={callMultiple(onFocus, restProps.onFocus)}\n >\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n getRootRef={getRef}\n type=\"checkbox\"\n className={styles['Switch__self']}\n />\n <span aria-hidden className={styles['Switch__pseudo']} />\n <FocusVisible visible={focusVisible} mode=\"outside\" />\n </label>\n );\n};\n"],"names":["Switch","sizeYClassNames","none","SizeType","COMPACT","style","className","getRootRef","getRef","restProps","platform","usePlatform","useAdaptivity","sizeY","useFocusVisible","focusVisible","onBlur","onFocus","label","classNames","Platform","IOS","REGULAR","disabled","ref","callMultiple","VisuallyHidden","Component","type","span","aria-hidden","FocusVisible","visible","mode"],"mappings":";;;;+BA0BaA;;;eAAAA;;;;;;;;+DA1BU;oBACI;6BACG;+BACE;2BACJ;0BACH;4BACI;wBACJ;4BAEI;8BACE;AAG/B,IAAMC;IACJC,IAAI;GACHC,qBAASC;AAWL,IAAMJ,SAAS;QAAGK,eAAAA,OAAOC,mBAAAA,WAAWC,oBAAAA,YAAYC,gBAAAA,QAAWC;QAAzCJ;QAAOC;QAAWC;QAAYC;;IACrD,IAAME,WAAWC,IAAAA;IACjB,IAA2BC,kBAAAA,IAAAA,wDAAAA,gBAAnBC,OAAAA,0CAAQ;IAChB,IAA0CC,oBAAAA,IAAAA,qCAAlCC,eAAkCD,kBAAlCC,cAAcC,SAAoBF,kBAApBE,QAAQC,UAAYH,kBAAZG;IAE9B,qBACE,qBAACC;QACCZ,WAAWa,IAAAA,gCAETT,aAAaU,mBAASC,0BACtBR,UAAUV,qBAASmB,WAAWrB,eAAe,CAACY,MAAM,EACpDJ,UAAUc,oCACVjB;QAEFD,OAAOA;QACPmB,KAAKjB;QACLS,QAAQS,IAAAA,4BAAaT,QAAQP,UAAUO;QACvCC,SAASQ,IAAAA,4BAAaR,SAASR,UAAUQ;qBAEzC,qBAACS,4EACKjB;QACJkB,WAAU;QACVpB,YAAYC;QACZoB,MAAK;QACLtB,SAAS;uBAEX,qBAACuB;QAAKC,eAAAA;QAAYxB,SAAS;sBAC3B,qBAACyB;QAAaC,SAASjB;QAAckB,MAAK;;AAGhD"}
1
+ {"version":3,"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { FocusVisible } from '../FocusVisible/FocusVisible';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Switch.module.css';\n\nconst sizeYClassNames = {\n none: styles['Switch--sizeY-none'],\n [SizeType.COMPACT]: styles['Switch--sizeY-compact'],\n};\n\nexport interface SwitchProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Switch\n */\nexport const Switch = ({ style, className, getRootRef, getRef, ...restProps }: SwitchProps) => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n return (\n <label\n className={classNames(\n styles['Switch'],\n platform === Platform.IOS && styles['Switch--ios'],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n restProps.disabled && styles['Switch--disabled'],\n className,\n )}\n style={style}\n ref={getRootRef}\n onBlur={callMultiple(onBlur, restProps.onBlur)}\n onFocus={callMultiple(onFocus, restProps.onFocus)}\n >\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n getRootRef={getRef}\n type=\"checkbox\"\n className={styles['Switch__self']}\n />\n <span aria-hidden className={styles['Switch__pseudo']} />\n <FocusVisible visible={focusVisible} mode=\"outside\" />\n </label>\n );\n};\n"],"names":["Switch","sizeYClassNames","none","SizeType","COMPACT","style","className","getRootRef","getRef","restProps","platform","usePlatform","useAdaptivity","sizeY","useFocusVisible","focusVisible","onBlur","onFocus","label","classNames","Platform","IOS","REGULAR","disabled","ref","callMultiple","VisuallyHidden","Component","type","span","aria-hidden","FocusVisible","visible","mode"],"mappings":";;;;+BA0BaA;;;eAAAA;;;;;;;;+DA1BU;oBACI;6BACG;+BACE;2BACJ;0BACH;4BACI;wBACJ;4BAEI;8BACE;AAG/B,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AAWZ,IAAMJ,SAAS;QAAGK,eAAAA,OAAOC,mBAAAA,WAAWC,oBAAAA,YAAYC,gBAAAA,QAAWC;QAAzCJ;QAAOC;QAAWC;QAAYC;;IACrD,IAAME,WAAWC,IAAAA,wBAAW;IAC5B,IAA2BC,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAChB,IAA0CC,oBAAAA,IAAAA,gCAAe,KAAjDC,eAAkCD,kBAAlCC,cAAcC,SAAoBF,kBAApBE,QAAQC,UAAYH,kBAAZG;IAE9B,qBACE,qBAACC;QACCZ,WAAWa,IAAAA,gBAAU,gBAEnBT,aAAaU,kBAAQ,CAACC,GAAG,uBACzBR,UAAUV,oBAAQ,CAACmB,OAAO,IAAIrB,eAAe,CAACY,MAAM,EACpDJ,UAAUc,QAAQ,4BAClBjB;QAEFD,OAAOA;QACPmB,KAAKjB;QACLS,QAAQS,IAAAA,0BAAY,EAACT,QAAQP,UAAUO,MAAM;QAC7CC,SAASQ,IAAAA,0BAAY,EAACR,SAASR,UAAUQ,OAAO;qBAEhD,qBAACS,8BAAc,8CACTjB;QACJkB,WAAU;QACVpB,YAAYC;QACZoB,MAAK;QACLtB,SAAS;uBAEX,qBAACuB;QAAKC,eAAAA;QAAYxB,SAAS;sBAC3B,qBAACyB,0BAAY;QAACC,SAASjB;QAAckB,MAAK;;AAGhD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabbar/Tabbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport styles from './Tabbar.module.css';\n\nexport interface TabbarProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Флаг для показа/скрытия верхней тени (Android) или границы (iOS)\n */\n shadow?: boolean;\n /**\n * Задает расположение элементов (вертикальное/горизонтальное)\n */\n mode?: 'vertical' | 'horizontal' | 'auto';\n}\n\nconst getItemsLayoutClassName = (\n itemsLayout: TabbarProps['mode'],\n children: TabbarProps['children'],\n): string => {\n switch (itemsLayout) {\n case 'horizontal':\n return 'vkuiInternalTabbar--layout-horizontal';\n case 'vertical':\n return 'vkuiInternalTabbar--layout-vertical';\n default:\n return React.Children.count(children) > 2\n ? getItemsLayoutClassName('vertical', [])\n : getItemsLayoutClassName('horizontal', []);\n }\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabbar\n */\nexport const Tabbar = ({ children, shadow = true, mode, className, ...restProps }: TabbarProps) => {\n const platform = usePlatform();\n\n return (\n <div\n className={classNames(\n 'vkuiInternalTabbar',\n styles['Tabbar'],\n platform === Platform.IOS && styles['Tabbar--ios'],\n getItemsLayoutClassName(mode, children),\n shadow && styles['Tabbar--shadow'],\n className,\n )}\n {...restProps}\n >\n {children}\n </div>\n );\n};\n"],"names":["Tabbar","getItemsLayoutClassName","itemsLayout","children","React","Children","count","shadow","mode","className","restProps","platform","usePlatform","div","classNames","Platform","IOS"],"mappings":";;;;+BAoCaA;;;eAAAA;;;;;;+DApCU;oBACI;2BACC;wBACH;AAczB,IAAMC,0BAA0B,SAC9BC,aACAC;IAEA,OAAQD;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAOE,OAAMC,SAASC,MAAMH,YAAY,IACpCF,wBAAwB,YAAY,EAAE,IACtCA,wBAAwB,cAAc,EAAE;IAChD;AACF;AAKO,IAAMD,SAAS;QAAGG,kBAAAA,iCAAUI,QAAAA,oCAAS,sBAAMC,cAAAA,MAAMC,mBAAAA,WAAcC;QAA7CP;QAAUI;QAAeC;QAAMC;;IACtD,IAAME,WAAWC,IAAAA;IAEjB,qBACE,qBAACC;QACCJ,WAAWK,IAAAA,kBACT,oCAEAH,aAAaI,mBAASC,0BACtBf,wBAAwBO,MAAML,WAC9BI,gCACAE;OAEEC,YAEHP;AAGP"}
1
+ {"version":3,"sources":["../../../../src/components/Tabbar/Tabbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport styles from './Tabbar.module.css';\n\nexport interface TabbarProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Флаг для показа/скрытия верхней тени (Android) или границы (iOS)\n */\n shadow?: boolean;\n /**\n * Задает расположение элементов (вертикальное/горизонтальное)\n */\n mode?: 'vertical' | 'horizontal' | 'auto';\n}\n\nconst getItemsLayoutClassName = (\n itemsLayout: TabbarProps['mode'],\n children: TabbarProps['children'],\n): string => {\n switch (itemsLayout) {\n case 'horizontal':\n return 'vkuiInternalTabbar--layout-horizontal';\n case 'vertical':\n return 'vkuiInternalTabbar--layout-vertical';\n default:\n return React.Children.count(children) > 2\n ? getItemsLayoutClassName('vertical', [])\n : getItemsLayoutClassName('horizontal', []);\n }\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabbar\n */\nexport const Tabbar = ({ children, shadow = true, mode, className, ...restProps }: TabbarProps) => {\n const platform = usePlatform();\n\n return (\n <div\n className={classNames(\n 'vkuiInternalTabbar',\n styles['Tabbar'],\n platform === Platform.IOS && styles['Tabbar--ios'],\n getItemsLayoutClassName(mode, children),\n shadow && styles['Tabbar--shadow'],\n className,\n )}\n {...restProps}\n >\n {children}\n </div>\n );\n};\n"],"names":["Tabbar","getItemsLayoutClassName","itemsLayout","children","React","Children","count","shadow","mode","className","restProps","platform","usePlatform","div","classNames","Platform","IOS"],"mappings":";;;;+BAoCaA;;;eAAAA;;;;;;+DApCU;oBACI;2BACC;wBACH;AAczB,IAAMC,0BAA0B,SAC9BC,aACAC;IAEA,OAAQD;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAOE,OAAMC,QAAQ,CAACC,KAAK,CAACH,YAAY,IACpCF,wBAAwB,YAAY,EAAE,IACtCA,wBAAwB,cAAc,EAAE;IAChD;AACF;AAKO,IAAMD,SAAS;QAAGG,kBAAAA,iCAAUI,QAAAA,oCAAS,sBAAMC,cAAAA,MAAMC,mBAAAA,WAAcC;QAA7CP;QAAUI;QAAeC;QAAMC;;IACtD,IAAME,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,qBAACC;QACCJ,WAAWK,IAAAA,gBAAU,EACnB,oCAEAH,aAAaI,kBAAQ,CAACC,GAAG,uBACzBf,wBAAwBO,MAAML,WAC9BI,gCACAE;OAEEC,YAEHP;AAGP"}
@@ -43,7 +43,7 @@ var TabbarItem = function(_param) {
43
43
  ref: getRootRef,
44
44
  disabled: disabled,
45
45
  href: href,
46
- className: (0, _vkjs.classNames)("vkuiTabbarItem", platform === _platform.Platform.IOS && "vkuiTabbarItem--ios", platform === _platform.Platform.ANDROID && "vkuiTabbarItem--android", selected && "vkuiTabbarItem--selected", !!text && "vkuiTabbarItem--text", className)
46
+ className: (0, _vkjs.classNames)("vkuiTabbarItem", platform === _platform.Platform.IOS && "vkuiTabbarItem--ios", platform === _platform.Platform.ANDROID && "vkuiTabbarItem--android", selected && "vkuiTabbarItem--selected", className)
47
47
  }), /*#__PURE__*/ _react.createElement(_Tappable.Tappable, {
48
48
  role: "presentation",
49
49
  Component: "div",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { HasComponent, HasRootRef } from '../../types';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './TabbarItem.module.css';\n\nexport interface TabbarItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Текст рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n}\n\nconst warn = warnOnce('TabbarItem');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabbarItem\n */\nexport const TabbarItem = ({\n children,\n selected,\n indicator,\n text,\n href,\n Component = href ? 'a' : 'button',\n disabled,\n className,\n getRootRef,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n if (process.env.NODE_ENV === 'development') {\n const hasAccessibleName = text || restProps['aria-label'] || restProps['aria-labelledby'];\n\n if (!hasAccessibleName) {\n warn(COMMON_WARNINGS.a11y[Component === 'a' ? 'link-name' : 'button-name'], 'error');\n }\n }\n\n return (\n <Component\n {...restProps}\n ref={getRootRef}\n disabled={disabled}\n href={href}\n className={classNames(\n styles['TabbarItem'],\n platform === Platform.IOS && styles['TabbarItem--ios'],\n platform === Platform.ANDROID && styles['TabbarItem--android'],\n selected && styles['TabbarItem--selected'],\n !!text && styles['TabbarItem--text'],\n className,\n )}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS ? styles['TabbarItem__tappable--active'] : 'background'\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n className={styles['TabbarItem__tappable']}\n />\n <div className={styles['TabbarItem__in']}>\n <div className={styles['TabbarItem__icon']}>\n {children}\n <div className=\"vkuiInternalTabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n </div>\n </div>\n {text && (\n <Footnote Component=\"div\" className={styles['TabbarItem__text']} weight=\"2\">\n {text}\n </Footnote>\n )}\n </div>\n </Component>\n );\n};\n"],"names":["TabbarItem","warn","warnOnce","children","selected","indicator","text","href","Component","disabled","className","getRootRef","restProps","platform","usePlatform","process","env","NODE_ENV","hasAccessibleName","COMMON_WARNINGS","a11y","ref","classNames","Platform","IOS","ANDROID","Tappable","role","activeMode","activeEffectDelay","hasHover","div","hasReactNode","Footnote","weight"],"mappings":";;;;+BA8BaA;;;eAAAA;;;;;;;+DA9BU;oBACkB;2BACb;wBACH;wBACiB;wBAEjB;wBACA;AAkBzB,IAAMC,OAAOC,IAAAA,oBAAS;AAKf,IAAMF,aAAa;QACxBG,kBAAAA,UACAC,kBAAAA,UACAC,mBAAAA,WACAC,cAAAA,MACAC,cAAAA,gCACAC,WAAAA,0CAAYD,OAAO,MAAM,6BACzBE,kBAAAA,UACAC,mBAAAA,WACAC,oBAAAA,YACGC;QATHT;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,IAAAA;IAEjB,IAAIC,QAAQC,IAAIC,aAAa,eAAe;QAC1C,IAAMC,oBAAoBZ,QAAQM,SAAS,CAAC,aAAa,IAAIA,SAAS,CAAC,kBAAkB;QAEzF,IAAI,CAACM,mBAAmB;YACtBjB,KAAKkB,0BAAgBC,IAAI,CAACZ,cAAc,MAAM,cAAc,cAAc,EAAE;QAC9E;IACF;IAEA,qBACE,qBAACA,uDACKI;QACJS,KAAKV;QACLF,UAAUA;QACVF,MAAMA;QACNG,WAAWY,IAAAA,oCAETT,aAAaU,mBAASC,8BACtBX,aAAaU,mBAASE,sCACtBrB,wCACA,CAAC,CAACE,gCACFI;sBAGF,qBAACgB;QACCC,MAAK;QACLnB,WAAU;QACVC,UAAUA;QACVmB,YACEf,aAAaU,mBAASC,2CAA+C;QAEvEK,mBAAmBhB,aAAaU,mBAASC,MAAM,IAAI;QACnDM,UAAU;QACVpB,SAAS;sBAEX,qBAACqB;QAAIrB,SAAS;qBACZ,qBAACqB;QAAIrB,SAAS;OACXP,wBACD,qBAAC4B;QAAIrB,WAAU;OACZsB,IAAAA,oBAAa3B,cAAcA,aAG/BC,sBACC,qBAAC2B;QAASzB,WAAU;QAAME,SAAS;QAA8BwB,QAAO;OACrE5B;AAMb"}
1
+ {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { HasComponent, HasRootRef } from '../../types';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './TabbarItem.module.css';\n\nexport interface TabbarItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Текст рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n}\n\nconst warn = warnOnce('TabbarItem');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabbarItem\n */\nexport const TabbarItem = ({\n children,\n selected,\n indicator,\n text,\n href,\n Component = href ? 'a' : 'button',\n disabled,\n className,\n getRootRef,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n if (process.env.NODE_ENV === 'development') {\n const hasAccessibleName = text || restProps['aria-label'] || restProps['aria-labelledby'];\n\n if (!hasAccessibleName) {\n warn(COMMON_WARNINGS.a11y[Component === 'a' ? 'link-name' : 'button-name'], 'error');\n }\n }\n\n return (\n <Component\n {...restProps}\n ref={getRootRef}\n disabled={disabled}\n href={href}\n className={classNames(\n styles['TabbarItem'],\n platform === Platform.IOS && styles['TabbarItem--ios'],\n platform === Platform.ANDROID && styles['TabbarItem--android'],\n selected && styles['TabbarItem--selected'],\n className,\n )}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS ? styles['TabbarItem__tappable--active'] : 'background'\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n className={styles['TabbarItem__tappable']}\n />\n <div className={styles['TabbarItem__in']}>\n <div className={styles['TabbarItem__icon']}>\n {children}\n <div className=\"vkuiInternalTabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n </div>\n </div>\n {text && (\n <Footnote Component=\"div\" className={styles['TabbarItem__text']} weight=\"2\">\n {text}\n </Footnote>\n )}\n </div>\n </Component>\n );\n};\n"],"names":["TabbarItem","warn","warnOnce","children","selected","indicator","text","href","Component","disabled","className","getRootRef","restProps","platform","usePlatform","process","env","NODE_ENV","hasAccessibleName","COMMON_WARNINGS","a11y","ref","classNames","Platform","IOS","ANDROID","Tappable","role","activeMode","activeEffectDelay","hasHover","div","hasReactNode","Footnote","weight"],"mappings":";;;;+BA8BaA;;;eAAAA;;;;;;;+DA9BU;oBACkB;2BACb;wBACH;wBACiB;wBAEjB;wBACA;AAkBzB,IAAMC,OAAOC,IAAAA,kBAAQ,EAAC;AAKf,IAAMF,aAAa;QACxBG,kBAAAA,UACAC,kBAAAA,UACAC,mBAAAA,WACAC,cAAAA,MACAC,cAAAA,gCACAC,WAAAA,0CAAYD,OAAO,MAAM,6BACzBE,kBAAAA,UACAC,mBAAAA,WACAC,oBAAAA,YACGC;QATHT;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,IAAAA,wBAAW;IAE5B,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,IAAMC,oBAAoBZ,QAAQM,SAAS,CAAC,aAAa,IAAIA,SAAS,CAAC,kBAAkB;QAEzF,IAAI,CAACM,mBAAmB;YACtBjB,KAAKkB,yBAAe,CAACC,IAAI,CAACZ,cAAc,MAAM,cAAc,cAAc,EAAE;QAC9E;IACF;IAEA,qBACE,qBAACA,uDACKI;QACJS,KAAKV;QACLF,UAAUA;QACVF,MAAMA;QACNG,WAAWY,IAAAA,gBAAU,oBAEnBT,aAAaU,kBAAQ,CAACC,GAAG,2BACzBX,aAAaU,kBAAQ,CAACE,OAAO,+BAC7BrB,wCACAM;sBAGF,qBAACgB,kBAAQ;QACPC,MAAK;QACLnB,WAAU;QACVC,UAAUA;QACVmB,YACEf,aAAaU,kBAAQ,CAACC,GAAG,wCAA4C;QAEvEK,mBAAmBhB,aAAaU,kBAAQ,CAACC,GAAG,GAAG,IAAI;QACnDM,UAAU;QACVpB,SAAS;sBAEX,qBAACqB;QAAIrB,SAAS;qBACZ,qBAACqB;QAAIrB,SAAS;OACXP,wBACD,qBAAC4B;QAAIrB,WAAU;OACZsB,IAAAA,kBAAY,EAAC3B,cAAcA,aAG/BC,sBACC,qBAAC2B,kBAAQ;QAACzB,WAAU;QAAME,SAAS;QAA8BwB,QAAO;OACrE5B;AAMb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { pressedKey } from '../../lib/accessibility';\nimport { useDOM } from '../../lib/dom';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport styles from './Tabs.module.css';\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n mode?: 'default' | 'accent' | 'secondary';\n}\n\nexport interface TabsContextProps {\n mode: TabsProps['mode'];\n withGaps: boolean;\n}\n\nexport const TabsModeContext = React.createContext<TabsContextProps>({\n mode: 'default',\n withGaps: false,\n});\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nexport const Tabs = ({\n children,\n mode = 'default',\n getRootRef,\n className,\n role = 'tablist',\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n const { document } = useDOM();\n\n const isTabFlow = role === 'tablist';\n\n const tabsRef = React.useRef<HTMLDivElement>(null);\n\n const withGaps = mode === 'accent' || mode === 'secondary';\n\n const getTabEls = () => {\n if (!tabsRef.current) {\n return [];\n }\n\n return Array.from(\n // eslint-disable-next-line no-restricted-properties\n tabsRef.current.querySelectorAll<HTMLDivElement>('[role=tab]:not([disabled])'),\n );\n };\n\n const handleDocumentKeydown = (event: KeyboardEvent) => {\n if (!document || !tabsRef.current || !isTabFlow) {\n return;\n }\n\n const key = pressedKey(event);\n\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'End':\n case 'Home': {\n const tabEls = getTabEls();\n const currentFocusedElIndex = tabEls.findIndex((el) => document.activeElement === el);\n if (currentFocusedElIndex === -1) {\n return;\n }\n\n let nextIndex = 0;\n if (key === 'Home') {\n nextIndex = 0;\n } else if (key === 'End') {\n nextIndex = tabEls.length - 1;\n } else {\n const offset = key === 'ArrowRight' ? 1 : -1;\n nextIndex = currentFocusedElIndex + offset;\n }\n\n const nextTabEl = tabEls[nextIndex];\n\n if (nextTabEl) {\n event.preventDefault();\n nextTabEl.focus();\n }\n\n break;\n }\n /*\n В JAWS и NVDA стрелка вниз активирует контент.\n Это не прописано в стандартах, но по ссылке ниже это рекомендуется делать.\n https://inclusive-components.design/tabbed-interfaces/\n */\n case 'ArrowDown': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n\n if (!currentFocusedEl || currentFocusedEl.getAttribute('aria-selected') !== 'true') {\n return;\n }\n\n const relatedContentElId = currentFocusedEl.getAttribute('aria-controls');\n if (!relatedContentElId) {\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const relatedContentEl = document.getElementById(relatedContentElId);\n if (!relatedContentEl) {\n return;\n }\n\n event.preventDefault();\n relatedContentEl.focus();\n\n break;\n }\n case 'Space':\n case 'Enter': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n if (currentFocusedEl) {\n currentFocusedEl.click();\n }\n }\n }\n };\n\n useGlobalEventListener(document, 'keydown', handleDocumentKeydown, {\n capture: true,\n });\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Tabs'],\n 'vkuiInternalTabs',\n platform === Platform.VKCOM && 'vkuiInternalTabs--vkcom',\n withGaps && classNames(styles['Tabs--withGaps'], 'vkuiInternalTabs--withGaps'),\n mode === 'default' && styles['Tabs--mode-default'],\n className,\n )}\n role={role}\n >\n <div className={styles['Tabs__in']} ref={tabsRef}>\n <TabsModeContext.Provider value={{ mode, withGaps }}>{children}</TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n"],"names":["TabsModeContext","Tabs","React","createContext","mode","withGaps","children","getRootRef","className","role","restProps","platform","usePlatform","document","useDOM","isTabFlow","tabsRef","useRef","getTabEls","current","Array","from","querySelectorAll","handleDocumentKeydown","event","key","pressedKey","tabEls","currentFocusedElIndex","findIndex","el","activeElement","nextIndex","length","offset","nextTabEl","preventDefault","focus","currentFocusedEl","find","getAttribute","relatedContentElId","relatedContentEl","getElementById","click","useGlobalEventListener","capture","div","ref","classNames","Platform","VKCOM","Provider","value"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { pressedKey } from '../../lib/accessibility';\nimport { useDOM } from '../../lib/dom';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport styles from './Tabs.module.css';\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n mode?: 'default' | 'accent' | 'secondary';\n}\n\nexport interface TabsContextProps {\n mode: TabsProps['mode'];\n withGaps: boolean;\n}\n\nexport const TabsModeContext = React.createContext<TabsContextProps>({\n mode: 'default',\n withGaps: false,\n});\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nexport const Tabs = ({\n children,\n mode = 'default',\n getRootRef,\n className,\n role = 'tablist',\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n const { document } = useDOM();\n\n const isTabFlow = role === 'tablist';\n\n const tabsRef = React.useRef<HTMLDivElement>(null);\n\n const withGaps = mode === 'accent' || mode === 'secondary';\n\n const getTabEls = () => {\n if (!tabsRef.current) {\n return [];\n }\n\n return Array.from(\n // eslint-disable-next-line no-restricted-properties\n tabsRef.current.querySelectorAll<HTMLDivElement>('[role=tab]:not([disabled])'),\n );\n };\n\n const handleDocumentKeydown = (event: KeyboardEvent) => {\n if (!document || !tabsRef.current || !isTabFlow) {\n return;\n }\n\n const key = pressedKey(event);\n\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'End':\n case 'Home': {\n const tabEls = getTabEls();\n const currentFocusedElIndex = tabEls.findIndex((el) => document.activeElement === el);\n if (currentFocusedElIndex === -1) {\n return;\n }\n\n let nextIndex = 0;\n if (key === 'Home') {\n nextIndex = 0;\n } else if (key === 'End') {\n nextIndex = tabEls.length - 1;\n } else {\n const offset = key === 'ArrowRight' ? 1 : -1;\n nextIndex = currentFocusedElIndex + offset;\n }\n\n const nextTabEl = tabEls[nextIndex];\n\n if (nextTabEl) {\n event.preventDefault();\n nextTabEl.focus();\n }\n\n break;\n }\n /*\n В JAWS и NVDA стрелка вниз активирует контент.\n Это не прописано в стандартах, но по ссылке ниже это рекомендуется делать.\n https://inclusive-components.design/tabbed-interfaces/\n */\n case 'ArrowDown': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n\n if (!currentFocusedEl || currentFocusedEl.getAttribute('aria-selected') !== 'true') {\n return;\n }\n\n const relatedContentElId = currentFocusedEl.getAttribute('aria-controls');\n if (!relatedContentElId) {\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const relatedContentEl = document.getElementById(relatedContentElId);\n if (!relatedContentEl) {\n return;\n }\n\n event.preventDefault();\n relatedContentEl.focus();\n\n break;\n }\n case 'Space':\n case 'Enter': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n if (currentFocusedEl) {\n currentFocusedEl.click();\n }\n }\n }\n };\n\n useGlobalEventListener(document, 'keydown', handleDocumentKeydown, {\n capture: true,\n });\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Tabs'],\n 'vkuiInternalTabs',\n platform === Platform.VKCOM && 'vkuiInternalTabs--vkcom',\n withGaps && classNames(styles['Tabs--withGaps'], 'vkuiInternalTabs--withGaps'),\n mode === 'default' && styles['Tabs--mode-default'],\n className,\n )}\n role={role}\n >\n <div className={styles['Tabs__in']} ref={tabsRef}>\n <TabsModeContext.Provider value={{ mode, withGaps }}>{children}</TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n"],"names":["TabsModeContext","Tabs","React","createContext","mode","withGaps","children","getRootRef","className","role","restProps","platform","usePlatform","document","useDOM","isTabFlow","tabsRef","useRef","getTabEls","current","Array","from","querySelectorAll","handleDocumentKeydown","event","key","pressedKey","tabEls","currentFocusedElIndex","findIndex","el","activeElement","nextIndex","length","offset","nextTabEl","preventDefault","focus","currentFocusedEl","find","getAttribute","relatedContentElId","relatedContentEl","getElementById","click","useGlobalEventListener","capture","div","ref","classNames","Platform","VKCOM","Provider","value"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabsItem/TabsItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { SizeType } from '../../lib/adaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { TabsContextProps, TabsModeContext } from '../Tabs/Tabs';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './TabsItem.module.css';\n\nconst sizeYClassNames = {\n none: styles['TabsItem--sizeY-none'],\n [SizeType.COMPACT]: styles['TabsItem--sizeY-compact'],\n};\n\nexport interface TabsItemProps extends React.HTMLAttributes<HTMLElement> {\n /**\n * Добавляет иконку слева.\n *\n * - Для `mode=\"default\"` используйте иконки размером 24.\n * - Для всех остальных `mode` используйте иконки размером 20.\n */\n before?: React.ReactNode;\n /**\n * Добавляет элемент слева от `after`.\n *\n * - `React.ReactElement` – либо [`Badge`](https://vkcom.github.io/VKUI/#/Badge) с параметром `mode=\"prominent\"`.\n * либо [`Counter`](https://vkcom.github.io/VKUI/#/Counter) с параметрами `mode=\"prominent\" size=\"s\"`.\n * - `number` – для показа текстового блока с переданным числом.\n */\n status?: React.ReactElement | number;\n /**\n * Добавляет иконку справа.\n *\n * Например, `<Icon16Dropdown />`\n */\n after?: React.ReactNode;\n selected?: boolean;\n disabled?: boolean;\n}\n\nconst warn = warnOnce('TabsItem');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabsItem\n */\nexport const TabsItem = ({\n before,\n children,\n status,\n after,\n selected = false,\n className,\n role = 'tab',\n tabIndex: tabIndexProp,\n ...restProps\n}: TabsItemProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n const { mode, withGaps }: TabsContextProps = React.useContext(TabsModeContext);\n let statusComponent = null;\n\n const isTabFlow = role === 'tab';\n\n if (status) {\n statusComponent =\n typeof status === 'number' ? (\n <Subhead\n Component=\"span\"\n className={classNames(styles['TabsItem__status'], styles['TabsItem__status--count'])}\n weight=\"2\"\n >\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </Subhead>\n ) : (\n <span className={styles['TabsItem__status']}>\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </span>\n );\n }\n\n if (process.env.NODE_ENV === 'development' && isTabFlow) {\n if (!restProps['aria-controls']) {\n warn(`Передайте в \"aria-controls\" id контролируемого блока`, 'warn');\n } else if (!restProps['id']) {\n warn(\n `Передайте \"id\" компоненту для использования в \"aria-labelledby\" контролируемого блока`,\n 'warn',\n );\n }\n }\n\n let tabIndex = tabIndexProp;\n if (isTabFlow && tabIndex === undefined) {\n tabIndex = selected ? 0 : -1;\n }\n\n return (\n <Tappable\n {...restProps}\n className={classNames(\n styles['TabsItem'],\n mode &&\n {\n default: styles['TabsItem--mode-default'],\n accent: styles['TabsItem--mode-accent'],\n secondary: styles['TabsItem--mode-secondary'],\n }[mode],\n selected && styles['TabsItem--selected'],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n withGaps && styles['TabsItem--withGaps'],\n className,\n )}\n hoverMode={styles['TabsItem--hover']}\n activeMode=\"\"\n focusVisibleMode=\"inside\"\n hasActive={false}\n role={role}\n aria-selected={selected}\n tabIndex={tabIndex}\n >\n {before && <div className={styles['TabsItem__before']}>{before}</div>}\n <Headline\n Component=\"span\"\n className={styles['TabsItem__label']}\n level={mode === 'default' ? '1' : '2'}\n weight=\"2\"\n >\n {children}\n </Headline>\n {statusComponent}\n {after && <div className={styles['TabsItem__after']}>{after}</div>}\n {mode === 'default' && (\n <div className={styles['TabsItem__underline']} aria-hidden data-selected={selected} />\n )}\n </Tappable>\n );\n};\n"],"names":["TabsItem","sizeYClassNames","none","SizeType","COMPACT","warn","warnOnce","before","children","status","after","selected","className","role","tabIndex","tabIndexProp","restProps","useAdaptivity","sizeY","React","useContext","TabsModeContext","mode","withGaps","statusComponent","isTabFlow","Subhead","Component","classNames","weight","VisuallyHidden","span","process","env","NODE_ENV","undefined","Tappable","default","accent","secondary","REGULAR","hoverMode","activeMode","focusVisibleMode","hasActive","aria-selected","div","Headline","level","aria-hidden","data-selected"],"mappings":";;;;+BAgDaA;;;eAAAA;;;;;;;;+DAhDU;oBACI;6BACG;0BACL;wBACA;oBACyB;wBACzB;wBACA;uBACD;8BACO;AAG/B,IAAMC;IACJC,IAAI;GACHC,qBAASC;AA6BZ,IAAMC,OAAOC,IAAAA,oBAAS;AAKf,IAAMN,WAAW;QACtBO,gBAAAA,QACAC,kBAAAA,UACAC,gBAAAA,QACAC,eAAAA,gCACAC,UAAAA,wCAAW,yBACXC,mBAAAA,gCACAC,MAAAA,gCAAO,qBACPC,AAAUC,sBAAVD,UACGE;QARHT;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAA2BG,kBAAAA,IAAAA,wDAAAA,gBAAnBC,OAAAA,0CAAQ;IAChB,IAA6CC,oBAAAA,OAAMC,WAAWC,wBAAtDC,OAAqCH,kBAArCG,MAAMC,WAA+BJ,kBAA/BI;IACd,IAAIC,kBAAkB;IAEtB,IAAMC,YAAYZ,SAAS;IAE3B,IAAIJ,QAAQ;QACVe,kBACE,OAAOf,WAAW,yBAChB,qBAACiB;YACCC,WAAU;YACVf,WAAWgB,IAAAA;YACXC,QAAO;yBAEP,qBAACC,sCAAe,SACfrB,wBAGH,qBAACsB;YAAKnB,SAAS;yBACb,qBAACkB,sCAAe,SACfrB;IAGT;IAEA,IAAIuB,QAAQC,IAAIC,aAAa,iBAAiBT,WAAW;QACvD,IAAI,CAACT,SAAS,CAAC,gBAAgB,EAAE;YAC/BX,KAAM,wDAAuD;QAC/D,OAAO,IAAI,CAACW,SAAS,CAAC,KAAK,EAAE;YAC3BX,KACG,yFACD;QAEJ;IACF;IAEA,IAAIS,WAAWC;IACf,IAAIU,aAAaX,aAAaqB,WAAW;QACvCrB,WAAWH,WAAW,IAAI,CAAC;IAC7B;IAEA,qBACE,qBAACyB,gEACKpB;QACJJ,WAAWgB,IAAAA,kCAETN,QACE,CAAA;YACEe,OAAO;YACPC,MAAM;YACNC,SAAS;QACX,CAAA,CAAC,CAACjB,KAAK,EACTX,sCACAO,UAAUf,qBAASqC,WAAWvC,eAAe,CAACiB,MAAM,EACpDK,sCACAX;QAEF6B,SAAS;QACTC,YAAW;QACXC,kBAAiB;QACjBC,WAAW;QACX/B,MAAMA;QACNgC,iBAAelC;QACfG,UAAUA;QAETP,wBAAU,qBAACuC;QAAIlC,SAAS;OAA+BL,uBACxD,qBAACwC;QACCpB,WAAU;QACVf,SAAS;QACToC,OAAO1B,SAAS,YAAY,MAAM;QAClCO,QAAO;OAENrB,WAEFgB,iBACAd,uBAAS,qBAACoC;QAAIlC,SAAS;OAA8BF,QACrDY,SAAS,2BACR,qBAACwB;QAAIlC,SAAS;QAAiCqC,eAAAA;QAAYC,iBAAevC;;AAIlF"}
1
+ {"version":3,"sources":["../../../../src/components/TabsItem/TabsItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { SizeType } from '../../lib/adaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { TabsContextProps, TabsModeContext } from '../Tabs/Tabs';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './TabsItem.module.css';\n\nconst sizeYClassNames = {\n none: styles['TabsItem--sizeY-none'],\n [SizeType.COMPACT]: styles['TabsItem--sizeY-compact'],\n};\n\nexport interface TabsItemProps extends React.HTMLAttributes<HTMLElement> {\n /**\n * Добавляет иконку слева.\n *\n * - Для `mode=\"default\"` используйте иконки размером 24.\n * - Для всех остальных `mode` используйте иконки размером 20.\n */\n before?: React.ReactNode;\n /**\n * Добавляет элемент слева от `after`.\n *\n * - `React.ReactElement` – либо [`Badge`](https://vkcom.github.io/VKUI/#/Badge) с параметром `mode=\"prominent\"`.\n * либо [`Counter`](https://vkcom.github.io/VKUI/#/Counter) с параметрами `mode=\"prominent\" size=\"s\"`.\n * - `number` – для показа текстового блока с переданным числом.\n */\n status?: React.ReactElement | number;\n /**\n * Добавляет иконку справа.\n *\n * Например, `<Icon16Dropdown />`\n */\n after?: React.ReactNode;\n selected?: boolean;\n disabled?: boolean;\n}\n\nconst warn = warnOnce('TabsItem');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabsItem\n */\nexport const TabsItem = ({\n before,\n children,\n status,\n after,\n selected = false,\n className,\n role = 'tab',\n tabIndex: tabIndexProp,\n ...restProps\n}: TabsItemProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n const { mode, withGaps }: TabsContextProps = React.useContext(TabsModeContext);\n let statusComponent = null;\n\n const isTabFlow = role === 'tab';\n\n if (status) {\n statusComponent =\n typeof status === 'number' ? (\n <Subhead\n Component=\"span\"\n className={classNames(styles['TabsItem__status'], styles['TabsItem__status--count'])}\n weight=\"2\"\n >\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </Subhead>\n ) : (\n <span className={styles['TabsItem__status']}>\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </span>\n );\n }\n\n if (process.env.NODE_ENV === 'development' && isTabFlow) {\n if (!restProps['aria-controls']) {\n warn(`Передайте в \"aria-controls\" id контролируемого блока`, 'warn');\n } else if (!restProps['id']) {\n warn(\n `Передайте \"id\" компоненту для использования в \"aria-labelledby\" контролируемого блока`,\n 'warn',\n );\n }\n }\n\n let tabIndex = tabIndexProp;\n if (isTabFlow && tabIndex === undefined) {\n tabIndex = selected ? 0 : -1;\n }\n\n return (\n <Tappable\n {...restProps}\n className={classNames(\n styles['TabsItem'],\n mode &&\n {\n default: styles['TabsItem--mode-default'],\n accent: styles['TabsItem--mode-accent'],\n secondary: styles['TabsItem--mode-secondary'],\n }[mode],\n selected && styles['TabsItem--selected'],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n withGaps && styles['TabsItem--withGaps'],\n className,\n )}\n hoverMode={styles['TabsItem--hover']}\n activeMode=\"\"\n focusVisibleMode=\"inside\"\n hasActive={false}\n role={role}\n aria-selected={selected}\n tabIndex={tabIndex}\n >\n {before && <div className={styles['TabsItem__before']}>{before}</div>}\n <Headline\n Component=\"span\"\n className={styles['TabsItem__label']}\n level={mode === 'default' ? '1' : '2'}\n weight=\"2\"\n >\n {children}\n </Headline>\n {statusComponent}\n {after && <div className={styles['TabsItem__after']}>{after}</div>}\n {mode === 'default' && (\n <div className={styles['TabsItem__underline']} aria-hidden data-selected={selected} />\n )}\n </Tappable>\n );\n};\n"],"names":["TabsItem","sizeYClassNames","none","SizeType","COMPACT","warn","warnOnce","before","children","status","after","selected","className","role","tabIndex","tabIndexProp","restProps","useAdaptivity","sizeY","React","useContext","TabsModeContext","mode","withGaps","statusComponent","isTabFlow","Subhead","Component","classNames","weight","VisuallyHidden","span","process","env","NODE_ENV","undefined","Tappable","default","accent","secondary","REGULAR","hoverMode","activeMode","focusVisibleMode","hasActive","aria-selected","div","Headline","level","aria-hidden","data-selected"],"mappings":";;;;+BAgDaA;;;eAAAA;;;;;;;;+DAhDU;oBACI;6BACG;0BACL;wBACA;oBACyB;wBACzB;wBACA;uBACD;8BACO;AAG/B,IAAMC;IACJC,IAAI;GACHC,oBAAQ,CAACC,OAAO;AA6BnB,IAAMC,OAAOC,IAAAA,kBAAQ,EAAC;AAKf,IAAMN,WAAW;QACtBO,gBAAAA,QACAC,kBAAAA,UACAC,gBAAAA,QACAC,eAAAA,gCACAC,UAAAA,wCAAW,yBACXC,mBAAAA,gCACAC,MAAAA,gCAAO,qBACPC,AAAUC,sBAAVD,UACGE;QARHT;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAA2BG,kBAAAA,IAAAA,4BAAa,4BAAbA,gBAAnBC,OAAAA,0CAAQ;IAChB,IAA6CC,oBAAAA,OAAMC,UAAU,CAACC,qBAAe,GAArEC,OAAqCH,kBAArCG,MAAMC,WAA+BJ,kBAA/BI;IACd,IAAIC,kBAAkB;IAEtB,IAAMC,YAAYZ,SAAS;IAE3B,IAAIJ,QAAQ;QACVe,kBACE,OAAOf,WAAW,yBAChB,qBAACiB,gBAAO;YACNC,WAAU;YACVf,WAAWgB,IAAAA,gBAAU;YACrBC,QAAO;yBAEP,qBAACC,8BAAc,QAAC,SACfrB,wBAGH,qBAACsB;YAAKnB,SAAS;yBACb,qBAACkB,8BAAc,QAAC,SACfrB;IAGT;IAEA,IAAIuB,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiBT,WAAW;QACvD,IAAI,CAACT,SAAS,CAAC,gBAAgB,EAAE;YAC/BX,KAAM,wDAAuD;QAC/D,OAAO,IAAI,CAACW,SAAS,CAAC,KAAK,EAAE;YAC3BX,KACG,yFACD;QAEJ;IACF;IAEA,IAAIS,WAAWC;IACf,IAAIU,aAAaX,aAAaqB,WAAW;QACvCrB,WAAWH,WAAW,IAAI,CAAC;IAC7B;IAEA,qBACE,qBAACyB,kBAAQ,8CACHpB;QACJJ,WAAWgB,IAAAA,gBAAU,kBAEnBN,QACE,CAAA;YACEe,OAAO;YACPC,MAAM;YACNC,SAAS;QACX,CAAA,CAAC,CAACjB,KAAK,EACTX,sCACAO,UAAUf,oBAAQ,CAACqC,OAAO,IAAIvC,eAAe,CAACiB,MAAM,EACpDK,sCACAX;QAEF6B,SAAS;QACTC,YAAW;QACXC,kBAAiB;QACjBC,WAAW;QACX/B,MAAMA;QACNgC,iBAAelC;QACfG,UAAUA;QAETP,wBAAU,qBAACuC;QAAIlC,SAAS;OAA+BL,uBACxD,qBAACwC,kBAAQ;QACPpB,WAAU;QACVf,SAAS;QACToC,OAAO1B,SAAS,YAAY,MAAM;QAClCO,QAAO;OAENrB,WAEFgB,iBACAd,uBAAS,qBAACoC;QAAIlC,SAAS;OAA8BF,QACrDY,SAAS,2BACR,qBAACwB;QAAIlC,SAAS;QAAiCqC,eAAAA;QAAYC,iBAAevC;;AAIlF"}