@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,19 +1,15 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import { useExternRef } from '../../hooks/useExternRef';
|
|
4
|
+
import { hasReactNode } from '@vkontakte/vkjs';
|
|
6
5
|
import { useMergeProps } from '../../hooks/useMergeProps';
|
|
7
|
-
import { usePlatform } from '../../hooks/usePlatform';
|
|
8
|
-
import { callMultiple } from '../../lib/callMultiple';
|
|
9
6
|
import { warnOnce } from '../../lib/warnOnce';
|
|
10
7
|
import type { HasDataAttribute, HasRootRef } from '../../types';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
16
|
-
import styles from './WriteBar.module.css';
|
|
8
|
+
import { WriteBarBeforeOrAfter } from './WriteBarBeforeOrAfter/WriteBarBeforeOrAfter';
|
|
9
|
+
import { WriteBarFormField } from './WriteBarFormField/WriteBarFormField';
|
|
10
|
+
import { WriteBarFormFieldInlineAfter } from './WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter';
|
|
11
|
+
import { WriteBarRoot } from './WriteBarRoot/WriteBarRoot';
|
|
12
|
+
import { WriteBarTextarea } from './WriteBarTextarea/WriteBarTextarea';
|
|
17
13
|
|
|
18
14
|
const warn = warnOnce('WriteBar');
|
|
19
15
|
|
|
@@ -91,16 +87,6 @@ export interface WriteBarProps
|
|
|
91
87
|
children?: never | undefined;
|
|
92
88
|
}
|
|
93
89
|
|
|
94
|
-
const WriteBarTypography = (props: TypographyProps) => {
|
|
95
|
-
const platform = usePlatform();
|
|
96
|
-
|
|
97
|
-
if (platform === 'ios') {
|
|
98
|
-
return <Title {...props} level="3" weight="3" />;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return <Headline weight="3" {...props} />;
|
|
102
|
-
};
|
|
103
|
-
|
|
104
90
|
/**
|
|
105
91
|
* @see https://vkui.io/components/write-bar
|
|
106
92
|
*/
|
|
@@ -130,7 +116,7 @@ export const WriteBar = ({
|
|
|
130
116
|
wrap,
|
|
131
117
|
rows,
|
|
132
118
|
form,
|
|
133
|
-
onChange
|
|
119
|
+
onChange,
|
|
134
120
|
onFocus,
|
|
135
121
|
onBlur,
|
|
136
122
|
id,
|
|
@@ -148,17 +134,10 @@ export const WriteBar = ({
|
|
|
148
134
|
warn('Свойство `getRef` устаревшее, используйте `slotProps={ textArea: { getRootRef: ... } }`');
|
|
149
135
|
}
|
|
150
136
|
|
|
151
|
-
const platform = usePlatform();
|
|
152
|
-
|
|
153
137
|
const rootProps = useMergeProps(restProps, slotProps?.root);
|
|
154
138
|
|
|
155
|
-
const
|
|
156
|
-
onChange,
|
|
157
|
-
getRootRef: getTextAreaRef,
|
|
158
|
-
...textAreaRest
|
|
159
|
-
} = useMergeProps(
|
|
139
|
+
const textAreaRest = useMergeProps(
|
|
160
140
|
{
|
|
161
|
-
className: styles.textarea,
|
|
162
141
|
getRootRef: getRef,
|
|
163
142
|
autoComplete,
|
|
164
143
|
autoCapitalize,
|
|
@@ -176,7 +155,7 @@ export const WriteBar = ({
|
|
|
176
155
|
wrap,
|
|
177
156
|
rows,
|
|
178
157
|
form,
|
|
179
|
-
onChange
|
|
158
|
+
onChange,
|
|
180
159
|
onFocus,
|
|
181
160
|
onBlur,
|
|
182
161
|
id,
|
|
@@ -189,35 +168,22 @@ export const WriteBar = ({
|
|
|
189
168
|
slotProps?.textArea,
|
|
190
169
|
);
|
|
191
170
|
|
|
192
|
-
const [refResizeTextarea, resize] = useResizeTextarea(onHeightChange, true);
|
|
193
|
-
const textareaRef = useExternRef(getTextAreaRef, refResizeTextarea);
|
|
194
|
-
|
|
195
|
-
React.useEffect(resize, [resize, platform]);
|
|
196
|
-
|
|
197
171
|
return (
|
|
198
|
-
<
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
<
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
<div className={styles.formIn}>
|
|
210
|
-
<WriteBarTypography
|
|
211
|
-
Component="textarea"
|
|
212
|
-
onChange={callMultiple(onChange, resize)}
|
|
213
|
-
getRootRef={textareaRef}
|
|
214
|
-
{...textAreaRest}
|
|
215
|
-
/>
|
|
216
|
-
{hasReactNode(inlineAfter) && <div className={styles.inlineAfter}>{inlineAfter}</div>}
|
|
217
|
-
</div>
|
|
218
|
-
|
|
219
|
-
{hasReactNode(after) && <div className={styles.after}>{after}</div>}
|
|
220
|
-
</div>
|
|
221
|
-
</RootComponent>
|
|
172
|
+
<WriteBarRoot shadow={shadow} {...rootProps}>
|
|
173
|
+
{hasReactNode(before) && <WriteBarBeforeOrAfter>{before}</WriteBarBeforeOrAfter>}
|
|
174
|
+
<WriteBarFormField>
|
|
175
|
+
<WriteBarTextarea onHeightChange={onHeightChange} {...textAreaRest} />
|
|
176
|
+
{hasReactNode(inlineAfter) && (
|
|
177
|
+
<WriteBarFormFieldInlineAfter>{inlineAfter}</WriteBarFormFieldInlineAfter>
|
|
178
|
+
)}
|
|
179
|
+
</WriteBarFormField>
|
|
180
|
+
{hasReactNode(after) && <WriteBarBeforeOrAfter>{after}</WriteBarBeforeOrAfter>}
|
|
181
|
+
</WriteBarRoot>
|
|
222
182
|
);
|
|
223
183
|
};
|
|
184
|
+
|
|
185
|
+
WriteBar.FormField = WriteBarFormField;
|
|
186
|
+
WriteBar.Textarea = WriteBarTextarea;
|
|
187
|
+
WriteBar.Root = WriteBarRoot;
|
|
188
|
+
WriteBar.Before = WriteBarBeforeOrAfter;
|
|
189
|
+
WriteBar.After = WriteBarBeforeOrAfter;
|
package/src/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.module.css.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["./WriteBarBeforeOrAfter.module.css"],"names":["host","ios"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAIAA,M,WAJA;AAAA,E,aAQAC,K,WARA;AAAA;AAAA","file":"WriteBarBeforeOrAfter.module.css.d.ts","sourceRoot":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { classNames } from '@vkontakte/vkjs';
|
|
4
|
+
import { Flex, type FlexProps } from '../../../components/Flex/Flex';
|
|
5
|
+
import { usePlatform } from '../../../hooks/usePlatform';
|
|
6
|
+
import styles from './WriteBarBeforeOrAfter.module.css';
|
|
7
|
+
|
|
8
|
+
type WriteBarBeforeOrAfterProps = FlexProps;
|
|
9
|
+
|
|
10
|
+
export const WriteBarBeforeOrAfter = ({ className, ...restProps }: WriteBarBeforeOrAfterProps) => {
|
|
11
|
+
const platform = usePlatform();
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<Flex
|
|
15
|
+
align="end"
|
|
16
|
+
className={classNames(styles.host, platform === 'ios' && styles.ios, className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
/>
|
|
19
|
+
);
|
|
20
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.host {
|
|
2
|
+
position: relative;
|
|
3
|
+
flex: 1;
|
|
4
|
+
min-inline-size: 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.ios {
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
margin-block: 8px;
|
|
10
|
+
margin-inline: 0;
|
|
11
|
+
background-color: var(--vkui--color_write_bar_input_background);
|
|
12
|
+
border: var(--vkui--size_border--regular) solid var(--vkui--color_write_bar_input_border);
|
|
13
|
+
border-radius: 18px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ios:first-child {
|
|
17
|
+
margin-inline-start: 12px;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["./WriteBarFormField.module.css"],"names":["host","ios"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAMAC,K,WANA;AAAA,E,aAeAA,K,WAfA;AAAA;AAAA","file":"WriteBarFormField.module.css.d.ts","sourceRoot":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { classNames } from '@vkontakte/vkjs';
|
|
4
|
+
import { usePlatform } from '../../../hooks/usePlatform';
|
|
5
|
+
import { Flex, type FlexProps } from '../../Flex/Flex';
|
|
6
|
+
import { WriteBarFormFieldInlineAfter } from './WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter';
|
|
7
|
+
import styles from './WriteBarFormField.module.css';
|
|
8
|
+
|
|
9
|
+
type WriteBarFormFieldProps = FlexProps;
|
|
10
|
+
|
|
11
|
+
export const WriteBarFormField = ({ className, ...restProps }: WriteBarFormFieldProps) => {
|
|
12
|
+
const platform = usePlatform();
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<Flex
|
|
16
|
+
className={classNames(styles.host, platform === 'ios' && styles.ios, className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
/>
|
|
19
|
+
);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
WriteBarFormField.InlineAfter = WriteBarFormFieldInlineAfter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["./WriteBarFormFieldInlineAfter.module.css"],"names":["ios"],"mappings":"AAAA;AAAA,E,aAAAA,K,WAAA;AAAA;AAAA","file":"WriteBarFormFieldInlineAfter.module.css.d.ts","sourceRoot":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { classNames } from '@vkontakte/vkjs';
|
|
4
|
+
import { Flex, type FlexProps } from '../../../../components/Flex/Flex';
|
|
5
|
+
import { usePlatform } from '../../../../hooks/usePlatform';
|
|
6
|
+
import styles from './WriteBarFormFieldInlineAfter.module.css';
|
|
7
|
+
|
|
8
|
+
type WriteBarFormFieldInlineAfterProps = FlexProps;
|
|
9
|
+
|
|
10
|
+
export const WriteBarFormFieldInlineAfter = ({
|
|
11
|
+
className,
|
|
12
|
+
...restProps
|
|
13
|
+
}: WriteBarFormFieldInlineAfterProps) => {
|
|
14
|
+
const platform = usePlatform();
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<Flex
|
|
18
|
+
align="end"
|
|
19
|
+
className={classNames(platform === 'ios' && styles.ios, className)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
/>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["./WriteBarRoot.module.css"],"names":["host","shadow","ios"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAIAC,Q,WAJA;AAAA,E,aAWAC,K,WAXA;AAAA;AAAA","file":"WriteBarRoot.module.css.d.ts","sourceRoot":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { classNames } from '@vkontakte/vkjs';
|
|
4
|
+
import { usePlatform } from '../../../hooks/usePlatform';
|
|
5
|
+
import { Flex, type FlexProps } from '../../Flex/Flex';
|
|
6
|
+
import styles from './WriteBarRoot.module.css';
|
|
7
|
+
|
|
8
|
+
type WriteBarRootProps = FlexProps & {
|
|
9
|
+
/**
|
|
10
|
+
* Добавляет тень вокруг поля ввода.
|
|
11
|
+
*/
|
|
12
|
+
shadow?: boolean;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export const WriteBarRoot = ({ shadow, className, ...restProps }: WriteBarRootProps) => {
|
|
16
|
+
const platform = usePlatform();
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<Flex
|
|
20
|
+
align="end"
|
|
21
|
+
minBlockSize={52}
|
|
22
|
+
className={classNames(
|
|
23
|
+
styles.host,
|
|
24
|
+
platform === 'ios' && styles.ios,
|
|
25
|
+
shadow && styles.shadow,
|
|
26
|
+
className,
|
|
27
|
+
)}
|
|
28
|
+
{...restProps}
|
|
29
|
+
/>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
.host {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
flex: 1;
|
|
4
|
+
inline-size: 100%;
|
|
5
|
+
min-inline-size: 0;
|
|
6
|
+
max-block-size: 120px;
|
|
7
|
+
margin: 0;
|
|
8
|
+
color: var(--vkui--color_text_primary);
|
|
9
|
+
appearance: none;
|
|
10
|
+
resize: none;
|
|
11
|
+
background: transparent;
|
|
12
|
+
border: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.host:placeholder-shown {
|
|
16
|
+
text-overflow: ellipsis;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.host::placeholder {
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
text-overflow: ellipsis;
|
|
22
|
+
color: var(--vkui--color_text_subhead);
|
|
23
|
+
white-space: nowrap;
|
|
24
|
+
/* Для Firefox */
|
|
25
|
+
opacity: 1;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.host:focus {
|
|
29
|
+
outline: var(--vkui_internal--outline-reset);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.host {
|
|
33
|
+
block-size: 52px;
|
|
34
|
+
padding-block: 16px;
|
|
35
|
+
padding-inline: 12px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ios {
|
|
39
|
+
block-size: 36px;
|
|
40
|
+
padding-block: 6px;
|
|
41
|
+
padding-inline: 12px 0;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["./WriteBarTextarea.module.css"],"names":["host","ios"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAcAA,M,WAdA;AAAA,E,aAkBAA,M,WAlBA;AAAA,E,aA2BAA,M,WA3BA;AAAA,E,aA+BAA,M,WA/BA;AAAA,E,aAqCAC,K,WArCA;AAAA;AAAA","file":"WriteBarTextarea.module.css.d.ts","sourceRoot":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { classNames } from '@vkontakte/vkjs';
|
|
5
|
+
import { useExternRef } from '../../../hooks/useExternRef';
|
|
6
|
+
import { usePlatform } from '../../../hooks/usePlatform';
|
|
7
|
+
import { callMultiple } from '../../../lib/callMultiple';
|
|
8
|
+
import type { RootComponentProps } from '../../RootComponent/RootComponent';
|
|
9
|
+
import { useResizeTextarea } from '../../Textarea/useResizeTextarea';
|
|
10
|
+
import { Headline } from '../../Typography/Headline/Headline';
|
|
11
|
+
import { Title } from '../../Typography/Title/Title';
|
|
12
|
+
import styles from './WriteBarTextarea.module.css';
|
|
13
|
+
|
|
14
|
+
type WriteBarTextareaProps = RootComponentProps<HTMLTextAreaElement> & {
|
|
15
|
+
/**
|
|
16
|
+
* Вызывается при смене высоты поля ввода.
|
|
17
|
+
*/
|
|
18
|
+
onHeightChange?: VoidFunction | undefined;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const WriteBarTextarea = ({
|
|
22
|
+
className,
|
|
23
|
+
getRootRef,
|
|
24
|
+
onHeightChange,
|
|
25
|
+
onChange,
|
|
26
|
+
...restProps
|
|
27
|
+
}: WriteBarTextareaProps) => {
|
|
28
|
+
const platform = usePlatform();
|
|
29
|
+
|
|
30
|
+
const [refResizeTextarea, resize] = useResizeTextarea(onHeightChange, true);
|
|
31
|
+
const textareaRef = useExternRef(getRootRef, refResizeTextarea);
|
|
32
|
+
|
|
33
|
+
React.useEffect(resize, [resize, platform]);
|
|
34
|
+
|
|
35
|
+
const props = {
|
|
36
|
+
Component: 'textarea',
|
|
37
|
+
weight: '3',
|
|
38
|
+
className: classNames(className, styles.host, platform === 'ios' && styles.ios),
|
|
39
|
+
getRootRef: textareaRef,
|
|
40
|
+
onChange: callMultiple(onChange, resize),
|
|
41
|
+
} as const;
|
|
42
|
+
|
|
43
|
+
if (platform === 'ios') {
|
|
44
|
+
return <Title level="3" {...props} {...restProps} />;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return <Headline {...props} {...restProps} />;
|
|
48
|
+
};
|
package/src/helpers/math.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
export const clamp = (value: number, min: number, max: number): number =>
|
|
2
2
|
Math.max(min, Math.min(value, max));
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Переполнение для диапазона [min, max]
|
|
6
|
+
*/
|
|
7
|
+
export function overflow(value: number, min: number, max: number) {
|
|
8
|
+
const range = max - min + 1;
|
|
9
|
+
return ((((value - min) % range) + range) % range) + min;
|
|
10
|
+
}
|
|
11
|
+
|
|
4
12
|
export function precisionRound(number: number, precision = 1): number {
|
|
5
13
|
let factor = Math.pow(10, precision);
|
|
6
14
|
return Math.round(number * factor) / factor;
|
package/src/hoc/withPlatform.tsx
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { PlatformContext } from '../components/ConfigProvider/ConfigProviderSubContexts';
|
|
5
5
|
import type { HasPlatform } from '../types';
|
|
6
6
|
|
|
7
7
|
export function withPlatform<T extends HasPlatform>(
|
|
8
8
|
Component: React.ComponentType<T>,
|
|
9
9
|
): React.FC<Omit<T, keyof HasPlatform>> {
|
|
10
10
|
function WithPlatform(props: Omit<T, keyof HasPlatform>) {
|
|
11
|
-
const
|
|
11
|
+
const platform = React.useContext(PlatformContext);
|
|
12
12
|
|
|
13
13
|
return <Component {...(props as T)} platform={platform} />;
|
|
14
14
|
}
|
|
@@ -36,11 +36,11 @@ export type AdaptiveDeviceType = Record<
|
|
|
36
36
|
|
|
37
37
|
export interface UseAdaptivityConditionalRender {
|
|
38
38
|
/**
|
|
39
|
-
* @deprecated Since 8.0.0. Будет удалено в **VKUI v10** – используйте `density` (
|
|
39
|
+
* @deprecated Since 8.0.0. Будет удалено в **VKUI v10** – используйте `density` (https://github.com/VKCOM/VKUI/issues/9015).
|
|
40
40
|
*/
|
|
41
41
|
sizeX: AdaptiveDensityType; // TODO [>=10]: #9015 Удалить свойство.
|
|
42
42
|
/**
|
|
43
|
-
* @deprecated Since 8.0.0. Будет удалено в **VKUI v10** – используйте `density` (
|
|
43
|
+
* @deprecated Since 8.0.0. Будет удалено в **VKUI v10** – используйте `density` (https://github.com/VKCOM/VKUI/issues/9015).
|
|
44
44
|
*/
|
|
45
45
|
sizeY: AdaptiveDensityType; // TODO [>=10]: #9015 Удалить свойство.
|
|
46
46
|
density: AdaptiveDensityType;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useStableCallback } from './useStableCallback';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Обертка над `requestAnimationFrame`
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* const animate = React.useCallback((delta: number) => {
|
|
9
|
+
* console.log('Delta:', delta);
|
|
10
|
+
* }, []);
|
|
11
|
+
*
|
|
12
|
+
* useAnimationFrame(animate);
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @param callback Функция, которая будет вызываться каждый раз при обновлении анимации.
|
|
16
|
+
* Принимает параметр `delta` - время в миллисекундах, прошедшее с первого кадра анимации.
|
|
17
|
+
*/
|
|
18
|
+
export function useAnimationFrame(callback: (delta: number) => void, disableAnimation = false) {
|
|
19
|
+
const handleRef = React.useRef<number>(undefined);
|
|
20
|
+
const startTimestampRef = React.useRef<number>(undefined);
|
|
21
|
+
const stableCallback = useStableCallback(callback);
|
|
22
|
+
|
|
23
|
+
React.useEffect(() => {
|
|
24
|
+
if (disableAnimation) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const animate = (timestamp: number) => {
|
|
29
|
+
if (startTimestampRef.current === undefined) {
|
|
30
|
+
startTimestampRef.current = timestamp;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const delta = timestamp - startTimestampRef.current;
|
|
34
|
+
stableCallback(delta);
|
|
35
|
+
|
|
36
|
+
handleRef.current = requestAnimationFrame(animate);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
handleRef.current = requestAnimationFrame(animate);
|
|
40
|
+
return () => cancelAnimationFrame(handleRef.current!);
|
|
41
|
+
}, [disableAnimation, stableCallback]);
|
|
42
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ColorSchemeContext } from '../components/ConfigProvider/ConfigProviderSubContexts';
|
|
2
3
|
import { type ColorSchemeType, DEFAULT_COLOR_SCHEME } from '../lib/colorScheme';
|
|
3
4
|
|
|
4
5
|
export function useColorScheme(): ColorSchemeType {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return colorScheme ?? DEFAULT_COLOR_SCHEME;
|
|
6
|
+
return React.useContext(ColorSchemeContext) ?? DEFAULT_COLOR_SCHEME;
|
|
8
7
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { DirectionContext } from '../components/ConfigProvider/ConfigProviderSubContexts';
|
|
2
3
|
import type { Direction } from '../lib/direction';
|
|
3
4
|
|
|
4
5
|
export function useConfigDirection(): Direction {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return direction || 'ltr';
|
|
6
|
+
return React.useContext(DirectionContext) || 'ltr';
|
|
8
7
|
}
|
|
@@ -49,14 +49,13 @@ export function useDateInput<T extends HTMLElement, D>({
|
|
|
49
49
|
removeFocusFromField: () => void;
|
|
50
50
|
handleRestoreFocus: () => boolean;
|
|
51
51
|
} {
|
|
52
|
-
const { document } = useDOM();
|
|
52
|
+
const { document, window } = useDOM();
|
|
53
53
|
const [open, openCalendar, closeCalendar] = useBooleanState(false);
|
|
54
54
|
const rootRef = React.useRef<HTMLDivElement | null>(null);
|
|
55
55
|
const calendarRef = React.useRef<HTMLDivElement | null>(null);
|
|
56
56
|
const [internalValue, setInternalValue] = React.useState<string[]>([]);
|
|
57
57
|
const [focusedElement, setFocusedElement] = React.useState<number | null>(null);
|
|
58
58
|
const isClickedOutsideRef = React.useRef(false);
|
|
59
|
-
const { window } = useDOM();
|
|
60
59
|
|
|
61
60
|
const handleRestoreFocus = React.useCallback(() => {
|
|
62
61
|
// если календарь был закрыт кликом вне календаря
|
|
@@ -99,6 +99,7 @@ export const useFocusTrap = (
|
|
|
99
99
|
|
|
100
100
|
const createFocusFn = (getFocusElement: (root: HTMLElement | null) => HTMLElement | null) => {
|
|
101
101
|
return () => {
|
|
102
|
+
// eslint-disable-next-line react-hooks/refs
|
|
102
103
|
const node = getFocusElement(ref.current);
|
|
103
104
|
if (node) {
|
|
104
105
|
node.focus({ preventScroll: true });
|
|
@@ -166,6 +167,7 @@ export const useFocusTrap = (
|
|
|
166
167
|
|
|
167
168
|
const createGuardFocusHandler = (focusFn: () => void, focusFromOutside: () => void) => {
|
|
168
169
|
return (event: React.FocusEvent<HTMLSpanElement>) => {
|
|
170
|
+
// eslint-disable-next-line react-hooks/refs
|
|
169
171
|
if (!mount || disabled || !ref.current) {
|
|
170
172
|
return;
|
|
171
173
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type FocusEvent, useCallback,
|
|
2
|
-
import {
|
|
1
|
+
import { type FocusEvent, useCallback, useState } from 'react';
|
|
2
|
+
import { useKeyboardInputTracker } from './useKeyboardInputTracker';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Определяет фокус элемента, когда его наличие необходимо обозначить визуально.
|
|
@@ -14,29 +14,21 @@ export function useFocusVisible(): {
|
|
|
14
14
|
onFocus: (event: FocusEvent<HTMLElement>) => void;
|
|
15
15
|
onBlur: (event: FocusEvent<HTMLElement>) => void;
|
|
16
16
|
} {
|
|
17
|
-
const [
|
|
18
|
-
|
|
19
|
-
// FIXME: Избавиться от чека контекста, так как без AppRoot не работает фокус
|
|
20
|
-
const withKeyboardInputCheck = true;
|
|
21
|
-
const { keyboardInput } = useContext(AppRootContext);
|
|
17
|
+
const [focusVisible, setFocusVisible] = useState(false);
|
|
18
|
+
const keyboardInputRef = useKeyboardInputTracker();
|
|
22
19
|
|
|
23
20
|
const onFocus = useCallback(
|
|
24
21
|
(event: FocusEvent<HTMLElement>) => {
|
|
25
22
|
event.stopPropagation();
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
[setIsFocused],
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
const onBlur = useCallback(
|
|
32
|
-
(event: FocusEvent<HTMLElement>) => {
|
|
33
|
-
event.stopPropagation();
|
|
34
|
-
setIsFocused(false);
|
|
23
|
+
setFocusVisible(Boolean(keyboardInputRef.current));
|
|
35
24
|
},
|
|
36
|
-
[
|
|
25
|
+
[keyboardInputRef],
|
|
37
26
|
);
|
|
38
27
|
|
|
39
|
-
const
|
|
28
|
+
const onBlur = useCallback((event: FocusEvent<HTMLElement>) => {
|
|
29
|
+
event.stopPropagation();
|
|
30
|
+
setFocusVisible(false);
|
|
31
|
+
}, []);
|
|
40
32
|
|
|
41
33
|
return {
|
|
42
34
|
focusVisible,
|