@vkontakte/vkui 8.1.2 → 8.2.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.
- package/dist/components/ActionSheet/ActionSheet.d.ts +5 -4
- package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +2 -1
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +3 -3
- package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -2
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +0 -6
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts +0 -1
- package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootContext.js +0 -1
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +1 -1
- package/dist/components/Calendar/Calendar.js +2 -1
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +4 -2
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js +2 -2
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +4 -2
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +2 -2
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.d.ts +1 -1
- package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js +61 -50
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTimePicker.d.ts +11 -7
- package/dist/components/CalendarTime/CalendarTimePicker.d.ts.map +1 -1
- package/dist/components/CalendarTime/CalendarTimePicker.js +108 -48
- package/dist/components/CalendarTime/CalendarTimePicker.js.map +1 -1
- package/dist/components/CalendarTime/ComboBox.d.ts +25 -0
- package/dist/components/CalendarTime/ComboBox.d.ts.map +1 -0
- package/dist/components/CalendarTime/ComboBox.js +112 -0
- package/dist/components/CalendarTime/ComboBox.js.map +1 -0
- package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
- package/dist/components/CardScroll/CardScroll.js +2 -2
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -1
- package/dist/components/CarouselBase/CarouselBase.js +3 -1
- package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.js +2 -1
- package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +8 -4
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js +5 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderSubContexts.d.ts +15 -0
- package/dist/components/ConfigProvider/ConfigProviderSubContexts.d.ts.map +1 -0
- package/dist/components/ConfigProvider/ConfigProviderSubContexts.js +25 -0
- package/dist/components/ConfigProvider/ConfigProviderSubContexts.js.map +1 -0
- package/dist/components/ContentBadge/ContentBadge.d.ts +14 -1
- package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
- package/dist/components/ContentBadge/ContentBadge.js +39 -1
- package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +16 -10
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/DateInput.js +4 -3
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +2 -2
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
- package/dist/components/Epic/ScrollSaver.js +1 -0
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/FixedLayout/ParentWidthWrapper.d.ts +6 -0
- package/dist/components/FixedLayout/ParentWidthWrapper.d.ts.map +1 -0
- package/dist/components/FixedLayout/ParentWidthWrapper.js +43 -0
- package/dist/components/FixedLayout/ParentWidthWrapper.js.map +1 -0
- package/dist/components/Flex/Flex.d.ts +7 -4
- package/dist/components/Flex/Flex.d.ts.map +1 -1
- package/dist/components/Flex/Flex.js +5 -2
- package/dist/components/Flex/Flex.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +3 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.js +6 -2
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.d.ts +2 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.js +8 -4
- package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js +4 -5
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts.map +1 -1
- package/dist/components/Popper/Popper.js +7 -4
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +8 -4
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/Root/Root.d.ts +1 -1
- package/dist/components/Root/Root.d.ts.map +1 -1
- package/dist/components/Root/Root.js +43 -37
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.d.ts +9 -8
- package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.js +9 -2
- package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +3 -4
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
- package/dist/components/Snackbar/Snackbar.js +6 -3
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +1 -1
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.d.ts +10 -0
- package/dist/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.d.ts.map +1 -0
- package/dist/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.js +54 -0
- package/dist/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.js.map +1 -0
- package/dist/components/Spinner/ExpressiveSpinner/icons.d.ts +18 -0
- package/dist/components/Spinner/ExpressiveSpinner/icons.d.ts.map +1 -0
- package/dist/components/Spinner/ExpressiveSpinner/icons.js +79 -0
- package/dist/components/Spinner/ExpressiveSpinner/icons.js.map +1 -0
- package/dist/components/Spinner/SvgIcon.d.ts +14 -0
- package/dist/components/Spinner/SvgIcon.d.ts.map +1 -0
- package/dist/components/Spinner/SvgIcon.js +20 -0
- package/dist/components/Spinner/SvgIcon.js.map +1 -0
- package/dist/components/Spinner/icons.d.ts +1 -1
- package/dist/components/Spinner/icons.d.ts.map +1 -1
- package/dist/components/Spinner/icons.js +10 -23
- package/dist/components/Spinner/icons.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts +3 -3
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
- package/dist/components/TabsItem/TabsItem.js +2 -5
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +2 -2
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/View/View.d.ts.map +1 -1
- package/dist/components/View/View.js +50 -53
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts.map +1 -1
- package/dist/components/View/ViewInfinite.js +34 -37
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +15 -1
- package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
- package/dist/components/WriteBar/WriteBar.js +35 -63
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.d.ts +5 -0
- package/dist/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.d.ts.map +1 -0
- package/dist/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.js +15 -0
- package/dist/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.js.map +1 -0
- package/dist/components/WriteBar/WriteBarFormField/WriteBarFormField.d.ts +8 -0
- package/dist/components/WriteBar/WriteBarFormField/WriteBarFormField.d.ts.map +1 -0
- package/dist/components/WriteBar/WriteBarFormField/WriteBarFormField.js +16 -0
- package/dist/components/WriteBar/WriteBarFormField/WriteBarFormField.js.map +1 -0
- package/dist/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.d.ts +5 -0
- package/dist/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.d.ts.map +1 -0
- package/dist/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.js +15 -0
- package/dist/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.js.map +1 -0
- package/dist/components/WriteBar/WriteBarRoot/WriteBarRoot.d.ts +10 -0
- package/dist/components/WriteBar/WriteBarRoot/WriteBarRoot.d.ts.map +1 -0
- package/dist/components/WriteBar/WriteBarRoot/WriteBarRoot.js +16 -0
- package/dist/components/WriteBar/WriteBarRoot/WriteBarRoot.js.map +1 -0
- package/dist/components/WriteBar/WriteBarTextarea/WriteBarTextarea.d.ts +10 -0
- package/dist/components/WriteBar/WriteBarTextarea/WriteBarTextarea.d.ts.map +1 -0
- package/dist/components/WriteBar/WriteBarTextarea/WriteBarTextarea.js +39 -0
- package/dist/components/WriteBar/WriteBarTextarea/WriteBarTextarea.js.map +1 -0
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -2
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +0 -6
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js +0 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.js +2 -1
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -2
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js +2 -2
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +4 -2
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js +61 -50
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.module.css +38 -0
- package/dist/cssm/components/CalendarTime/CalendarTimePicker.js +108 -48
- package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
- package/dist/cssm/components/CalendarTime/ComboBox.js +113 -0
- package/dist/cssm/components/CalendarTime/ComboBox.js.map +1 -0
- package/dist/cssm/components/CardScroll/CardScroll.js +2 -2
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/CarouselBase/CarouselBase.js +3 -1
- package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js +2 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +8 -4
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +5 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderSubContexts.js +25 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderSubContexts.js.map +1 -0
- package/dist/cssm/components/ContentBadge/ContentBadge.js +39 -1
- package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadge.module.css +88 -90
- package/dist/cssm/components/CustomSelect/CustomSelect.js +16 -10
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +4 -3
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -2
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js +1 -0
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/FixedLayout/ParentWidthWrapper.js +43 -0
- package/dist/cssm/components/FixedLayout/ParentWidthWrapper.js.map +1 -0
- package/dist/cssm/components/Flex/Flex.js +5 -2
- package/dist/cssm/components/Flex/Flex.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.module.css +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +3 -1
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +6 -2
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +8 -4
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +4 -5
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js +7 -4
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +8 -4
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +1 -1
- package/dist/cssm/components/Root/Root.js +43 -37
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/SimpleGrid/SimpleGrid.js +9 -2
- package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/cssm/components/Skeleton/Skeleton.js +3 -4
- package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +6 -3
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.js +56 -0
- package/dist/cssm/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.js.map +1 -0
- package/dist/cssm/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.module.css +13 -0
- package/dist/cssm/components/Spinner/ExpressiveSpinner/icons.js +79 -0
- package/dist/cssm/components/Spinner/ExpressiveSpinner/icons.js.map +1 -0
- package/dist/cssm/components/Spinner/SvgIcon.js +20 -0
- package/dist/cssm/components/Spinner/SvgIcon.js.map +1 -0
- package/dist/cssm/components/Spinner/icons.js +10 -23
- package/dist/cssm/components/Spinner/icons.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +2 -5
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/View/View.js +50 -53
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +34 -37
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +35 -64
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.js +16 -0
- package/dist/cssm/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.js.map +1 -0
- package/dist/cssm/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.module.css +12 -0
- package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormField.js +17 -0
- package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormField.js.map +1 -0
- package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormField.module.css +18 -0
- package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.js +16 -0
- package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.js.map +1 -0
- package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.module.css +3 -0
- package/dist/cssm/components/WriteBar/WriteBarRoot/WriteBarRoot.js +17 -0
- package/dist/cssm/components/WriteBar/WriteBarRoot/WriteBarRoot.js.map +1 -0
- package/dist/cssm/components/WriteBar/WriteBarRoot/WriteBarRoot.module.css +15 -0
- package/dist/cssm/components/WriteBar/WriteBarTextarea/WriteBarTextarea.js +40 -0
- package/dist/cssm/components/WriteBar/WriteBarTextarea/WriteBarTextarea.js.map +1 -0
- package/dist/cssm/components/WriteBar/WriteBarTextarea/WriteBarTextarea.module.css +43 -0
- package/dist/cssm/helpers/math.js +6 -0
- package/dist/cssm/helpers/math.js.map +1 -1
- package/dist/cssm/hoc/withPlatform.js +3 -2
- package/dist/cssm/hoc/withPlatform.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/types.js.map +1 -1
- package/dist/cssm/hooks/useAnimationFrame.js +40 -0
- package/dist/cssm/hooks/useAnimationFrame.js.map +1 -0
- package/dist/cssm/hooks/useAutoFocus.js +4 -1
- package/dist/cssm/hooks/useAutoFocus.js.map +1 -1
- package/dist/cssm/hooks/useColorScheme.js +3 -3
- package/dist/cssm/hooks/useColorScheme.js.map +1 -1
- package/dist/cssm/hooks/useConfigDirection.js +3 -3
- package/dist/cssm/hooks/useConfigDirection.js.map +1 -1
- package/dist/cssm/hooks/useDateInput.js +1 -2
- package/dist/cssm/hooks/useDateInput.js.map +1 -1
- package/dist/cssm/hooks/useFocusTrap/useAutoFocus.js +1 -0
- package/dist/cssm/hooks/useFocusTrap/useAutoFocus.js.map +1 -1
- package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +2 -0
- package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
- package/dist/cssm/hooks/useFocusVisible.js +8 -13
- package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
- package/dist/cssm/hooks/useFocusWithin.js +5 -4
- package/dist/cssm/hooks/useFocusWithin.js.map +1 -1
- package/dist/cssm/hooks/useGlobalEscKeyDown.js +17 -15
- package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
- package/dist/cssm/hooks/useGlobalOnClickOutside.js +6 -2
- package/dist/cssm/hooks/useGlobalOnClickOutside.js.map +1 -1
- package/dist/cssm/hooks/useKeyboardInputTracker.js +48 -41
- package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/cssm/hooks/useLatestRef.js +13 -0
- package/dist/cssm/hooks/useLatestRef.js.map +1 -0
- package/dist/cssm/hooks/useLocale.js +3 -3
- package/dist/cssm/hooks/useLocale.js.map +1 -1
- package/dist/cssm/hooks/useMediaQueryMatch.js +1 -0
- package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -1
- package/dist/cssm/hooks/useMutationObserver.js +3 -3
- package/dist/cssm/hooks/useMutationObserver.js.map +1 -1
- package/dist/cssm/hooks/usePlatform.js +3 -3
- package/dist/cssm/hooks/usePlatform.js.map +1 -1
- package/dist/cssm/hooks/useResizeObserver.js +4 -6
- package/dist/cssm/hooks/useResizeObserver.js.map +1 -1
- package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js +2 -1
- package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
- package/dist/cssm/hooks/useSyncHTMLWithTokens.js +3 -1
- package/dist/cssm/hooks/useSyncHTMLWithTokens.js.map +1 -1
- package/dist/cssm/hooks/useWaitTransitionFinish.js +13 -15
- package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cssm/index.js +1 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/array.js +18 -0
- package/dist/cssm/lib/array.js.map +1 -0
- package/dist/cssm/lib/curve.js +21 -0
- package/dist/cssm/lib/curve.js.map +1 -0
- package/dist/cssm/lib/dom.js +5 -2
- package/dist/cssm/lib/dom.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +4 -4
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/cssm/lib/fx.js +4 -55
- package/dist/cssm/lib/fx.js.map +1 -1
- package/dist/cssm/lib/layouts/index.js.map +1 -1
- package/dist/cssm/lib/layouts/layoutProps.js +11 -0
- package/dist/cssm/lib/layouts/layoutProps.js.map +1 -1
- package/dist/cssm/lib/layouts/resolveLayoutProps.js +13 -11
- package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
- package/dist/cssm/lib/layouts/types.js.map +1 -1
- package/dist/cssm/lib/material/shapes/Shape.js +18 -0
- package/dist/cssm/lib/material/shapes/Shape.js.map +1 -0
- package/dist/cssm/lib/material/shapes/shapes.js +2250 -0
- package/dist/cssm/lib/material/shapes/shapes.js.map +1 -0
- package/dist/cssm/lib/math.js +31 -0
- package/dist/cssm/lib/math.js.map +1 -0
- package/dist/cssm/lib/svg/path/approximate.js +57 -0
- package/dist/cssm/lib/svg/path/approximate.js.map +1 -0
- package/dist/cssm/lib/svg/path/interpolate.js +121 -0
- package/dist/cssm/lib/svg/path/interpolate.js.map +1 -0
- package/dist/cssm/lib/svg/path/path.js +50 -0
- package/dist/cssm/lib/svg/path/path.js.map +1 -0
- package/dist/cssm/lib/svg/path/point.js +3 -0
- package/dist/cssm/lib/svg/path/point.js.map +1 -0
- package/dist/cssm/lib/svg/path/transform.js +110 -0
- package/dist/cssm/lib/svg/path/transform.js.map +1 -0
- package/dist/cssm/lib/tokens/useTokenClassName.js +4 -1
- package/dist/cssm/lib/tokens/useTokenClassName.js.map +1 -1
- package/dist/cssm/lib/touch/UIPanGestureRecognizer.js +2 -2
- package/dist/cssm/lib/touch/UIPanGestureRecognizer.js.map +1 -1
- package/dist/cssm/styles/layout.css +273 -0
- package/dist/cssm/types.js +1 -4
- package/dist/cssm/types.js.map +1 -1
- package/dist/helpers/math.d.ts +4 -0
- package/dist/helpers/math.d.ts.map +1 -1
- package/dist/helpers/math.js +6 -0
- package/dist/helpers/math.js.map +1 -1
- package/dist/hoc/withPlatform.d.ts +1 -1
- package/dist/hoc/withPlatform.d.ts.map +1 -1
- package/dist/hoc/withPlatform.js +3 -2
- package/dist/hoc/withPlatform.js.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/types.d.ts +2 -2
- package/dist/hooks/useAdaptivityConditionalRender/types.js.map +1 -1
- package/dist/hooks/useAnimationFrame.d.ts +16 -0
- package/dist/hooks/useAnimationFrame.d.ts.map +1 -0
- package/dist/hooks/useAnimationFrame.js +40 -0
- package/dist/hooks/useAnimationFrame.js.map +1 -0
- package/dist/hooks/useAutoFocus.js +4 -1
- package/dist/hooks/useAutoFocus.js.map +1 -1
- package/dist/hooks/useColorScheme.d.ts.map +1 -1
- package/dist/hooks/useColorScheme.js +3 -3
- package/dist/hooks/useColorScheme.js.map +1 -1
- package/dist/hooks/useConfigDirection.d.ts.map +1 -1
- package/dist/hooks/useConfigDirection.js +3 -3
- package/dist/hooks/useConfigDirection.js.map +1 -1
- package/dist/hooks/useDateInput.d.ts.map +1 -1
- package/dist/hooks/useDateInput.js +1 -2
- package/dist/hooks/useDateInput.js.map +1 -1
- package/dist/hooks/useFocusTrap/useAutoFocus.js +1 -0
- package/dist/hooks/useFocusTrap/useAutoFocus.js.map +1 -1
- package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap/useFocusTrap.js +2 -0
- package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
- package/dist/hooks/useFocusVisible.d.ts.map +1 -1
- package/dist/hooks/useFocusVisible.js +8 -13
- package/dist/hooks/useFocusVisible.js.map +1 -1
- package/dist/hooks/useFocusWithin.d.ts.map +1 -1
- package/dist/hooks/useFocusWithin.js +5 -4
- package/dist/hooks/useFocusWithin.js.map +1 -1
- package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
- package/dist/hooks/useGlobalEscKeyDown.js +17 -15
- package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
- package/dist/hooks/useGlobalOnClickOutside.d.ts.map +1 -1
- package/dist/hooks/useGlobalOnClickOutside.js +6 -2
- package/dist/hooks/useGlobalOnClickOutside.js.map +1 -1
- package/dist/hooks/useKeyboardInputTracker.d.ts +1 -19
- package/dist/hooks/useKeyboardInputTracker.d.ts.map +1 -1
- package/dist/hooks/useKeyboardInputTracker.js +48 -41
- package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/hooks/useLatestRef.d.ts +3 -0
- package/dist/hooks/useLatestRef.d.ts.map +1 -0
- package/dist/hooks/useLatestRef.js +13 -0
- package/dist/hooks/useLatestRef.js.map +1 -0
- package/dist/hooks/useLocale.d.ts.map +1 -1
- package/dist/hooks/useLocale.js +3 -3
- package/dist/hooks/useLocale.js.map +1 -1
- package/dist/hooks/useMediaQueryMatch.js +1 -0
- package/dist/hooks/useMediaQueryMatch.js.map +1 -1
- package/dist/hooks/useMutationObserver.d.ts +1 -2
- package/dist/hooks/useMutationObserver.d.ts.map +1 -1
- package/dist/hooks/useMutationObserver.js +3 -3
- package/dist/hooks/useMutationObserver.js.map +1 -1
- package/dist/hooks/usePlatform.d.ts.map +1 -1
- package/dist/hooks/usePlatform.js +3 -3
- package/dist/hooks/usePlatform.js.map +1 -1
- package/dist/hooks/useResizeObserver.d.ts.map +1 -1
- package/dist/hooks/useResizeObserver.js +4 -6
- package/dist/hooks/useResizeObserver.js.map +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js +2 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
- package/dist/hooks/useSyncHTMLWithTokens.js +3 -1
- package/dist/hooks/useSyncHTMLWithTokens.js.map +1 -1
- package/dist/hooks/useWaitTransitionFinish.d.ts.map +1 -1
- package/dist/hooks/useWaitTransitionFinish.js +13 -15
- package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/array.d.ts +17 -0
- package/dist/lib/array.d.ts.map +1 -0
- package/dist/lib/array.js +18 -0
- package/dist/lib/array.js.map +1 -0
- package/dist/lib/curve.d.ts +9 -0
- package/dist/lib/curve.d.ts.map +1 -0
- package/dist/lib/curve.js +21 -0
- package/dist/lib/curve.js.map +1 -0
- package/dist/lib/dom.d.ts +2 -1
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/dom.js +5 -2
- package/dist/lib/dom.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +4 -4
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/lib/fx.d.ts +1 -8
- package/dist/lib/fx.d.ts.map +1 -1
- package/dist/lib/fx.js +4 -55
- package/dist/lib/fx.js.map +1 -1
- package/dist/lib/layouts/index.d.ts +1 -1
- package/dist/lib/layouts/index.d.ts.map +1 -1
- package/dist/lib/layouts/index.js.map +1 -1
- package/dist/lib/layouts/layoutProps.d.ts +7 -0
- package/dist/lib/layouts/layoutProps.d.ts.map +1 -1
- package/dist/lib/layouts/layoutProps.js +11 -0
- package/dist/lib/layouts/layoutProps.js.map +1 -1
- package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
- package/dist/lib/layouts/resolveLayoutProps.js +13 -11
- package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
- package/dist/lib/layouts/types.d.ts +29 -0
- package/dist/lib/layouts/types.d.ts.map +1 -1
- package/dist/lib/layouts/types.js.map +1 -1
- package/dist/lib/material/shapes/Shape.d.ts +8 -0
- package/dist/lib/material/shapes/Shape.d.ts.map +1 -0
- package/dist/lib/material/shapes/Shape.js +18 -0
- package/dist/lib/material/shapes/Shape.js.map +1 -0
- package/dist/lib/material/shapes/shapes.d.ts +43 -0
- package/dist/lib/material/shapes/shapes.d.ts.map +1 -0
- package/dist/lib/material/shapes/shapes.js +2250 -0
- package/dist/lib/material/shapes/shapes.js.map +1 -0
- package/dist/lib/math.d.ts +23 -0
- package/dist/lib/math.d.ts.map +1 -0
- package/dist/lib/math.js +31 -0
- package/dist/lib/math.js.map +1 -0
- package/dist/lib/svg/path/approximate.d.ts +21 -0
- package/dist/lib/svg/path/approximate.d.ts.map +1 -0
- package/dist/lib/svg/path/approximate.js +57 -0
- package/dist/lib/svg/path/approximate.js.map +1 -0
- package/dist/lib/svg/path/interpolate.d.ts +5 -0
- package/dist/lib/svg/path/interpolate.d.ts.map +1 -0
- package/dist/lib/svg/path/interpolate.js +121 -0
- package/dist/lib/svg/path/interpolate.js.map +1 -0
- package/dist/lib/svg/path/path.d.ts +48 -0
- package/dist/lib/svg/path/path.d.ts.map +1 -0
- package/dist/lib/svg/path/path.js +50 -0
- package/dist/lib/svg/path/path.js.map +1 -0
- package/dist/lib/svg/path/point.d.ts +3 -0
- package/dist/lib/svg/path/point.d.ts.map +1 -0
- package/dist/lib/svg/path/point.js +3 -0
- package/dist/lib/svg/path/point.js.map +1 -0
- package/dist/lib/svg/path/transform.d.ts +64 -0
- package/dist/lib/svg/path/transform.d.ts.map +1 -0
- package/dist/lib/svg/path/transform.js +110 -0
- package/dist/lib/svg/path/transform.js.map +1 -0
- package/dist/lib/tokens/useTokenClassName.d.ts.map +1 -1
- package/dist/lib/tokens/useTokenClassName.js +4 -1
- package/dist/lib/tokens/useTokenClassName.js.map +1 -1
- package/dist/lib/touch/UIPanGestureRecognizer.d.ts.map +1 -1
- package/dist/lib/touch/UIPanGestureRecognizer.js +2 -2
- package/dist/lib/touch/UIPanGestureRecognizer.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -4
- package/dist/types.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +7 -6
- package/src/components/ActionSheet/ActionSheet.tsx +6 -3
- package/src/components/AdaptivityProvider/AdaptivityContext.tsx +3 -3
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +2 -2
- package/src/components/AppRoot/AppRoot.tsx +1 -14
- package/src/components/AppRoot/AppRootContext.ts +0 -2
- package/src/components/Calendar/Calendar.tsx +2 -2
- package/src/components/CalendarDay/CalendarDay.tsx +4 -2
- package/src/components/CalendarDays/CalendarDays.tsx +2 -2
- package/src/components/CalendarHeader/CalendarHeader.tsx +4 -2
- package/src/components/CalendarRange/CalendarRange.tsx +2 -2
- package/src/components/CalendarTime/CalendarTime.module.css +38 -0
- package/src/components/CalendarTime/CalendarTime.module.css.d.ts.map +1 -1
- package/src/components/CalendarTime/CalendarTime.tsx +68 -55
- package/src/components/CalendarTime/CalendarTimePicker.tsx +148 -62
- package/src/components/CalendarTime/ComboBox.tsx +189 -0
- package/src/components/CardScroll/CardScroll.tsx +6 -5
- package/src/components/CarouselBase/CarouselBase.tsx +2 -1
- package/src/components/ChipsSelect/useChipsSelect.ts +1 -0
- package/src/components/ConfigProvider/ConfigProvider.tsx +6 -3
- package/src/components/ConfigProvider/ConfigProviderOverride.tsx +2 -1
- package/src/components/ConfigProvider/ConfigProviderSubContexts.tsx +43 -0
- package/src/components/ContentBadge/ContentBadge.module.css +84 -91
- package/src/components/ContentBadge/ContentBadge.module.css.d.ts.map +1 -1
- package/src/components/ContentBadge/ContentBadge.tsx +73 -5
- package/src/components/CustomSelect/CustomSelect.tsx +19 -10
- package/src/components/DateInput/DateInput.tsx +3 -3
- package/src/components/DateRangeInput/DateRangeInput.tsx +2 -2
- package/src/components/Epic/ScrollSaver.tsx +1 -0
- package/src/components/FixedLayout/ParentWidthWrapper.tsx +48 -0
- package/src/components/Flex/Flex.tsx +11 -6
- package/src/components/GridAvatar/GridAvatar.module.css +1 -1
- package/src/components/GridAvatar/GridAvatar.module.css.d.ts.map +1 -1
- package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +1 -1
- package/src/components/NativeSelect/NativeSelect.tsx +4 -2
- package/src/components/NavTransitionContext/NavTransitionContext.tsx +5 -1
- package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +3 -6
- package/src/components/PanelHeader/PanelHeader.tsx +1 -1
- package/src/components/Popper/Popper.tsx +8 -5
- package/src/components/PullToRefresh/PullToRefresh.module.css +1 -1
- package/src/components/PullToRefresh/PullToRefresh.tsx +10 -3
- package/src/components/Root/Root.tsx +60 -59
- package/src/components/SimpleGrid/SimpleGrid.tsx +25 -11
- package/src/components/Skeleton/Skeleton.tsx +6 -4
- package/src/components/Snackbar/Snackbar.tsx +6 -3
- package/src/components/Spacing/Spacing.tsx +1 -1
- package/src/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.module.css +13 -0
- package/src/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.module.css.d.ts.map +1 -0
- package/src/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.tsx +73 -0
- package/src/components/Spinner/ExpressiveSpinner/icons.tsx +104 -0
- package/src/components/Spinner/SvgIcon.tsx +31 -0
- package/src/components/Spinner/icons.tsx +10 -13
- package/src/components/SplitLayout/SplitLayout.tsx +3 -3
- package/src/components/TabsItem/TabsItem.tsx +4 -5
- package/src/components/Tappable/Tappable.tsx +2 -2
- package/src/components/View/View.tsx +83 -89
- package/src/components/View/ViewInfinite.tsx +65 -69
- package/src/components/WriteBar/WriteBar.tsx +25 -59
- package/src/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.module.css +12 -0
- package/src/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.module.css.d.ts.map +1 -0
- package/src/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.tsx +20 -0
- package/src/components/WriteBar/WriteBarFormField/WriteBarFormField.module.css +18 -0
- package/src/components/WriteBar/WriteBarFormField/WriteBarFormField.module.css.d.ts.map +1 -0
- package/src/components/WriteBar/WriteBarFormField/WriteBarFormField.tsx +22 -0
- package/src/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.module.css +3 -0
- package/src/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.module.css.d.ts.map +1 -0
- package/src/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.tsx +23 -0
- package/src/components/WriteBar/WriteBarRoot/WriteBarRoot.module.css +14 -0
- package/src/components/WriteBar/WriteBarRoot/WriteBarRoot.module.css.d.ts.map +1 -0
- package/src/components/WriteBar/WriteBarRoot/WriteBarRoot.tsx +31 -0
- package/src/components/WriteBar/WriteBarTextarea/WriteBarTextarea.module.css +42 -0
- package/src/components/WriteBar/WriteBarTextarea/WriteBarTextarea.module.css.d.ts.map +1 -0
- package/src/components/WriteBar/WriteBarTextarea/WriteBarTextarea.tsx +48 -0
- package/src/helpers/math.ts +8 -0
- package/src/hoc/withPlatform.tsx +3 -3
- package/src/hooks/useAdaptivityConditionalRender/types.ts +2 -2
- package/src/hooks/useAnimationFrame.tsx +42 -0
- package/src/hooks/useAutoFocus.ts +1 -1
- package/src/hooks/useColorScheme.ts +3 -4
- package/src/hooks/useConfigDirection.ts +3 -4
- package/src/hooks/useDateInput.ts +1 -2
- package/src/hooks/useFocusTrap/useAutoFocus.ts +1 -1
- package/src/hooks/useFocusTrap/useFocusTrap.tsx +2 -0
- package/src/hooks/useFocusVisible.ts +10 -18
- package/src/hooks/useFocusWithin.ts +26 -23
- package/src/hooks/useGlobalEscKeyDown.ts +12 -15
- package/src/hooks/useGlobalOnClickOutside.ts +5 -2
- package/src/hooks/useKeyboardInputTracker.ts +68 -55
- package/src/hooks/useLatestRef.ts +12 -0
- package/src/hooks/useLocale.ts +3 -4
- package/src/hooks/useMediaQueryMatch.ts +1 -1
- package/src/hooks/useMutationObserver.ts +2 -3
- package/src/hooks/usePlatform.ts +3 -4
- package/src/hooks/useResizeObserver.ts +4 -5
- package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
- package/src/hooks/useSyncHTMLWithTokens.ts +1 -1
- package/src/hooks/useWaitTransitionFinish.ts +15 -15
- package/src/index.ts +1 -0
- package/src/lib/array.ts +19 -0
- package/src/lib/curve.ts +36 -0
- package/src/lib/dom.tsx +10 -4
- package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +4 -5
- package/src/lib/fx.ts +5 -63
- package/src/lib/layouts/index.ts +1 -0
- package/src/lib/layouts/layoutProps.ts +8 -0
- package/src/lib/layouts/resolveLayoutProps.ts +19 -17
- package/src/lib/layouts/types.ts +29 -0
- package/src/lib/material/shapes/Shape.tsx +17 -0
- package/src/lib/material/shapes/shapes.ts +329 -0
- package/src/lib/math.ts +37 -0
- package/src/lib/svg/path/approximate.ts +81 -0
- package/src/lib/svg/path/interpolate.ts +151 -0
- package/src/lib/svg/path/path.ts +102 -0
- package/src/lib/svg/path/point.ts +2 -0
- package/src/lib/svg/path/transform.ts +147 -0
- package/src/lib/tokens/useTokenClassName.ts +7 -5
- package/src/lib/touch/UIPanGestureRecognizer.ts +2 -2
- package/src/types.ts +16 -0
- package/dist/cssm/components/WriteBar/WriteBar.module.css +0 -118
- package/dist/cssm/lib/floating/LockFloatingPosition/LockFloatingPosition.js +0 -6
- package/dist/cssm/lib/floating/LockFloatingPosition/LockFloatingPosition.js.map +0 -1
- package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.d.ts +0 -6
- package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.d.ts.map +0 -1
- package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.js +0 -6
- package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.js.map +0 -1
- package/src/components/WriteBar/WriteBar.module.css +0 -116
- package/src/components/WriteBar/WriteBar.module.css.d.ts.map +0 -1
- package/src/lib/floating/LockFloatingPosition/LockFloatingPosition.tsx +0 -6
|
@@ -1,61 +1,121 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useState } from "react";
|
|
4
3
|
import * as React from "react";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { clamp, overflow } from "../../helpers/math.js";
|
|
5
|
+
import { useBooleanState } from "../../hooks/useBooleanState.js";
|
|
6
|
+
import { useExternRef } from "../../hooks/useExternRef.js";
|
|
7
|
+
import { Keys } from "../../lib/accessibility.js";
|
|
8
|
+
import { isActiveElement } from "../../lib/dom.js";
|
|
9
|
+
import { ComboBox } from "./ComboBox.js";
|
|
8
10
|
import styles from "./CalendarTime.module.css";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
function validateValueInput(event, maxValue) {
|
|
12
|
+
if (event.target.value === '') {
|
|
13
|
+
return event.target.value;
|
|
14
|
+
}
|
|
15
|
+
const inputValue = /\d\d?/.exec(event.target.value)?.[0] || '';
|
|
16
|
+
if (event.target.value !== inputValue) {
|
|
17
|
+
return inputValue;
|
|
18
|
+
}
|
|
19
|
+
const inputValueNumber = Number(inputValue);
|
|
20
|
+
if (isNaN(inputValueNumber)) {
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
const resultValueNumber = clamp(inputValueNumber, 0, maxValue);
|
|
24
|
+
if (inputValueNumber === resultValueNumber) {
|
|
25
|
+
return inputValue;
|
|
26
|
+
}
|
|
27
|
+
return resultValueNumber.toString();
|
|
28
|
+
}
|
|
29
|
+
export function padStartTimeValue(value) {
|
|
30
|
+
return value.toString().padStart(2, '0');
|
|
31
|
+
}
|
|
32
|
+
function newValueOnInputKeyDown(event, maxValue) {
|
|
33
|
+
if (!(event.target instanceof HTMLInputElement)) {
|
|
34
|
+
return '';
|
|
35
|
+
}
|
|
36
|
+
switch(event.key){
|
|
37
|
+
case Keys.ARROW_UP:
|
|
38
|
+
return padStartTimeValue(overflow(Number(event.target.value) + 1, 0, maxValue));
|
|
39
|
+
case Keys.ARROW_DOWN:
|
|
40
|
+
return padStartTimeValue(overflow(Number(event.target.value) - 1, 0, maxValue));
|
|
41
|
+
}
|
|
42
|
+
return event.target.value;
|
|
43
|
+
}
|
|
44
|
+
/* eslint-enable jsdoc/require-jsdoc */ export const CalendarTimePicker = ({ valueDate, value, options, onChange, setTime, inputRef, inputLabel, inputTestId, maxValue, onInputEnd, onKeyDown: onKeyDownProp, isDayDisabled })=>{
|
|
45
|
+
const ref = useExternRef(inputRef);
|
|
46
|
+
const [isInputFocused, onFocus, setInputBlur] = useBooleanState(false);
|
|
47
|
+
const [editableValue, setEditableValue] = React.useState(padStartTimeValue(value));
|
|
48
|
+
const updateValue = (newValue)=>{
|
|
49
|
+
const newDate = setTime(valueDate, Number(newValue));
|
|
50
|
+
if (isDayDisabled?.(newDate, true)) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
setEditableValue(newValue);
|
|
54
|
+
onChange?.(newDate);
|
|
55
|
+
};
|
|
56
|
+
// Обработка ввода
|
|
57
|
+
const onInput = (event)=>{
|
|
58
|
+
const validateValue = validateValueInput(event, maxValue);
|
|
59
|
+
updateValue(validateValue);
|
|
60
|
+
if (validateValue.length > 1 && event.target.selectionStart) {
|
|
61
|
+
onInputEnd?.();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
// Управление числом с клавиатуры стрелками вниз/вверх.
|
|
65
|
+
const onKeyDown = (event)=>{
|
|
66
|
+
const validateValue = newValueOnInputKeyDown(event, maxValue);
|
|
67
|
+
updateValue(validateValue);
|
|
68
|
+
};
|
|
69
|
+
// Обработка каретки если время уже задано
|
|
70
|
+
const onSelectionChange = React.useCallback((event)=>{
|
|
71
|
+
if (event.target instanceof HTMLInputElement) {
|
|
72
|
+
if (event.target.value.length > 1 && isActiveElement(event.target)) {
|
|
73
|
+
event.target.select();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
18
76
|
}, []);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
77
|
+
React.useEffect(()=>{
|
|
78
|
+
const el = ref.current;
|
|
79
|
+
el?.addEventListener('selectionchange', onSelectionChange);
|
|
80
|
+
return ()=>{
|
|
81
|
+
el?.removeEventListener('selectionchange', onSelectionChange);
|
|
82
|
+
};
|
|
83
|
+
}, [
|
|
84
|
+
onSelectionChange,
|
|
85
|
+
ref
|
|
23
86
|
]);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
87
|
+
// Обработка ухода с поля ввода
|
|
88
|
+
const onBlur = ()=>{
|
|
89
|
+
setInputBlur();
|
|
90
|
+
setEditableValue((value)=>{
|
|
91
|
+
const newValue = padStartTimeValue(value);
|
|
92
|
+
return newValue;
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
// Обработка значения при нажатии в барабане
|
|
96
|
+
const onClickOption = (newValue)=>{
|
|
97
|
+
updateValue(newValue);
|
|
30
98
|
};
|
|
99
|
+
const valueAsString = padStartTimeValue(value);
|
|
100
|
+
const viewValue = isInputFocused || padStartTimeValue(editableValue) !== valueAsString ? editableValue : valueAsString;
|
|
31
101
|
return /*#__PURE__*/ _jsx("div", {
|
|
32
102
|
className: styles.picker,
|
|
33
|
-
children: /*#__PURE__*/ _jsx(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
filterFn: selectFilterFn,
|
|
42
|
-
onInputChange: onPickerValueChange,
|
|
43
|
-
onInputKeyDown: onInputKeyDown,
|
|
44
|
-
renderOption: ({ children: optionChildren, ...optionProps })=>/*#__PURE__*/ _jsx(CustomSelectOption, {
|
|
45
|
-
...optionProps,
|
|
46
|
-
textNoWrap: true,
|
|
47
|
-
children: optionChildren
|
|
48
|
-
}),
|
|
49
|
-
slotProps: {
|
|
50
|
-
input: {
|
|
51
|
-
'aria-label': inputLabel,
|
|
52
|
-
'data-testid': inputTestId,
|
|
53
|
-
'value': inputValue,
|
|
54
|
-
'getRootRef': inputRef,
|
|
55
|
-
onBlur
|
|
56
|
-
}
|
|
103
|
+
children: /*#__PURE__*/ _jsx(ComboBox, {
|
|
104
|
+
value: viewValue,
|
|
105
|
+
slotProps: {
|
|
106
|
+
input: {
|
|
107
|
+
'getRootRef': ref,
|
|
108
|
+
'aria-label': inputLabel,
|
|
109
|
+
'data-testid': inputTestId,
|
|
110
|
+
'onKeyDown': onKeyDownProp
|
|
57
111
|
}
|
|
58
|
-
}
|
|
112
|
+
},
|
|
113
|
+
labels: options,
|
|
114
|
+
onChange: onInput,
|
|
115
|
+
onKeyDown: onKeyDown,
|
|
116
|
+
onClickOption: onClickOption,
|
|
117
|
+
onFocus: onFocus,
|
|
118
|
+
onBlur: onBlur
|
|
59
119
|
})
|
|
60
120
|
});
|
|
61
121
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CalendarTime/CalendarTimePicker.tsx"],"sourcesContent":["'use client';\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CalendarTime/CalendarTimePicker.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { clamp, overflow } from '../../helpers/math';\nimport { useBooleanState } from '../../hooks/useBooleanState';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { Keys } from '../../lib/accessibility';\nimport { isActiveElement } from '../../lib/dom';\nimport { ComboBox } from './ComboBox';\nimport styles from './CalendarTime.module.css';\n\nfunction validateValueInput(event: React.ChangeEvent<HTMLInputElement>, maxValue: number) {\n if (event.target.value === '') {\n return event.target.value;\n }\n\n const inputValue = /\\d\\d?/.exec(event.target.value)?.[0] || '';\n if (event.target.value !== inputValue) {\n return inputValue;\n }\n\n const inputValueNumber = Number(inputValue);\n if (isNaN(inputValueNumber)) {\n return '';\n }\n\n const resultValueNumber = clamp(inputValueNumber, 0, maxValue);\n\n if (inputValueNumber === resultValueNumber) {\n return inputValue;\n }\n\n return resultValueNumber.toString();\n}\n\nexport function padStartTimeValue(value: Pick<string, 'toString'>): string {\n return value.toString().padStart(2, '0');\n}\n\nfunction newValueOnInputKeyDown(event: React.KeyboardEvent<HTMLInputElement>, maxValue: number) {\n if (!(event.target instanceof HTMLInputElement)) {\n return '';\n }\n\n switch (event.key) {\n case Keys.ARROW_UP:\n return padStartTimeValue(overflow(Number(event.target.value) + 1, 0, maxValue));\n case Keys.ARROW_DOWN:\n return padStartTimeValue(overflow(Number(event.target.value) - 1, 0, maxValue));\n }\n\n return event.target.value;\n}\n\n/* eslint-disable jsdoc/require-jsdoc */\ninterface CalendarTimePickerProps {\n valueDate: Date;\n options: ReadonlyArray<{\n value: string;\n label: string;\n }>;\n onChange?: ((value: Date) => void) | undefined;\n setTime: (value: Date, time: number) => Date;\n inputRef: React.Ref<HTMLInputElement>;\n inputLabel?: string | undefined;\n inputTestId?: string | undefined;\n value: number;\n maxValue: number;\n onInputEnd?: () => void;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n isDayDisabled?: ((day: Date, withTime?: boolean) => boolean) | undefined;\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nexport const CalendarTimePicker = ({\n valueDate,\n value,\n options,\n onChange,\n setTime,\n inputRef,\n inputLabel,\n inputTestId,\n maxValue,\n onInputEnd,\n onKeyDown: onKeyDownProp,\n isDayDisabled,\n}: CalendarTimePickerProps) => {\n const ref = useExternRef(inputRef);\n\n const [isInputFocused, onFocus, setInputBlur] = useBooleanState(false);\n\n const [editableValue, setEditableValue] = React.useState(padStartTimeValue(value));\n\n const updateValue = (newValue: string) => {\n const newDate = setTime(valueDate, Number(newValue));\n if (isDayDisabled?.(newDate, true)) {\n return;\n }\n setEditableValue(newValue);\n onChange?.(newDate);\n };\n\n // Обработка ввода\n\n const onInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n const validateValue = validateValueInput(event, maxValue);\n updateValue(validateValue);\n\n if (validateValue.length > 1 && event.target.selectionStart) {\n onInputEnd?.();\n }\n };\n\n // Управление числом с клавиатуры стрелками вниз/вверх.\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const validateValue = newValueOnInputKeyDown(event, maxValue);\n updateValue(validateValue);\n };\n\n // Обработка каретки если время уже задано\n\n const onSelectionChange = React.useCallback((event: Event) => {\n if (event.target instanceof HTMLInputElement) {\n if (event.target.value.length > 1 && isActiveElement(event.target)) {\n event.target.select();\n }\n }\n }, []);\n\n React.useEffect(() => {\n const el = ref.current;\n el?.addEventListener('selectionchange', onSelectionChange);\n\n return () => {\n el?.removeEventListener('selectionchange', onSelectionChange);\n };\n }, [onSelectionChange, ref]);\n\n // Обработка ухода с поля ввода\n\n const onBlur = () => {\n setInputBlur();\n setEditableValue((value) => {\n const newValue = padStartTimeValue(value);\n\n return newValue;\n });\n };\n\n // Обработка значения при нажатии в барабане\n\n const onClickOption = (newValue: string) => {\n updateValue(newValue);\n };\n\n const valueAsString = padStartTimeValue(value);\n\n const viewValue =\n isInputFocused || padStartTimeValue(editableValue) !== valueAsString\n ? editableValue\n : valueAsString;\n\n return (\n <div className={styles.picker}>\n <ComboBox\n value={viewValue}\n slotProps={{\n input: {\n 'getRootRef': ref,\n 'aria-label': inputLabel,\n 'data-testid': inputTestId,\n 'onKeyDown': onKeyDownProp,\n },\n }}\n labels={options}\n onChange={onInput}\n onKeyDown={onKeyDown}\n onClickOption={onClickOption}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n </div>\n );\n};\n"],"names":["React","clamp","overflow","useBooleanState","useExternRef","Keys","isActiveElement","ComboBox","styles","validateValueInput","event","maxValue","target","value","inputValue","exec","inputValueNumber","Number","isNaN","resultValueNumber","toString","padStartTimeValue","padStart","newValueOnInputKeyDown","HTMLInputElement","key","ARROW_UP","ARROW_DOWN","CalendarTimePicker","valueDate","options","onChange","setTime","inputRef","inputLabel","inputTestId","onInputEnd","onKeyDown","onKeyDownProp","isDayDisabled","ref","isInputFocused","onFocus","setInputBlur","editableValue","setEditableValue","useState","updateValue","newValue","newDate","onInput","validateValue","length","selectionStart","onSelectionChange","useCallback","select","useEffect","el","current","addEventListener","removeEventListener","onBlur","onClickOption","valueAsString","viewValue","div","className","picker","slotProps","input","labels"],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { classNames } from "@vkontakte/vkjs";
|
|
5
|
+
import { useBooleanState } from "../../hooks/useBooleanState.js";
|
|
6
|
+
import { useExternRef } from "../../hooks/useExternRef.js";
|
|
7
|
+
import { callMultiple } from "../../lib/callMultiple.js";
|
|
8
|
+
import { CustomScrollView } from "../CustomScrollView/CustomScrollView.js";
|
|
9
|
+
import { CustomSelectOption } from "../CustomSelectOption/CustomSelectOption.js";
|
|
10
|
+
import { DropdownIcon } from "../DropdownIcon/DropdownIcon.js";
|
|
11
|
+
import { Input } from "../Input/Input.js";
|
|
12
|
+
import { Popper } from "../Popper/Popper.js";
|
|
13
|
+
import styles from "./CalendarTime.module.css";
|
|
14
|
+
function getScrollParent(node) {
|
|
15
|
+
if (!(node instanceof HTMLElement)) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
if (node.scrollHeight > node.clientHeight) {
|
|
19
|
+
return node;
|
|
20
|
+
} else {
|
|
21
|
+
return getScrollParent(node.parentNode);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function Option({ option, onClickOption, selectedValue }) {
|
|
25
|
+
const ref = React.useRef(null);
|
|
26
|
+
const selected = selectedValue === option.value;
|
|
27
|
+
React.useEffect(()=>{
|
|
28
|
+
if (!selected) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const element = ref.current;
|
|
32
|
+
const scrollElement = getScrollParent(ref.current);
|
|
33
|
+
if (!element || !scrollElement) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
scrollElement.scrollTo({
|
|
37
|
+
top: element.offsetTop - scrollElement.offsetHeight / 2 + element.offsetHeight / 2
|
|
38
|
+
});
|
|
39
|
+
}, [
|
|
40
|
+
selected
|
|
41
|
+
]);
|
|
42
|
+
return /*#__PURE__*/ _jsx(CustomSelectOption, {
|
|
43
|
+
getRootRef: ref,
|
|
44
|
+
onMouseDown: (event)=>{
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
},
|
|
47
|
+
onClick: ()=>{
|
|
48
|
+
onClickOption?.(option.value);
|
|
49
|
+
},
|
|
50
|
+
selected: selected,
|
|
51
|
+
disabled: option.disabled,
|
|
52
|
+
textNoWrap: true,
|
|
53
|
+
children: option.label
|
|
54
|
+
}, option.value);
|
|
55
|
+
}
|
|
56
|
+
export function ComboBox({ getRootRef, onBlur, onFocus, after, labels = [], defaultValue, slotProps, onClickOption, ...restProps }) {
|
|
57
|
+
const ref = useExternRef(getRootRef);
|
|
58
|
+
const inputRef = useExternRef(slotProps?.input?.getRootRef);
|
|
59
|
+
const [focus, setFocus, setBlur] = useBooleanState(false);
|
|
60
|
+
const [popperPlacement, setPopperPlacement] = React.useState('bottom');
|
|
61
|
+
const labelsElements = focus ? labels.map((option)=>{
|
|
62
|
+
return /*#__PURE__*/ _jsx(Option, {
|
|
63
|
+
onClickOption: onClickOption,
|
|
64
|
+
selectedValue: restProps.value,
|
|
65
|
+
option: option
|
|
66
|
+
}, option.value);
|
|
67
|
+
}) : undefined;
|
|
68
|
+
/**
|
|
69
|
+
* При управлении стрелками необходима правильная очередность элементов в списке.
|
|
70
|
+
*/ if (popperPlacement.includes('top')) {
|
|
71
|
+
labelsElements?.reverse();
|
|
72
|
+
}
|
|
73
|
+
return /*#__PURE__*/ _jsxs(_Fragment, {
|
|
74
|
+
children: [
|
|
75
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
76
|
+
getRootRef: ref,
|
|
77
|
+
className: focus ? popperPlacement.includes('top') ? styles.inputPopUp : styles.inputPopDown : '',
|
|
78
|
+
type: "text",
|
|
79
|
+
onFocus: callMultiple(setFocus, onFocus),
|
|
80
|
+
onBlur: callMultiple(setBlur, onBlur),
|
|
81
|
+
onClick: ()=>inputRef.current?.focus(),
|
|
82
|
+
after: after || labels && /*#__PURE__*/ _jsx(DropdownIcon, {
|
|
83
|
+
opened: focus
|
|
84
|
+
}),
|
|
85
|
+
slotProps: {
|
|
86
|
+
...slotProps,
|
|
87
|
+
input: {
|
|
88
|
+
...slotProps?.input,
|
|
89
|
+
getRootRef: inputRef
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
...restProps
|
|
93
|
+
}),
|
|
94
|
+
focus && labels && /*#__PURE__*/ _jsx(Popper, {
|
|
95
|
+
targetRef: ref,
|
|
96
|
+
placement: popperPlacement,
|
|
97
|
+
onPlacementChange: setPopperPlacement,
|
|
98
|
+
className: classNames(styles.popper, popperPlacement.includes('top') ? styles.popperTop : styles.popperBottom),
|
|
99
|
+
sameWidth: true,
|
|
100
|
+
autoUpdateOnTargetResize: true,
|
|
101
|
+
flipMiddlewareFallbackAxisSideDirection: "none",
|
|
102
|
+
offsetByMainAxis: 0,
|
|
103
|
+
children: /*#__PURE__*/ _jsx(CustomScrollView, {
|
|
104
|
+
tabIndex: -1,
|
|
105
|
+
className: styles.customScroll,
|
|
106
|
+
children: labelsElements
|
|
107
|
+
})
|
|
108
|
+
})
|
|
109
|
+
]
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=ComboBox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CalendarTime/ComboBox.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { type Placement } from '@vkontakte/vkui-floating-ui/core';\nimport { useBooleanState } from '../../hooks/useBooleanState';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { CustomScrollView } from '../CustomScrollView/CustomScrollView';\nimport { CustomSelectOption } from '../CustomSelectOption/CustomSelectOption';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { Input, type InputProps } from '../Input/Input';\nimport { Popper } from '../Popper/Popper';\nimport styles from './CalendarTime.module.css';\n\ntype Label = {\n /**\n * Значение.\n */\n value: string;\n /**\n * Лейбл.\n */\n label: string;\n /**\n * Disabled состояние.\n */\n disabled?: boolean;\n};\n\ntype OptionProps = {\n /**\n * Выбранное значение.\n */\n selectedValue: string | number | readonly string[] | undefined;\n /**\n * Опция.\n */\n option: Label;\n /**\n * Нажатие на элемент.\n */\n onClickOption?: ((value: string) => void) | undefined;\n};\n\nfunction getScrollParent(node: Node | null): HTMLElement | null {\n if (!(node instanceof HTMLElement)) {\n return null;\n }\n\n if (node.scrollHeight > node.clientHeight) {\n return node;\n } else {\n return getScrollParent(node.parentNode);\n }\n}\n\nfunction Option({ option, onClickOption, selectedValue }: OptionProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n const selected = selectedValue === option.value;\n\n React.useEffect(() => {\n if (!selected) {\n return;\n }\n\n const element = ref.current;\n const scrollElement = getScrollParent(ref.current);\n\n if (!element || !scrollElement) {\n return;\n }\n\n scrollElement.scrollTo({\n top: element.offsetTop - scrollElement.offsetHeight / 2 + element.offsetHeight / 2,\n });\n }, [selected]);\n\n return (\n <CustomSelectOption\n getRootRef={ref}\n key={option.value}\n onMouseDown={(event) => {\n event.preventDefault();\n }}\n onClick={() => {\n onClickOption?.(option.value);\n }}\n selected={selected}\n disabled={option.disabled}\n textNoWrap\n >\n {option.label}\n </CustomSelectOption>\n );\n}\n\ntype ComboBoxProps = InputProps & {\n // eslint-disable-next-line jsdoc/require-jsdoc\n readonly labels?: readonly Label[] | undefined;\n\n /**\n * Нажатие на элемент.\n */\n onClickOption?: ((value: string) => void) | undefined;\n};\n\nexport function ComboBox({\n getRootRef,\n onBlur,\n onFocus,\n after,\n labels = [],\n defaultValue,\n slotProps,\n onClickOption,\n ...restProps\n}: ComboBoxProps) {\n const ref = useExternRef(getRootRef);\n const inputRef = useExternRef(slotProps?.input?.getRootRef);\n\n const [focus, setFocus, setBlur] = useBooleanState(false);\n\n const [popperPlacement, setPopperPlacement] = React.useState<Placement>('bottom');\n\n const labelsElements = focus\n ? labels.map((option) => {\n return (\n <Option\n key={option.value}\n onClickOption={onClickOption}\n selectedValue={restProps.value}\n option={option}\n />\n );\n })\n : undefined;\n\n /**\n * При управлении стрелками необходима правильная очередность элементов в списке.\n */\n if (popperPlacement.includes('top')) {\n labelsElements?.reverse();\n }\n\n return (\n <>\n <Input\n getRootRef={ref}\n className={\n focus ? (popperPlacement.includes('top') ? styles.inputPopUp : styles.inputPopDown) : ''\n }\n type=\"text\"\n onFocus={callMultiple(setFocus, onFocus)}\n onBlur={callMultiple(setBlur, onBlur)}\n onClick={() => inputRef.current?.focus()}\n after={after || (labels && <DropdownIcon opened={focus} />)}\n slotProps={{\n ...slotProps,\n input: {\n ...slotProps?.input,\n getRootRef: inputRef,\n },\n }}\n {...restProps}\n />\n\n {focus && labels && (\n <Popper\n targetRef={ref}\n placement={popperPlacement}\n onPlacementChange={setPopperPlacement}\n className={classNames(\n styles.popper,\n popperPlacement.includes('top') ? styles.popperTop : styles.popperBottom,\n )}\n sameWidth\n autoUpdateOnTargetResize\n flipMiddlewareFallbackAxisSideDirection=\"none\"\n offsetByMainAxis={0}\n >\n <CustomScrollView tabIndex={-1} className={styles.customScroll}>\n {labelsElements}\n </CustomScrollView>\n </Popper>\n )}\n </>\n );\n}\n"],"names":["React","classNames","useBooleanState","useExternRef","callMultiple","CustomScrollView","CustomSelectOption","DropdownIcon","Input","Popper","styles","getScrollParent","node","HTMLElement","scrollHeight","clientHeight","parentNode","Option","option","onClickOption","selectedValue","ref","useRef","selected","value","useEffect","element","current","scrollElement","scrollTo","top","offsetTop","offsetHeight","getRootRef","onMouseDown","event","preventDefault","onClick","disabled","textNoWrap","label","ComboBox","onBlur","onFocus","after","labels","defaultValue","slotProps","restProps","inputRef","input","focus","setFocus","setBlur","popperPlacement","setPopperPlacement","useState","labelsElements","map","undefined","includes","reverse","className","inputPopUp","inputPopDown","type","opened","targetRef","placement","onPlacementChange","popper","popperTop","popperBottom","sameWidth","autoUpdateOnTargetResize","flipMiddlewareFallbackAxisSideDirection","offsetByMainAxis","tabIndex","customScroll"],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { classNames } from "@vkontakte/vkjs";
|
|
5
5
|
import { useConfigDirection } from "../../hooks/useConfigDirection.js";
|
|
6
|
-
import { useDOM } from "../../lib/dom.js";
|
|
7
6
|
import { HorizontalScroll } from "../HorizontalScroll/HorizontalScroll.js";
|
|
8
7
|
import { RootComponent } from "../RootComponent/RootComponent.js";
|
|
9
8
|
import styles from "./CardScroll.module.css";
|
|
@@ -17,8 +16,8 @@ const stylesSize = {
|
|
|
17
16
|
*/ export const CardScroll = ({ children, size = 's', showArrows = true, padding = false, CardsListComponent = 'ul', prevButtonTestId, nextButtonTestId, ...restProps })=>{
|
|
18
17
|
const refContainer = React.useRef(null);
|
|
19
18
|
const direction = useConfigDirection();
|
|
20
|
-
const { window } = useDOM();
|
|
21
19
|
const getPadding = (container)=>{
|
|
20
|
+
const window = container.ownerDocument.defaultView;
|
|
22
21
|
return parseFloat(window.getComputedStyle(container).getPropertyValue('--vkui_internal--CardScroll_horizontal_padding'));
|
|
23
22
|
};
|
|
24
23
|
const slideOffsetFromStart = (slide)=>{
|
|
@@ -31,6 +30,7 @@ const stylesSize = {
|
|
|
31
30
|
}
|
|
32
31
|
const containerWidth = refContainer.current.offsetWidth;
|
|
33
32
|
const getMarginEnd = (el)=>{
|
|
33
|
+
const window = el.ownerDocument.defaultView;
|
|
34
34
|
const computedStyles = window.getComputedStyle(el);
|
|
35
35
|
return parseInt(computedStyles.marginInlineEnd) || (direction === 'rtl' ? parseInt(computedStyles.marginLeft) : parseInt(computedStyles.marginRight)) || 0;
|
|
36
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CardScroll/CardScroll.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CardScroll/CardScroll.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { HorizontalScroll, type HorizontalScrollProps } from '../HorizontalScroll/HorizontalScroll';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CardScroll.module.css';\n\nconst stylesSize = {\n s: 'vkuiInternalCardScroll--size-s',\n m: 'vkuiInternalCardScroll--size-m',\n l: 'vkuiInternalCardScroll--size-l',\n};\n\nexport interface CardScrollProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasComponent,\n Pick<HorizontalScrollProps, 'showArrows' | 'prevButtonTestId' | 'nextButtonTestId'> {\n /**\n * При `size=false` ширина `Card` будет регулироваться контентом внутри. В остальных случаях — будет явно задана в процентах.\n */\n size?: 's' | 'm' | 'l' | false | undefined;\n /**\n * Добавляет отступы по краям слева и справа.\n */\n padding?: boolean | undefined;\n /**\n * Позволяет поменять тег используемый для обертки над карточками.\n */\n CardsListComponent?: React.ElementType | undefined;\n}\n\n/**\n * @see https://vkui.io/components/card-scroll\n */\nexport const CardScroll = ({\n children,\n size = 's',\n showArrows = true,\n padding = false,\n CardsListComponent = 'ul',\n prevButtonTestId,\n nextButtonTestId,\n ...restProps\n}: CardScrollProps): React.ReactNode => {\n const refContainer = React.useRef<HTMLDivElement>(null);\n const direction = useConfigDirection();\n\n const getPadding = (container: HTMLElement) => {\n const window = container.ownerDocument.defaultView!;\n\n return parseFloat(\n window\n .getComputedStyle(container)\n .getPropertyValue('--vkui_internal--CardScroll_horizontal_padding'),\n );\n };\n\n const slideOffsetFromStart = (slide: HTMLElement) => {\n const containerWidth = refContainer.current?.offsetWidth || 0;\n return direction === 'rtl'\n ? containerWidth - slide.offsetLeft - slide.offsetWidth\n : slide.offsetLeft;\n };\n\n function getScrollToLeft(offset: number): number {\n if (!refContainer.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n\n const getMarginEnd = (el: HTMLElement) => {\n const window = el.ownerDocument.defaultView!;\n\n const computedStyles = window.getComputedStyle(el);\n return (\n parseInt(computedStyles.marginInlineEnd) ||\n (direction === 'rtl'\n ? parseInt(computedStyles.marginLeft)\n : parseInt(computedStyles.marginRight)) ||\n 0\n );\n };\n\n const slideIndex = ([...refContainer.current.children] as HTMLElement[]).findIndex(\n (el: HTMLElement) =>\n slideOffsetFromStart(el) + el.offsetWidth + getMarginEnd(el) - offset >= 0,\n );\n\n if (slideIndex === -1) {\n return offset;\n }\n\n const slide = refContainer.current.children[slideIndex] as HTMLElement;\n const padding = getPadding(refContainer.current);\n const scrollTo = slideOffsetFromStart(slide) - (containerWidth - slide.offsetWidth) + padding;\n\n if (scrollTo <= 2 * padding) {\n return 0;\n }\n\n return scrollTo;\n }\n\n function getScrollToRight(offset: number): number {\n if (!refContainer.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n const slide = Array.prototype.find.call(refContainer.current.children, (el: HTMLElement) => {\n return slideOffsetFromStart(el) + el.offsetWidth - offset > containerWidth;\n }) as HTMLElement;\n\n if (!slide) {\n return offset;\n }\n\n const padding = getPadding(refContainer.current);\n return slideOffsetFromStart(slide) - padding;\n }\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalCardScroll',\n size !== false && stylesSize[size],\n padding && styles.withPaddings,\n )}\n >\n <HorizontalScroll\n getScrollToLeft={getScrollToLeft}\n getScrollToRight={getScrollToRight}\n showArrows={showArrows}\n prevButtonTestId={prevButtonTestId}\n nextButtonTestId={nextButtonTestId}\n ContentWrapperComponent={CardsListComponent}\n contentWrapperRef={refContainer}\n contentWrapperClassName={styles.in}\n >\n {children}\n </HorizontalScroll>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useConfigDirection","HorizontalScroll","RootComponent","styles","stylesSize","s","m","l","CardScroll","children","size","showArrows","padding","CardsListComponent","prevButtonTestId","nextButtonTestId","restProps","refContainer","useRef","direction","getPadding","container","window","ownerDocument","defaultView","parseFloat","getComputedStyle","getPropertyValue","slideOffsetFromStart","slide","containerWidth","current","offsetWidth","offsetLeft","getScrollToLeft","offset","getMarginEnd","el","computedStyles","parseInt","marginInlineEnd","marginLeft","marginRight","slideIndex","findIndex","scrollTo","getScrollToRight","Array","prototype","find","call","baseClassName","host","withPaddings","ContentWrapperComponent","contentWrapperRef","contentWrapperClassName","in"],"mappings":"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"}
|
|
@@ -287,7 +287,8 @@ export const CarouselBase = ({ bullets = false, getRootRef, children, slideWidth
|
|
|
287
287
|
canSlideLeft: calculateCanSlideLeft(),
|
|
288
288
|
canSlideRight: calculateCanSlideRight()
|
|
289
289
|
}));
|
|
290
|
-
},
|
|
290
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
291
|
+
[
|
|
291
292
|
slideIndex
|
|
292
293
|
]);
|
|
293
294
|
useIsomorphicLayoutEffect(function updateIsDraggable() {
|
|
@@ -299,6 +300,7 @@ export const CarouselBase = ({ bullets = false, getRootRef, children, slideWidth
|
|
|
299
300
|
dragDisabled
|
|
300
301
|
]);
|
|
301
302
|
useMutationObserver(layerRef, initializeSlides);
|
|
303
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
302
304
|
useIsomorphicLayoutEffect(initializeSlides, [
|
|
303
305
|
align,
|
|
304
306
|
slideWidth,
|