@vkontakte/vkui 8.1.3 → 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/OnboardingTooltip/OnboardingTooltip.js +2 -1
- 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.js +1 -1
- 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 +14 -5
- 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/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/OnboardingTooltip/OnboardingTooltip.js +2 -1
- 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 +1 -1
- 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 +14 -5
- 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/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/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/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/OnboardingTooltip/OnboardingTooltip.tsx +1 -1
- package/src/components/PanelHeader/PanelHeader.tsx +1 -1
- package/src/components/Popper/Popper.tsx +1 -1
- package/src/components/PullToRefresh/PullToRefresh.module.css +1 -1
- package/src/components/PullToRefresh/PullToRefresh.tsx +10 -3
- package/src/components/Root/Root.tsx +10 -7
- 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/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/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/src/components/WriteBar/WriteBar.module.css +0 -116
- package/src/components/WriteBar/WriteBar.module.css.d.ts.map +0 -1
|
@@ -1,31 +1,62 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { type ChangeEvent, useState } from 'react';
|
|
4
3
|
import * as React from 'react';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { clamp, overflow } from '../../helpers/math';
|
|
5
|
+
import { useBooleanState } from '../../hooks/useBooleanState';
|
|
6
|
+
import { useExternRef } from '../../hooks/useExternRef';
|
|
7
|
+
import { Keys } from '../../lib/accessibility';
|
|
8
|
+
import { isActiveElement } from '../../lib/dom';
|
|
9
|
+
import { ComboBox } from './ComboBox';
|
|
8
10
|
import styles from './CalendarTime.module.css';
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
function validateValueInput(event: React.ChangeEvent<HTMLInputElement>, maxValue: number) {
|
|
13
|
+
if (event.target.value === '') {
|
|
14
|
+
return event.target.value;
|
|
15
|
+
}
|
|
11
16
|
|
|
12
|
-
const
|
|
13
|
-
value
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
const inputValue = /\d\d?/.exec(event.target.value)?.[0] || '';
|
|
18
|
+
if (event.target.value !== inputValue) {
|
|
19
|
+
return inputValue;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const inputValueNumber = Number(inputValue);
|
|
23
|
+
if (isNaN(inputValueNumber)) {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const resultValueNumber = clamp(inputValueNumber, 0, maxValue);
|
|
28
|
+
|
|
29
|
+
if (inputValueNumber === resultValueNumber) {
|
|
30
|
+
return inputValue;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return resultValueNumber.toString();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function padStartTimeValue(value: Pick<string, 'toString'>): string {
|
|
37
|
+
return value.toString().padStart(2, '0');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function newValueOnInputKeyDown(event: React.KeyboardEvent<HTMLInputElement>, maxValue: number) {
|
|
41
|
+
if (!(event.target instanceof HTMLInputElement)) {
|
|
42
|
+
return '';
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
switch (event.key) {
|
|
46
|
+
case Keys.ARROW_UP:
|
|
47
|
+
return padStartTimeValue(overflow(Number(event.target.value) + 1, 0, maxValue));
|
|
48
|
+
case Keys.ARROW_DOWN:
|
|
49
|
+
return padStartTimeValue(overflow(Number(event.target.value) - 1, 0, maxValue));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return event.target.value;
|
|
53
|
+
}
|
|
22
54
|
|
|
23
55
|
/* eslint-disable jsdoc/require-jsdoc */
|
|
24
|
-
interface CalendarTimePickerProps
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
value: number;
|
|
56
|
+
interface CalendarTimePickerProps {
|
|
57
|
+
valueDate: Date;
|
|
58
|
+
options: ReadonlyArray<{
|
|
59
|
+
value: string;
|
|
29
60
|
label: string;
|
|
30
61
|
}>;
|
|
31
62
|
onChange?: ((value: Date) => void) | undefined;
|
|
@@ -33,68 +64,123 @@ interface CalendarTimePickerProps extends Pick<SelectProps, 'onInputKeyDown'> {
|
|
|
33
64
|
inputRef: React.Ref<HTMLInputElement>;
|
|
34
65
|
inputLabel?: string | undefined;
|
|
35
66
|
inputTestId?: string | undefined;
|
|
67
|
+
value: number;
|
|
68
|
+
maxValue: number;
|
|
69
|
+
onInputEnd?: () => void;
|
|
70
|
+
onKeyDown?: (e: React.KeyboardEvent) => void;
|
|
71
|
+
isDayDisabled?: ((day: Date, withTime?: boolean) => boolean) | undefined;
|
|
36
72
|
}
|
|
37
73
|
/* eslint-enable jsdoc/require-jsdoc */
|
|
38
74
|
|
|
39
75
|
export const CalendarTimePicker = ({
|
|
76
|
+
valueDate,
|
|
40
77
|
value,
|
|
41
|
-
getNumericValue,
|
|
42
78
|
options,
|
|
43
79
|
onChange,
|
|
44
80
|
setTime,
|
|
45
81
|
inputRef,
|
|
46
82
|
inputLabel,
|
|
47
83
|
inputTestId,
|
|
48
|
-
|
|
84
|
+
maxValue,
|
|
85
|
+
onInputEnd,
|
|
86
|
+
onKeyDown: onKeyDownProp,
|
|
87
|
+
isDayDisabled,
|
|
49
88
|
}: CalendarTimePickerProps) => {
|
|
50
|
-
const
|
|
89
|
+
const ref = useExternRef(inputRef);
|
|
51
90
|
|
|
52
|
-
const
|
|
53
|
-
setInputValue(undefined);
|
|
54
|
-
}, []);
|
|
91
|
+
const [isInputFocused, onFocus, setInputBlur] = useBooleanState(false);
|
|
55
92
|
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
93
|
+
const [editableValue, setEditableValue] = React.useState(padStartTimeValue(value));
|
|
94
|
+
|
|
95
|
+
const updateValue = (newValue: string) => {
|
|
96
|
+
const newDate = setTime(valueDate, Number(newValue));
|
|
97
|
+
if (isDayDisabled?.(newDate, true)) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
setEditableValue(newValue);
|
|
101
|
+
onChange?.(newDate);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// Обработка ввода
|
|
61
105
|
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
106
|
+
const onInput = (event: React.ChangeEvent<HTMLInputElement>) => {
|
|
107
|
+
const validateValue = validateValueInput(event, maxValue);
|
|
108
|
+
updateValue(validateValue);
|
|
109
|
+
|
|
110
|
+
if (validateValue.length > 1 && event.target.selectionStart) {
|
|
111
|
+
onInputEnd?.();
|
|
67
112
|
}
|
|
68
113
|
};
|
|
69
114
|
|
|
115
|
+
// Управление числом с клавиатуры стрелками вниз/вверх.
|
|
116
|
+
|
|
117
|
+
const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {
|
|
118
|
+
const validateValue = newValueOnInputKeyDown(event, maxValue);
|
|
119
|
+
updateValue(validateValue);
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
// Обработка каретки если время уже задано
|
|
123
|
+
|
|
124
|
+
const onSelectionChange = React.useCallback((event: Event) => {
|
|
125
|
+
if (event.target instanceof HTMLInputElement) {
|
|
126
|
+
if (event.target.value.length > 1 && isActiveElement(event.target)) {
|
|
127
|
+
event.target.select();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}, []);
|
|
131
|
+
|
|
132
|
+
React.useEffect(() => {
|
|
133
|
+
const el = ref.current;
|
|
134
|
+
el?.addEventListener('selectionchange', onSelectionChange);
|
|
135
|
+
|
|
136
|
+
return () => {
|
|
137
|
+
el?.removeEventListener('selectionchange', onSelectionChange);
|
|
138
|
+
};
|
|
139
|
+
}, [onSelectionChange, ref]);
|
|
140
|
+
|
|
141
|
+
// Обработка ухода с поля ввода
|
|
142
|
+
|
|
143
|
+
const onBlur = () => {
|
|
144
|
+
setInputBlur();
|
|
145
|
+
setEditableValue((value) => {
|
|
146
|
+
const newValue = padStartTimeValue(value);
|
|
147
|
+
|
|
148
|
+
return newValue;
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
// Обработка значения при нажатии в барабане
|
|
153
|
+
|
|
154
|
+
const onClickOption = (newValue: string) => {
|
|
155
|
+
updateValue(newValue);
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
const valueAsString = padStartTimeValue(value);
|
|
159
|
+
|
|
160
|
+
const viewValue =
|
|
161
|
+
isInputFocused || padStartTimeValue(editableValue) !== valueAsString
|
|
162
|
+
? editableValue
|
|
163
|
+
: valueAsString;
|
|
164
|
+
|
|
70
165
|
return (
|
|
71
166
|
<div className={styles.picker}>
|
|
72
|
-
<
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
'aria-label': inputLabel,
|
|
90
|
-
'data-testid': inputTestId,
|
|
91
|
-
'value': inputValue,
|
|
92
|
-
'getRootRef': inputRef,
|
|
93
|
-
onBlur,
|
|
94
|
-
},
|
|
95
|
-
}}
|
|
96
|
-
/>
|
|
97
|
-
</AdaptivityProvider>
|
|
167
|
+
<ComboBox
|
|
168
|
+
value={viewValue}
|
|
169
|
+
slotProps={{
|
|
170
|
+
input: {
|
|
171
|
+
'getRootRef': ref,
|
|
172
|
+
'aria-label': inputLabel,
|
|
173
|
+
'data-testid': inputTestId,
|
|
174
|
+
'onKeyDown': onKeyDownProp,
|
|
175
|
+
},
|
|
176
|
+
}}
|
|
177
|
+
labels={options}
|
|
178
|
+
onChange={onInput}
|
|
179
|
+
onKeyDown={onKeyDown}
|
|
180
|
+
onClickOption={onClickOption}
|
|
181
|
+
onFocus={onFocus}
|
|
182
|
+
onBlur={onBlur}
|
|
183
|
+
/>
|
|
98
184
|
</div>
|
|
99
185
|
);
|
|
100
186
|
};
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { classNames } from '@vkontakte/vkjs';
|
|
5
|
+
import { type Placement } from '@vkontakte/vkui-floating-ui/core';
|
|
6
|
+
import { useBooleanState } from '../../hooks/useBooleanState';
|
|
7
|
+
import { useExternRef } from '../../hooks/useExternRef';
|
|
8
|
+
import { callMultiple } from '../../lib/callMultiple';
|
|
9
|
+
import { CustomScrollView } from '../CustomScrollView/CustomScrollView';
|
|
10
|
+
import { CustomSelectOption } from '../CustomSelectOption/CustomSelectOption';
|
|
11
|
+
import { DropdownIcon } from '../DropdownIcon/DropdownIcon';
|
|
12
|
+
import { Input, type InputProps } from '../Input/Input';
|
|
13
|
+
import { Popper } from '../Popper/Popper';
|
|
14
|
+
import styles from './CalendarTime.module.css';
|
|
15
|
+
|
|
16
|
+
type Label = {
|
|
17
|
+
/**
|
|
18
|
+
* Значение.
|
|
19
|
+
*/
|
|
20
|
+
value: string;
|
|
21
|
+
/**
|
|
22
|
+
* Лейбл.
|
|
23
|
+
*/
|
|
24
|
+
label: string;
|
|
25
|
+
/**
|
|
26
|
+
* Disabled состояние.
|
|
27
|
+
*/
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
type OptionProps = {
|
|
32
|
+
/**
|
|
33
|
+
* Выбранное значение.
|
|
34
|
+
*/
|
|
35
|
+
selectedValue: string | number | readonly string[] | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Опция.
|
|
38
|
+
*/
|
|
39
|
+
option: Label;
|
|
40
|
+
/**
|
|
41
|
+
* Нажатие на элемент.
|
|
42
|
+
*/
|
|
43
|
+
onClickOption?: ((value: string) => void) | undefined;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
function getScrollParent(node: Node | null): HTMLElement | null {
|
|
47
|
+
if (!(node instanceof HTMLElement)) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (node.scrollHeight > node.clientHeight) {
|
|
52
|
+
return node;
|
|
53
|
+
} else {
|
|
54
|
+
return getScrollParent(node.parentNode);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function Option({ option, onClickOption, selectedValue }: OptionProps) {
|
|
59
|
+
const ref = React.useRef<HTMLDivElement>(null);
|
|
60
|
+
const selected = selectedValue === option.value;
|
|
61
|
+
|
|
62
|
+
React.useEffect(() => {
|
|
63
|
+
if (!selected) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const element = ref.current;
|
|
68
|
+
const scrollElement = getScrollParent(ref.current);
|
|
69
|
+
|
|
70
|
+
if (!element || !scrollElement) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
scrollElement.scrollTo({
|
|
75
|
+
top: element.offsetTop - scrollElement.offsetHeight / 2 + element.offsetHeight / 2,
|
|
76
|
+
});
|
|
77
|
+
}, [selected]);
|
|
78
|
+
|
|
79
|
+
return (
|
|
80
|
+
<CustomSelectOption
|
|
81
|
+
getRootRef={ref}
|
|
82
|
+
key={option.value}
|
|
83
|
+
onMouseDown={(event) => {
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
}}
|
|
86
|
+
onClick={() => {
|
|
87
|
+
onClickOption?.(option.value);
|
|
88
|
+
}}
|
|
89
|
+
selected={selected}
|
|
90
|
+
disabled={option.disabled}
|
|
91
|
+
textNoWrap
|
|
92
|
+
>
|
|
93
|
+
{option.label}
|
|
94
|
+
</CustomSelectOption>
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
type ComboBoxProps = InputProps & {
|
|
99
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
100
|
+
readonly labels?: readonly Label[] | undefined;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Нажатие на элемент.
|
|
104
|
+
*/
|
|
105
|
+
onClickOption?: ((value: string) => void) | undefined;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export function ComboBox({
|
|
109
|
+
getRootRef,
|
|
110
|
+
onBlur,
|
|
111
|
+
onFocus,
|
|
112
|
+
after,
|
|
113
|
+
labels = [],
|
|
114
|
+
defaultValue,
|
|
115
|
+
slotProps,
|
|
116
|
+
onClickOption,
|
|
117
|
+
...restProps
|
|
118
|
+
}: ComboBoxProps) {
|
|
119
|
+
const ref = useExternRef(getRootRef);
|
|
120
|
+
const inputRef = useExternRef(slotProps?.input?.getRootRef);
|
|
121
|
+
|
|
122
|
+
const [focus, setFocus, setBlur] = useBooleanState(false);
|
|
123
|
+
|
|
124
|
+
const [popperPlacement, setPopperPlacement] = React.useState<Placement>('bottom');
|
|
125
|
+
|
|
126
|
+
const labelsElements = focus
|
|
127
|
+
? labels.map((option) => {
|
|
128
|
+
return (
|
|
129
|
+
<Option
|
|
130
|
+
key={option.value}
|
|
131
|
+
onClickOption={onClickOption}
|
|
132
|
+
selectedValue={restProps.value}
|
|
133
|
+
option={option}
|
|
134
|
+
/>
|
|
135
|
+
);
|
|
136
|
+
})
|
|
137
|
+
: undefined;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* При управлении стрелками необходима правильная очередность элементов в списке.
|
|
141
|
+
*/
|
|
142
|
+
if (popperPlacement.includes('top')) {
|
|
143
|
+
labelsElements?.reverse();
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return (
|
|
147
|
+
<>
|
|
148
|
+
<Input
|
|
149
|
+
getRootRef={ref}
|
|
150
|
+
className={
|
|
151
|
+
focus ? (popperPlacement.includes('top') ? styles.inputPopUp : styles.inputPopDown) : ''
|
|
152
|
+
}
|
|
153
|
+
type="text"
|
|
154
|
+
onFocus={callMultiple(setFocus, onFocus)}
|
|
155
|
+
onBlur={callMultiple(setBlur, onBlur)}
|
|
156
|
+
onClick={() => inputRef.current?.focus()}
|
|
157
|
+
after={after || (labels && <DropdownIcon opened={focus} />)}
|
|
158
|
+
slotProps={{
|
|
159
|
+
...slotProps,
|
|
160
|
+
input: {
|
|
161
|
+
...slotProps?.input,
|
|
162
|
+
getRootRef: inputRef,
|
|
163
|
+
},
|
|
164
|
+
}}
|
|
165
|
+
{...restProps}
|
|
166
|
+
/>
|
|
167
|
+
|
|
168
|
+
{focus && labels && (
|
|
169
|
+
<Popper
|
|
170
|
+
targetRef={ref}
|
|
171
|
+
placement={popperPlacement}
|
|
172
|
+
onPlacementChange={setPopperPlacement}
|
|
173
|
+
className={classNames(
|
|
174
|
+
styles.popper,
|
|
175
|
+
popperPlacement.includes('top') ? styles.popperTop : styles.popperBottom,
|
|
176
|
+
)}
|
|
177
|
+
sameWidth
|
|
178
|
+
autoUpdateOnTargetResize
|
|
179
|
+
flipMiddlewareFallbackAxisSideDirection="none"
|
|
180
|
+
offsetByMainAxis={0}
|
|
181
|
+
>
|
|
182
|
+
<CustomScrollView tabIndex={-1} className={styles.customScroll}>
|
|
183
|
+
{labelsElements}
|
|
184
|
+
</CustomScrollView>
|
|
185
|
+
</Popper>
|
|
186
|
+
)}
|
|
187
|
+
</>
|
|
188
|
+
);
|
|
189
|
+
}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { classNames } from '@vkontakte/vkjs';
|
|
5
5
|
import { useConfigDirection } from '../../hooks/useConfigDirection';
|
|
6
|
-
import { useDOM } from '../../lib/dom';
|
|
7
6
|
import type { HasComponent, HTMLAttributesWithRootRef } from '../../types';
|
|
8
7
|
import { HorizontalScroll, type HorizontalScrollProps } from '../HorizontalScroll/HorizontalScroll';
|
|
9
8
|
import { RootComponent } from '../RootComponent/RootComponent';
|
|
@@ -49,11 +48,11 @@ export const CardScroll = ({
|
|
|
49
48
|
const refContainer = React.useRef<HTMLDivElement>(null);
|
|
50
49
|
const direction = useConfigDirection();
|
|
51
50
|
|
|
52
|
-
const { window } = useDOM();
|
|
53
|
-
|
|
54
51
|
const getPadding = (container: HTMLElement) => {
|
|
52
|
+
const window = container.ownerDocument.defaultView!;
|
|
53
|
+
|
|
55
54
|
return parseFloat(
|
|
56
|
-
window
|
|
55
|
+
window
|
|
57
56
|
.getComputedStyle(container)
|
|
58
57
|
.getPropertyValue('--vkui_internal--CardScroll_horizontal_padding'),
|
|
59
58
|
);
|
|
@@ -73,7 +72,9 @@ export const CardScroll = ({
|
|
|
73
72
|
const containerWidth = refContainer.current.offsetWidth;
|
|
74
73
|
|
|
75
74
|
const getMarginEnd = (el: HTMLElement) => {
|
|
76
|
-
const
|
|
75
|
+
const window = el.ownerDocument.defaultView!;
|
|
76
|
+
|
|
77
|
+
const computedStyles = window.getComputedStyle(el);
|
|
77
78
|
return (
|
|
78
79
|
parseInt(computedStyles.marginInlineEnd) ||
|
|
79
80
|
(direction === 'rtl'
|
|
@@ -449,6 +449,7 @@ export const CarouselBase = ({
|
|
|
449
449
|
canSlideRight: calculateCanSlideRight(),
|
|
450
450
|
}));
|
|
451
451
|
},
|
|
452
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
452
453
|
[slideIndex],
|
|
453
454
|
);
|
|
454
455
|
|
|
@@ -463,7 +464,7 @@ export const CarouselBase = ({
|
|
|
463
464
|
);
|
|
464
465
|
|
|
465
466
|
useMutationObserver(layerRef, initializeSlides);
|
|
466
|
-
|
|
467
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
467
468
|
useIsomorphicLayoutEffect(initializeSlides, [align, slideWidth, looped, isRtl]);
|
|
468
469
|
|
|
469
470
|
const calculateMinDeltaXToSlide = () => {
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
useConfigProvider,
|
|
14
14
|
useConfigProviderContextMemo,
|
|
15
15
|
} from './ConfigProviderContext';
|
|
16
|
+
import { ConfigProviderSubContexts } from './ConfigProviderSubContexts';
|
|
16
17
|
|
|
17
18
|
export interface ConfigProviderProps extends PartialWithUndefined<ConfigProviderContextInterface> {
|
|
18
19
|
/**
|
|
@@ -44,9 +45,11 @@ export const ConfigProvider = (propsRaw: ConfigProviderProps): React.ReactNode =
|
|
|
44
45
|
|
|
45
46
|
return (
|
|
46
47
|
<ConfigProviderContext.Provider value={configContext}>
|
|
47
|
-
<
|
|
48
|
-
<
|
|
49
|
-
|
|
48
|
+
<ConfigProviderSubContexts value={configContext}>
|
|
49
|
+
<IconAppearanceProvider value={colorScheme}>
|
|
50
|
+
<TokensClassProvider>{mergeProps.children}</TokensClassProvider>
|
|
51
|
+
</IconAppearanceProvider>
|
|
52
|
+
</ConfigProviderSubContexts>
|
|
50
53
|
</ConfigProviderContext.Provider>
|
|
51
54
|
);
|
|
52
55
|
};
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
useConfigProvider,
|
|
8
8
|
useConfigProviderContextMemo,
|
|
9
9
|
} from './ConfigProviderContext';
|
|
10
|
+
import { ConfigProviderSubContexts } from './ConfigProviderSubContexts';
|
|
10
11
|
|
|
11
12
|
export interface ConfigProviderOverrideProps extends Partial<ConfigProviderContextInterface> {
|
|
12
13
|
/**
|
|
@@ -28,7 +29,7 @@ export function ConfigProviderOverride({
|
|
|
28
29
|
|
|
29
30
|
return (
|
|
30
31
|
<ConfigProviderContext.Provider value={configContext}>
|
|
31
|
-
{children}
|
|
32
|
+
<ConfigProviderSubContexts value={configContext}>{children}</ConfigProviderSubContexts>
|
|
32
33
|
</ConfigProviderContext.Provider>
|
|
33
34
|
);
|
|
34
35
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import type { ColorSchemeType } from '../../lib/colorScheme';
|
|
5
|
+
import type { Direction } from '../../lib/direction';
|
|
6
|
+
import { platform, type PlatformType } from '../../lib/platform';
|
|
7
|
+
import type { ConfigProviderContextInterface } from './ConfigProviderContext';
|
|
8
|
+
|
|
9
|
+
export const PlatformContext: React.Context<PlatformType> = React.createContext<PlatformType>(
|
|
10
|
+
platform(),
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
export const ColorSchemeContext: React.Context<ColorSchemeType | undefined> = React.createContext<
|
|
14
|
+
ColorSchemeType | undefined
|
|
15
|
+
>(undefined);
|
|
16
|
+
|
|
17
|
+
export const LocaleContext: React.Context<string> = React.createContext<string>('ru');
|
|
18
|
+
|
|
19
|
+
export const DirectionContext: React.Context<Direction | undefined> = React.createContext<
|
|
20
|
+
Direction | undefined
|
|
21
|
+
>(undefined);
|
|
22
|
+
|
|
23
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
24
|
+
export interface ConfigProviderSubContextsProps {
|
|
25
|
+
value: Pick<ConfigProviderContextInterface, 'platform' | 'colorScheme' | 'locale' | 'direction'>;
|
|
26
|
+
children: React.ReactNode;
|
|
27
|
+
}
|
|
28
|
+
/* eslint-enable jsdoc/require-jsdoc */
|
|
29
|
+
|
|
30
|
+
export function ConfigProviderSubContexts({
|
|
31
|
+
value,
|
|
32
|
+
children,
|
|
33
|
+
}: ConfigProviderSubContextsProps): React.ReactNode {
|
|
34
|
+
return (
|
|
35
|
+
<PlatformContext.Provider value={value.platform}>
|
|
36
|
+
<ColorSchemeContext.Provider value={value.colorScheme}>
|
|
37
|
+
<LocaleContext.Provider value={value.locale}>
|
|
38
|
+
<DirectionContext.Provider value={value.direction}>{children}</DirectionContext.Provider>
|
|
39
|
+
</LocaleContext.Provider>
|
|
40
|
+
</ColorSchemeContext.Provider>
|
|
41
|
+
</PlatformContext.Provider>
|
|
42
|
+
);
|
|
43
|
+
}
|