@vkontakte/vkui 7.0.0-dev-efd91c.2 → 7.0.0-dev-efd91c.3
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.js +2 -2
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +2 -3
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.js +1 -0
- package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/components/Alert/Alert.js +2 -2
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Alert/AlertAction.js +1 -1
- package/dist/components/Alert/AlertAction.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +6 -43
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts +1 -3
- package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootContext.js +0 -3
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts +5 -5
- package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.js +12 -29
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/helpers.d.ts +0 -1
- package/dist/components/AppRoot/helpers.d.ts.map +1 -1
- package/dist/components/AppRoot/helpers.js +0 -1
- package/dist/components/AppRoot/helpers.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.d.ts +1 -1
- package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.js +3 -4
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +2 -1
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.js +2 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Banner/Banner.d.ts +1 -1
- package/dist/components/Banner/Banner.d.ts.map +1 -1
- package/dist/components/Banner/Banner.js +2 -3
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +2 -3
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +2 -3
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +2 -2
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts.map +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +2 -0
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.js +1 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/ContentBadge/ContentBadgeContext.d.ts.map +1 -1
- package/dist/components/ContentBadge/ContentBadgeContext.js +1 -0
- package/dist/components/ContentBadge/ContentBadgeContext.js.map +1 -1
- package/dist/components/Counter/Counter.d.ts.map +1 -1
- package/dist/components/Counter/Counter.js +8 -9
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js +5 -5
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/Flex/Flex.d.ts.map +1 -1
- package/dist/components/Flex/Flex.js +2 -3
- package/dist/components/Flex/Flex.js.map +1 -1
- package/dist/components/Flex/FlexItem/FlexItem.d.ts +1 -1
- package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
- package/dist/components/Flex/FlexItem/FlexItem.js +4 -5
- package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
- package/dist/components/FloatingArrow/DefaultIcon.d.ts +7 -3
- package/dist/components/FloatingArrow/DefaultIcon.d.ts.map +1 -1
- package/dist/components/FloatingArrow/DefaultIcon.js +10 -6
- package/dist/components/FloatingArrow/DefaultIcon.js.map +1 -1
- package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -2
- package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
- package/dist/components/FloatingArrow/FloatingArrow.js +9 -8
- package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.d.ts +11 -1
- package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +15 -7
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/IconButton/IconButton.js +3 -4
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Image/Image.d.ts.map +1 -1
- package/dist/components/Image/Image.js +2 -1
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBase.js +3 -4
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/Link.js +3 -4
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/List/List.d.ts +1 -1
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/List.js +5 -8
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +4 -5
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +3 -4
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js +3 -5
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +3 -2
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.d.ts.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.js +1 -0
- package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/components/ModalRoot/types.d.ts.map +1 -1
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/NavIdContext/NavIdContext.d.ts.map +1 -1
- package/dist/components/NavIdContext/NavIdContext.js +1 -0
- package/dist/components/NavIdContext/NavIdContext.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js +2 -4
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +3 -4
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +1 -1
- package/dist/components/Popper/Popper.d.ts.map +1 -1
- package/dist/components/Popper/Popper.js +2 -3
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/Progress/Progress.d.ts +1 -1
- package/dist/components/Progress/Progress.d.ts.map +1 -1
- package/dist/components/Progress/Progress.js +4 -5
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts.map +1 -1
- package/dist/components/RichCell/RichCell.js +2 -3
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/RootComponent/RootComponent.d.ts +2 -1
- package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
- package/dist/components/RootComponent/RootComponent.js +6 -2
- package/dist/components/RootComponent/RootComponent.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js +2 -2
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/context.js +1 -0
- package/dist/components/ScreenSpinner/context.js.map +1 -1
- package/dist/components/Separator/Separator.d.ts +1 -1
- package/dist/components/Separator/Separator.d.ts.map +1 -1
- package/dist/components/Separator/Separator.js +2 -3
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +2 -3
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.d.ts +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.js +2 -3
- package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +2 -3
- 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 +2 -3
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Snackbar/utils.d.ts +1 -1
- package/dist/components/Snackbar/utils.d.ts.map +1 -1
- package/dist/components/Snackbar/utils.js +6 -8
- package/dist/components/Snackbar/utils.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +1 -1
- package/dist/components/Spacing/Spacing.d.ts.map +1 -1
- package/dist/components/Spacing/Spacing.js +3 -4
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
- package/dist/components/SplitCol/SplitCol.js +3 -4
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +1 -5
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -4
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
- package/dist/components/TabsItem/TabsItem.js +2 -3
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/ToolButton/ToolButton.d.ts +1 -1
- package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
- package/dist/components/ToolButton/ToolButton.js +2 -3
- package/dist/components/ToolButton/ToolButton.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +2 -3
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -2
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +2 -2
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js +1 -0
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +2 -2
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Alert/AlertAction.js +1 -1
- package/dist/cssm/components/Alert/AlertAction.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +6 -43
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js +0 -3
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.js +12 -29
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/helpers.js +0 -1
- package/dist/cssm/components/AppRoot/helpers.js.map +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.js +2 -5
- package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.js +2 -1
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js +2 -2
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Button/Button.js +2 -2
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +2 -2
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +2 -2
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +2 -0
- package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +1 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadgeContext.js +1 -0
- package/dist/cssm/components/ContentBadge/ContentBadgeContext.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js +4 -7
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +5 -6
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/Flex/Flex.js +2 -5
- package/dist/cssm/components/Flex/Flex.js.map +1 -1
- package/dist/cssm/components/Flex/FlexItem/FlexItem.js +3 -4
- package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
- package/dist/cssm/components/FloatingArrow/DefaultIcon.js +10 -6
- package/dist/cssm/components/FloatingArrow/DefaultIcon.js.map +1 -1
- package/dist/cssm/components/FloatingArrow/FloatingArrow.js +9 -7
- package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
- package/dist/cssm/components/FloatingArrow/FloatingArrow.module.css +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +12 -9
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +23 -6
- package/dist/cssm/components/IconButton/IconButton.js +2 -2
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/Image/Image.js +2 -4
- package/dist/cssm/components/Image/Image.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js +3 -4
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/Link/Link.js +2 -2
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/List/List.js +4 -6
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +3 -3
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +3 -4
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +2 -3
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +1 -0
- package/dist/cssm/components/ModalRoot/ModalRoot.js +3 -2
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootContext.js +1 -0
- package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/NavIdContext/NavIdContext.js +1 -0
- package/dist/cssm/components/NavIdContext/NavIdContext.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +2 -4
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js +2 -5
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.js +2 -5
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.js +2 -2
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/RootComponent/RootComponent.js +3 -1
- package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -2
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/context.js +1 -0
- package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
- package/dist/cssm/components/Separator/Separator.js +2 -5
- package/dist/cssm/components/Separator/Separator.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +2 -2
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleGrid/SimpleGrid.js +2 -5
- package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/cssm/components/Skeleton/Skeleton.js +2 -5
- package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +2 -2
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Snackbar/utils.js +2 -4
- package/dist/cssm/components/Snackbar/utils.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.js +2 -5
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +3 -4
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -5
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +2 -2
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +2 -2
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/ToolButton/ToolButton.js +2 -2
- package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +2 -2
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/helpers/mergeStyle.js +16 -0
- package/dist/cssm/helpers/mergeStyle.js.map +1 -0
- package/dist/cssm/hooks/useBooleanState.js +2 -4
- package/dist/cssm/hooks/useBooleanState.js.map +1 -1
- package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js +13 -5
- package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/styles/common.css +5 -0
- package/dist/cssm/styles/themes.css +7 -9
- package/dist/cssm/types.js.map +1 -1
- package/dist/helpers/getMergedSameEventsByProps.d.ts.map +1 -1
- package/dist/helpers/mergeStyle.d.ts +11 -0
- package/dist/helpers/mergeStyle.d.ts.map +1 -0
- package/dist/helpers/mergeStyle.js +14 -0
- package/dist/helpers/mergeStyle.js.map +1 -0
- package/dist/hooks/useBooleanState.js +2 -4
- package/dist/hooks/useBooleanState.js.map +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js +15 -6
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +8 -6
- package/src/components/ActionSheet/ActionSheet.tsx +3 -3
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -3
- package/src/components/AdaptivityProvider/AdaptivityContext.tsx +2 -0
- package/src/components/Alert/Alert.tsx +3 -3
- package/src/components/Alert/AlertAction.tsx +1 -1
- package/src/components/AppRoot/AppRoot.tsx +4 -49
- package/src/components/AppRoot/AppRootContext.ts +1 -6
- package/src/components/AppRoot/AppRootPortal.tsx +22 -40
- package/src/components/AppRoot/helpers.ts +0 -3
- package/src/components/AspectRatio/AspectRatio.tsx +2 -7
- package/src/components/Avatar/Avatar.tsx +6 -2
- package/src/components/Banner/Banner.tsx +0 -2
- package/src/components/Button/Button.tsx +1 -3
- package/src/components/CalendarDay/CalendarDay.tsx +1 -2
- package/src/components/CalendarHeader/CalendarHeader.tsx +2 -2
- package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +4 -0
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +2 -0
- package/src/components/ContentBadge/ContentBadgeContext.tsx +2 -0
- package/src/components/Counter/Counter.tsx +20 -21
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +6 -6
- package/src/components/Flex/Flex.tsx +1 -2
- package/src/components/Flex/FlexItem/FlexItem.tsx +1 -2
- package/src/components/FloatingArrow/DefaultIcon.tsx +11 -8
- package/src/components/FloatingArrow/FloatingArrow.module.css +1 -1
- package/src/components/FloatingArrow/FloatingArrow.tsx +9 -8
- package/src/components/HorizontalCell/HorizontalCell.module.css +23 -6
- package/src/components/HorizontalCell/HorizontalCell.tsx +38 -6
- package/src/components/IconButton/IconButton.tsx +2 -8
- package/src/components/Image/Image.tsx +4 -2
- package/src/components/ImageBase/ImageBase.tsx +1 -2
- package/src/components/Link/Link.tsx +1 -3
- package/src/components/List/List.tsx +3 -11
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -3
- package/src/components/ModalCardBase/ModalCardBase.tsx +1 -3
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -3
- package/src/components/ModalOverlay/ModalOverlay.module.css +1 -0
- package/src/components/ModalRoot/ModalRoot.tsx +8 -4
- package/src/components/ModalRoot/ModalRootContext.tsx +2 -0
- package/src/components/ModalRoot/types.ts +1 -0
- package/src/components/NavIdContext/NavIdContext.tsx +2 -0
- package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +2 -5
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -3
- package/src/components/Popper/Popper.tsx +7 -11
- package/src/components/Progress/Progress.tsx +1 -2
- package/src/components/RichCell/RichCell.tsx +1 -3
- package/src/components/RootComponent/RootComponent.tsx +5 -0
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +3 -3
- package/src/components/ScreenSpinner/context.ts +2 -0
- package/src/components/Separator/Separator.tsx +1 -9
- package/src/components/SimpleCell/SimpleCell.tsx +1 -3
- package/src/components/SimpleGrid/SimpleGrid.tsx +1 -2
- package/src/components/Skeleton/Skeleton.tsx +1 -2
- package/src/components/Snackbar/Snackbar.tsx +1 -2
- package/src/components/Snackbar/utils.ts +3 -4
- package/src/components/Spacing/Spacing.tsx +2 -9
- package/src/components/SplitCol/SplitCol.tsx +1 -3
- package/src/components/SplitLayout/SplitLayout.tsx +1 -7
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -3
- package/src/components/TabsItem/TabsItem.tsx +1 -3
- package/src/components/ToolButton/ToolButton.tsx +1 -3
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -3
- package/src/helpers/mergeStyle.ts +15 -0
- package/src/hooks/useBooleanState.ts +2 -2
- package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +10 -5
- package/src/index.ts +3 -3
- package/src/styles/common.css +7 -0
- package/src/types.ts +4 -1
- package/dist/components/AppRoot/ModalPopoutPortal.d.ts +0 -11
- package/dist/components/AppRoot/ModalPopoutPortal.d.ts.map +0 -1
- package/dist/components/AppRoot/ModalPopoutPortal.js +0 -28
- package/dist/components/AppRoot/ModalPopoutPortal.js.map +0 -1
- package/dist/cssm/components/AppRoot/ModalPopoutPortal.js +0 -27
- package/dist/cssm/components/AppRoot/ModalPopoutPortal.js.map +0 -1
- package/src/components/AppRoot/ModalPopoutPortal.tsx +0 -27
|
@@ -4,30 +4,31 @@ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_
|
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { classNames } from "@vkontakte/vkjs";
|
|
7
|
+
import { RootComponent } from "../RootComponent/RootComponent.js";
|
|
7
8
|
import { DefaultIcon } from "./DefaultIcon.js";
|
|
8
|
-
const placementClassNames = {
|
|
9
|
+
export const placementClassNames = {
|
|
9
10
|
right: "vkuiFloatingArrow__placementRight",
|
|
10
11
|
bottom: "vkuiFloatingArrow__placementBottom",
|
|
11
12
|
left: "vkuiFloatingArrow__placementLeft"
|
|
12
13
|
};
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
+
* Иконка-стрелка для всплывающих окон.
|
|
16
|
+
*
|
|
17
|
+
* @since 7.0.0
|
|
15
18
|
*/ export const FloatingArrow = (_param)=>{
|
|
16
|
-
var { offset, isStaticOffset, coords, iconStyle, iconClassName, placement = 'bottom',
|
|
19
|
+
var { offset, isStaticOffset, coords, iconStyle, iconClassName, placement = 'bottom', Icon = DefaultIcon } = _param, restProps = _object_without_properties(_param, [
|
|
17
20
|
"offset",
|
|
18
21
|
"isStaticOffset",
|
|
19
22
|
"coords",
|
|
20
23
|
"iconStyle",
|
|
21
24
|
"iconClassName",
|
|
22
25
|
"placement",
|
|
23
|
-
"getRootRef",
|
|
24
26
|
"Icon"
|
|
25
27
|
]);
|
|
26
28
|
const [arrowPlacement, arrowStyles] = getArrowPositionData(placement, coords, offset, isStaticOffset);
|
|
27
|
-
return /*#__PURE__*/ _jsx(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
className: classNames("vkuiFloatingArrow__host", arrowPlacement && placementClassNames[arrowPlacement])
|
|
29
|
+
return /*#__PURE__*/ _jsx(RootComponent, _object_spread_props(_object_spread({
|
|
30
|
+
baseStyle: arrowStyles,
|
|
31
|
+
baseClassName: classNames("vkuiFloatingArrow__host", arrowPlacement && placementClassNames[arrowPlacement])
|
|
31
32
|
}, restProps), {
|
|
32
33
|
children: /*#__PURE__*/ _jsx(Icon, {
|
|
33
34
|
className: classNames("vkuiFloatingArrow__in", iconClassName),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/FloatingArrow/FloatingArrow.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { Placement } from '../../lib/floating';\nimport type { HasDataAttribute, HTMLAttributesWithRootRef } from '../../types';\nimport { DefaultIcon } from './DefaultIcon';\nimport styles from './FloatingArrow.module.css';\n\nexport type Coords = {\n x?: number;\n y?: number;\n};\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/components/FloatingArrow/FloatingArrow.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { Placement } from '../../lib/floating';\nimport type { HasDataAttribute, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { DefaultIcon } from './DefaultIcon';\nimport styles from './FloatingArrow.module.css';\n\nexport type Coords = {\n x?: number;\n y?: number;\n};\n\nexport const placementClassNames = {\n right: styles.placementRight,\n bottom: styles.placementBottom,\n left: styles.placementLeft,\n};\n\nexport interface FloatingArrowProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasDataAttribute {\n /**\n * Сдвиг стрелки относительно текущих координат.\n */\n offset?: number;\n /**\n * Включает абсолютное смещение по `offset`.\n */\n isStaticOffset?: boolean;\n coords?: Coords;\n placement?: Placement;\n iconStyle?: React.CSSProperties;\n iconClassName?: string;\n Icon?: React.ComponentType<React.SVGAttributes<SVGSVGElement>>;\n}\n\n/**\n * Иконка-стрелка для всплывающих окон.\n *\n * @since 7.0.0\n */\nexport const FloatingArrow = ({\n offset,\n isStaticOffset,\n coords,\n iconStyle,\n iconClassName,\n placement = 'bottom',\n Icon = DefaultIcon,\n ...restProps\n}: FloatingArrowProps): React.ReactNode => {\n const [arrowPlacement, arrowStyles] = getArrowPositionData(\n placement,\n coords,\n offset,\n isStaticOffset,\n );\n\n return (\n <RootComponent\n baseStyle={arrowStyles}\n baseClassName={classNames(styles.host, arrowPlacement && placementClassNames[arrowPlacement])}\n {...restProps}\n >\n <Icon className={classNames(styles.in, iconClassName)} style={iconStyle} />\n </RootComponent>\n );\n};\n\nfunction getArrowPositionData(\n placement: Placement,\n coords: Coords = { x: 0, y: 0 },\n offset = 0,\n isStaticOffset = false,\n): [undefined | 'right' | 'bottom' | 'left', React.CSSProperties] {\n const withOffset = (isVerticalPlacement: boolean) => {\n const parsedCoords = { x: coords.x || 0, y: coords.y || 0 };\n\n if (isVerticalPlacement) {\n return isStaticOffset ? offset : parsedCoords.y + offset;\n } else {\n return isStaticOffset ? offset : parsedCoords.x + offset;\n }\n };\n\n if (placement.startsWith('top')) {\n const xOffsetProp = getXOffsetProp(placement, isStaticOffset);\n return [\n 'bottom',\n {\n top: '100%',\n [xOffsetProp]: withOffset(false),\n },\n ];\n } else if (placement.startsWith('right')) {\n const yOffsetProp = getYOffsetProp(placement, isStaticOffset);\n return [\n 'left',\n {\n [yOffsetProp]: withOffset(true),\n left: 0,\n },\n ];\n } else if (placement.startsWith('bottom')) {\n const xOffsetProp = getXOffsetProp(placement, isStaticOffset);\n return [\n undefined,\n {\n bottom: '100%',\n [xOffsetProp]: withOffset(false),\n },\n ];\n } else {\n const yOffsetProp = getYOffsetProp(placement, isStaticOffset);\n return [\n 'right',\n {\n [yOffsetProp]: withOffset(true),\n right: 0,\n },\n ];\n }\n}\n\nfunction getXOffsetProp(placement: Placement, isStaticOffset: boolean) {\n return placement.endsWith('end') && isStaticOffset ? 'right' : 'left';\n}\n\nfunction getYOffsetProp(placement: Placement, isStaticOffset: boolean) {\n return placement.endsWith('end') && isStaticOffset ? 'bottom' : 'top';\n}\n"],"names":["React","classNames","RootComponent","DefaultIcon","placementClassNames","right","bottom","left","FloatingArrow","offset","isStaticOffset","coords","iconStyle","iconClassName","placement","Icon","restProps","arrowPlacement","arrowStyles","getArrowPositionData","baseStyle","baseClassName","className","style","x","y","withOffset","isVerticalPlacement","parsedCoords","startsWith","xOffsetProp","getXOffsetProp","top","yOffsetProp","getYOffsetProp","undefined","endsWith"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAG7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,WAAW,QAAQ,mBAAgB;AAQ5C,OAAO,MAAMC,sBAAsB;IACjCC,KAAK;IACLC,MAAM;IACNC,IAAI;AACN,EAAE;AAoBF;;;;CAIC,GACD,OAAO,MAAMC,gBAAgB;QAAC,EAC5BC,MAAM,EACNC,cAAc,EACdC,MAAM,EACNC,SAAS,EACTC,aAAa,EACbC,YAAY,QAAQ,EACpBC,OAAOZ,WAAW,EAEC,WADhBa;QAPHP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,CAACE,gBAAgBC,YAAY,GAAGC,qBACpCL,WACAH,QACAF,QACAC;IAGF,qBACE,KAACR;QACCkB,WAAWF;QACXG,eAAepB,sCAAwBgB,kBAAkBb,mBAAmB,CAACa,eAAe;OACxFD;kBAEJ,cAAA,KAACD;YAAKO,WAAWrB,oCAAsBY;YAAgBU,OAAOX;;;AAGpE,EAAE;AAEF,SAASO,qBACPL,SAAoB,EACpBH,SAAiB;IAAEa,GAAG;IAAGC,GAAG;AAAE,CAAC,EAC/BhB,SAAS,CAAC,EACVC,iBAAiB,KAAK;IAEtB,MAAMgB,aAAa,CAACC;QAClB,MAAMC,eAAe;YAAEJ,GAAGb,OAAOa,CAAC,IAAI;YAAGC,GAAGd,OAAOc,CAAC,IAAI;QAAE;QAE1D,IAAIE,qBAAqB;YACvB,OAAOjB,iBAAiBD,SAASmB,aAAaH,CAAC,GAAGhB;QACpD,OAAO;YACL,OAAOC,iBAAiBD,SAASmB,aAAaJ,CAAC,GAAGf;QACpD;IACF;IAEA,IAAIK,UAAUe,UAAU,CAAC,QAAQ;QAC/B,MAAMC,cAAcC,eAAejB,WAAWJ;QAC9C,OAAO;YACL;YACA;gBACEsB,KAAK;gBACL,CAACF,YAAY,EAAEJ,WAAW;YAC5B;SACD;IACH,OAAO,IAAIZ,UAAUe,UAAU,CAAC,UAAU;QACxC,MAAMI,cAAcC,eAAepB,WAAWJ;QAC9C,OAAO;YACL;YACA;gBACE,CAACuB,YAAY,EAAEP,WAAW;gBAC1BnB,MAAM;YACR;SACD;IACH,OAAO,IAAIO,UAAUe,UAAU,CAAC,WAAW;QACzC,MAAMC,cAAcC,eAAejB,WAAWJ;QAC9C,OAAO;YACLyB;YACA;gBACE7B,QAAQ;gBACR,CAACwB,YAAY,EAAEJ,WAAW;YAC5B;SACD;IACH,OAAO;QACL,MAAMO,cAAcC,eAAepB,WAAWJ;QAC9C,OAAO;YACL;YACA;gBACE,CAACuB,YAAY,EAAEP,WAAW;gBAC1BrB,OAAO;YACT;SACD;IACH;AACF;AAEA,SAAS0B,eAAejB,SAAoB,EAAEJ,cAAuB;IACnE,OAAOI,UAAUsB,QAAQ,CAAC,UAAU1B,iBAAiB,UAAU;AACjE;AAEA,SAASwB,eAAepB,SAAoB,EAAEJ,cAAuB;IACnE,OAAOI,UAAUsB,QAAQ,CAAC,UAAU1B,iBAAiB,WAAW;AAClE"}
|
|
@@ -24,10 +24,20 @@ export interface HorizontalCellProps extends Omit<TappableProps, 'size' | 'getRo
|
|
|
24
24
|
* Дополнительная строка текста под `children` и `subtitle`.
|
|
25
25
|
*/
|
|
26
26
|
extraSubtitle?: React.ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Задает выравнивание типографики. По умолчанию `center` для `size=s`, иначе `start`
|
|
29
|
+
*/
|
|
30
|
+
textAlign?: 'start' | 'center' | 'end';
|
|
31
|
+
/**
|
|
32
|
+
* Отключает формирование отступов у крайних элементов
|
|
33
|
+
*
|
|
34
|
+
* Актуально для использования в многострочных списках
|
|
35
|
+
*/
|
|
36
|
+
noPadding?: boolean;
|
|
27
37
|
}
|
|
28
38
|
/**
|
|
29
39
|
* @see https://vkcom.github.io/VKUI/#/HorizontalCell
|
|
30
40
|
*/
|
|
31
|
-
export declare const HorizontalCell: ({ className, title, style, subtitle, size, children, getRootRef, getRef, extraSubtitle, ...restProps }: HorizontalCellProps) => React.ReactNode;
|
|
41
|
+
export declare const HorizontalCell: ({ className, title, style, subtitle, size, children, getRootRef, getRef, extraSubtitle, textAlign, noPadding, ...restProps }: HorizontalCellProps) => React.ReactNode;
|
|
32
42
|
export {};
|
|
33
43
|
//# sourceMappingURL=HorizontalCell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalCell.d.ts","sourceRoot":"","sources":["../../../src/components/HorizontalCell/HorizontalCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HorizontalCell.d.ts","sourceRoot":"","sources":["../../../src/components/HorizontalCell/HorizontalCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAEV,MAAM,EACN,UAAU,EAEV,YAAY,EACb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMpE,eAAO,MAAM,+BAA+B,gCAAgC,CAAC;AAe7E,KAAK,mBAAmB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC;AAc3D,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,kBAAkB,CAAC,EAC/E,UAAU,CAAC,cAAc,CAAC,EAC1B,MAAM,CAAC,cAAc,CAAC;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACjD;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,iIAaxB,mBAAmB,KAAG,KAAK,CAAC,SAuC9B,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_
|
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { classNames, hasReactNode } from "@vkontakte/vkjs";
|
|
7
|
+
import { mergeStyle } from "../../helpers/mergeStyle.js";
|
|
7
8
|
import { Avatar } from "../Avatar/Avatar.js";
|
|
8
9
|
import { Tappable } from "../Tappable/Tappable.js";
|
|
9
10
|
import { Caption } from "../Typography/Caption/Caption.js";
|
|
@@ -17,6 +18,10 @@ const stylesSize = {
|
|
|
17
18
|
xl: "vkuiHorizontalCell__sizeXL",
|
|
18
19
|
auto: "vkuiHorizontalCell__sizeAuto"
|
|
19
20
|
};
|
|
21
|
+
const textAlignClassNames = {
|
|
22
|
+
center: "vkuiHorizontalCell__textAlignCenter",
|
|
23
|
+
end: "vkuiHorizontalCell__textAlignEnd"
|
|
24
|
+
};
|
|
20
25
|
const CellTypography = (_param)=>{
|
|
21
26
|
var { size, children } = _param, restProps = _object_without_properties(_param, [
|
|
22
27
|
"size",
|
|
@@ -33,7 +38,7 @@ const CellTypography = (_param)=>{
|
|
|
33
38
|
*/ export const HorizontalCell = (_param)=>{
|
|
34
39
|
var { className, title, style, subtitle, size = 's', children = /*#__PURE__*/ _jsx(Avatar, {
|
|
35
40
|
size: 56
|
|
36
|
-
}), getRootRef, getRef, extraSubtitle } = _param, restProps = _object_without_properties(_param, [
|
|
41
|
+
}), getRootRef, getRef, extraSubtitle, textAlign = size === 's' ? 'center' : 'start', noPadding = false } = _param, restProps = _object_without_properties(_param, [
|
|
37
42
|
"className",
|
|
38
43
|
"title",
|
|
39
44
|
"style",
|
|
@@ -42,15 +47,18 @@ const CellTypography = (_param)=>{
|
|
|
42
47
|
"children",
|
|
43
48
|
"getRootRef",
|
|
44
49
|
"getRef",
|
|
45
|
-
"extraSubtitle"
|
|
50
|
+
"extraSubtitle",
|
|
51
|
+
"textAlign",
|
|
52
|
+
"noPadding"
|
|
46
53
|
]);
|
|
47
54
|
const hasTypography = hasReactNode(title) || hasReactNode(subtitle) || hasReactNode(extraSubtitle);
|
|
55
|
+
const customProperties = typeof size === 'number' ? {
|
|
56
|
+
[CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH]: `${size}px`
|
|
57
|
+
} : undefined;
|
|
48
58
|
return /*#__PURE__*/ _jsx("div", {
|
|
49
59
|
ref: getRootRef,
|
|
50
|
-
style:
|
|
51
|
-
|
|
52
|
-
}, style),
|
|
53
|
-
className: classNames("vkuiHorizontalCell__host", typeof size === 'string' && stylesSize[size], size !== 'auto' && "vkuiHorizontalCell__sized", className),
|
|
60
|
+
style: mergeStyle(customProperties, style),
|
|
61
|
+
className: classNames("vkuiHorizontalCell__host", typeof size === 'string' && stylesSize[size], size !== 'auto' && "vkuiHorizontalCell__sized", typeof size === 'number' && "vkuiHorizontalCell__customSize", noPadding && "vkuiHorizontalCell__noPadding", className),
|
|
54
62
|
children: /*#__PURE__*/ _jsxs(Tappable, _object_spread_props(_object_spread({
|
|
55
63
|
className: "vkuiHorizontalCell__body",
|
|
56
64
|
getRootRef: getRef
|
|
@@ -61,7 +69,7 @@ const CellTypography = (_param)=>{
|
|
|
61
69
|
children: children
|
|
62
70
|
}),
|
|
63
71
|
hasTypography && /*#__PURE__*/ _jsxs("div", {
|
|
64
|
-
className: "vkuiHorizontalCell__content",
|
|
72
|
+
className: classNames("vkuiHorizontalCell__content", textAlign !== 'start' && textAlignClassNames[textAlign]),
|
|
65
73
|
children: [
|
|
66
74
|
hasReactNode(title) && /*#__PURE__*/ _jsx(CellTypography, {
|
|
67
75
|
size: size,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/HorizontalCell/HorizontalCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/HorizontalCell/HorizontalCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport type {\n CSSCustomProperties,\n HasRef,\n HasRootRef,\n HTMLAttributesWithRootRef,\n LiteralUnion,\n} from '../../types';\nimport { Avatar } from '../Avatar/Avatar';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './HorizontalCell.module.css';\n\nexport const CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH = '--vkui_internal--cell_width';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n xl: styles.sizeXL,\n auto: styles.sizeAuto,\n};\n\nconst textAlignClassNames = {\n center: styles.textAlignCenter,\n end: styles.textAlignEnd,\n};\n\ntype HorizontalCellSizes = 's' | 'm' | 'l' | 'xl' | 'auto';\n\ninterface CellTypographyProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n size: HorizontalCellProps['size'];\n}\n\nconst CellTypography = ({ size, children, ...restProps }: CellTypographyProps) => {\n return size === 's' ? (\n <Caption {...restProps}>{children}</Caption>\n ) : (\n <Subhead {...restProps}>{children}</Subhead>\n );\n};\n\nexport interface HorizontalCellProps\n extends Omit<TappableProps, 'size' | 'getRootRef' | 'title' | 'borderRadiusMode'>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Ширина компонента\n *\n * Значения `'s' | 'm' | 'l' | 'xl'` определяются дизайн-системой.\n * Значение `auto` позволяет задать динамическую ширину, определяемую контентом.\n * Пользовательскую ширину можно задать через числовое значение.\n */\n size?: LiteralUnion<HorizontalCellSizes, number>;\n /**\n * Заголовок\n */\n title?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Задает выравнивание типографики. По умолчанию `center` для `size=s`, иначе `start`\n */\n textAlign?: 'start' | 'center' | 'end';\n /**\n * Отключает формирование отступов у крайних элементов\n *\n * Актуально для использования в многострочных списках\n */\n noPadding?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/HorizontalCell\n */\nexport const HorizontalCell = ({\n className,\n title,\n style,\n subtitle,\n size = 's',\n children = <Avatar size={56} />,\n getRootRef,\n getRef,\n extraSubtitle,\n textAlign = size === 's' ? 'center' : 'start',\n noPadding = false,\n ...restProps\n}: HorizontalCellProps): React.ReactNode => {\n const hasTypography =\n hasReactNode(title) || hasReactNode(subtitle) || hasReactNode(extraSubtitle);\n\n const customProperties: CSSCustomProperties | undefined =\n typeof size === 'number' ? { [CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH]: `${size}px` } : undefined;\n\n return (\n <div\n ref={getRootRef}\n style={mergeStyle(customProperties, style)}\n className={classNames(\n styles.host,\n typeof size === 'string' && stylesSize[size],\n size !== 'auto' && styles.sized,\n typeof size === 'number' && styles.customSize,\n noPadding && styles.noPadding,\n className,\n )}\n >\n <Tappable className={styles.body} getRootRef={getRef} {...restProps}>\n {hasReactNode(children) && <div className={styles.image}>{children}</div>}\n {hasTypography && (\n <div\n className={classNames(\n styles.content,\n textAlign !== 'start' && textAlignClassNames[textAlign],\n )}\n >\n {hasReactNode(title) && <CellTypography size={size}>{title}</CellTypography>}\n {hasReactNode(subtitle) && <Footnote className={styles.subtitle}>{subtitle}</Footnote>}\n {hasReactNode(extraSubtitle) && (\n <Footnote className={styles.subtitle}>{extraSubtitle}</Footnote>\n )}\n </div>\n )}\n </Tappable>\n </div>\n );\n};\n"],"names":["React","classNames","hasReactNode","mergeStyle","Avatar","Tappable","Caption","Footnote","Subhead","CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH","stylesSize","s","m","l","xl","auto","textAlignClassNames","center","end","CellTypography","size","children","restProps","HorizontalCell","className","title","style","subtitle","getRootRef","getRef","extraSubtitle","textAlign","noPadding","hasTypography","customProperties","undefined","div","ref"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,UAAU,QAAQ,8BAA2B;AAQtD,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,OAAO,QAAQ,mCAAgC;AAGxD,OAAO,MAAMC,kCAAkC,8BAA8B;AAE7E,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;IACDC,CAAC;IACDC,EAAE;IACFC,IAAI;AACN;AAEA,MAAMC,sBAAsB;IAC1BC,MAAM;IACNC,GAAG;AACL;AAQA,MAAMC,iBAAiB;QAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAqC,WAAhCC;QAAnBF;QAAMC;;IAC9B,OAAOD,SAAS,oBACd,KAACd,iDAAYgB;kBAAYD;wBAEzB,KAACb,iDAAYc;kBAAYD;;AAE7B;AAsCA;;CAEC,GACD,OAAO,MAAME,iBAAiB;QAAC,EAC7BC,SAAS,EACTC,KAAK,EACLC,KAAK,EACLC,QAAQ,EACRP,OAAO,GAAG,EACVC,yBAAW,KAACjB;QAAOgB,MAAM;MAAM,EAC/BQ,UAAU,EACVC,MAAM,EACNC,aAAa,EACbC,YAAYX,SAAS,MAAM,WAAW,OAAO,EAC7CY,YAAY,KAAK,EAEG,WADjBV;QAXHE;QACAC;QACAC;QACAC;QACAP;QACAC;QACAO;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAMC,gBACJ/B,aAAauB,UAAUvB,aAAayB,aAAazB,aAAa4B;IAEhE,MAAMI,mBACJ,OAAOd,SAAS,WAAW;QAAE,CAACX,gCAAgC,EAAE,GAAGW,KAAK,EAAE,CAAC;IAAC,IAAIe;IAElF,qBACE,KAACC;QACCC,KAAKT;QACLF,OAAOvB,WAAW+B,kBAAkBR;QACpCF,WAAWvB,uCAET,OAAOmB,SAAS,YAAYV,UAAU,CAACU,KAAK,EAC5CA,SAAS,uCACT,OAAOA,SAAS,8CAChBY,8CACAR;kBAGF,cAAA,MAACnB;YAASmB,SAAS;YAAeI,YAAYC;WAAYP;;gBACvDpB,aAAamB,2BAAa,KAACe;oBAAIZ,SAAS;8BAAiBH;;gBACzDY,+BACC,MAACG;oBACCZ,WAAWvB,0CAET8B,cAAc,WAAWf,mBAAmB,CAACe,UAAU;;wBAGxD7B,aAAauB,wBAAU,KAACN;4BAAeC,MAAMA;sCAAOK;;wBACpDvB,aAAayB,2BAAa,KAACpB;4BAASiB,SAAS;sCAAoBG;;wBACjEzB,aAAa4B,gCACZ,KAACvB;4BAASiB,SAAS;sCAAoBM;;;;;;;AAOrD,EAAE"}
|
|
@@ -8,5 +8,5 @@ export interface IconButtonProps extends TappableProps {
|
|
|
8
8
|
/**
|
|
9
9
|
* @see https://vkcom.github.io/VKUI/#/IconButton
|
|
10
10
|
*/
|
|
11
|
-
export declare const IconButton: ({ label, children,
|
|
11
|
+
export declare const IconButton: ({ label, children, ...restProps }: IconButtonProps) => React.ReactNode;
|
|
12
12
|
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/IconButton/IconButton.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASpE,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;GAEG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/IconButton/IconButton.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASpE,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;GAEG;AACH,eAAO,MAAM,UAAU,sCAAuC,eAAe,KAAG,KAAK,CAAC,SAgCrF,CAAC"}
|
|
@@ -18,10 +18,9 @@ const warn = warnOnce('IconButton');
|
|
|
18
18
|
/**
|
|
19
19
|
* @see https://vkcom.github.io/VKUI/#/IconButton
|
|
20
20
|
*/ export const IconButton = (_param)=>{
|
|
21
|
-
var { label, children
|
|
21
|
+
var { label, children } = _param, restProps = _object_without_properties(_param, [
|
|
22
22
|
"label",
|
|
23
|
-
"children"
|
|
24
|
-
"className"
|
|
23
|
+
"children"
|
|
25
24
|
]);
|
|
26
25
|
const platform = usePlatform();
|
|
27
26
|
const { sizeY = 'none' } = useAdaptivity();
|
|
@@ -41,7 +40,7 @@ const warn = warnOnce('IconButton');
|
|
|
41
40
|
activeMode: "background",
|
|
42
41
|
Component: restProps.href ? 'a' : 'button'
|
|
43
42
|
}, restProps), {
|
|
44
|
-
|
|
43
|
+
baseClassName: classNames("vkuiIconButton__host", sizeY !== 'regular' && sizeYClassNames[sizeY], platform === 'ios' && "vkuiIconButton__ios"),
|
|
45
44
|
children: [
|
|
46
45
|
label && /*#__PURE__*/ _jsx(VisuallyHidden, {
|
|
47
46
|
children: label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './IconButton.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n} as const;\n\nexport interface IconButtonProps extends TappableProps {\n /**\n * Текст кнопки-иконки. Делает ее доступной для ассистивных технологий\n */\n label?: string;\n}\n\nconst warn = warnOnce('IconButton');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/IconButton\n */\nexport const IconButton = ({
|
|
1
|
+
{"version":3,"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './IconButton.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n} as const;\n\nexport interface IconButtonProps extends TappableProps {\n /**\n * Текст кнопки-иконки. Делает ее доступной для ассистивных технологий\n */\n label?: string;\n}\n\nconst warn = warnOnce('IconButton');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/IconButton\n */\nexport const IconButton = ({ label, children, ...restProps }: IconButtonProps): React.ReactNode => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore next: проверка в dev mode, тест на hasAccessibleName() есть в lib/accessibility.test.tsx */\n const isAccessible = hasAccessibleName({\n children: [children, label],\n ...restProps,\n });\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y[restProps.href ? 'link-name' : 'button-name'], 'error');\n }\n }\n\n return (\n <Tappable\n activeEffectDelay={200}\n activeMode=\"background\"\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n baseClassName={classNames(\n styles.host,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n platform === 'ios' && styles.ios,\n )}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n {children}\n </Tappable>\n );\n};\n"],"names":["classNames","useAdaptivity","usePlatform","hasAccessibleName","COMMON_WARNINGS","warnOnce","Tappable","VisuallyHidden","sizeYClassNames","none","compact","warn","IconButton","label","children","restProps","platform","sizeY","process","env","NODE_ENV","isAccessible","a11y","href","activeEffectDelay","activeMode","Component","baseClassName"],"mappings":"AAAA;;;;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/D,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AASA,MAAMC,OAAON,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMO,aAAa;QAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAiC,WAA5BC;QAApBF;QAAOC;;IAClC,MAAME,WAAWd;IACjB,MAAM,EAAEe,QAAQ,MAAM,EAAE,GAAGhB;IAE3B,IAAIiB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAelB,kBAAkB;YACrCW,UAAU;gBAACA;gBAAUD;aAAM;WACxBE;QAGL,IAAI,CAACM,cAAc;YACjBV,KAAKP,gBAAgBkB,IAAI,CAACP,UAAUQ,IAAI,GAAG,cAAc,cAAc,EAAE;QAC3E;IACF;IAEA,qBACE,MAACjB;QACCkB,mBAAmB;QACnBC,YAAW;QACXC,WAAWX,UAAUQ,IAAI,GAAG,MAAM;OAC9BR;QACJY,eAAe3B,mCAEbiB,UAAU,aAAaT,eAAe,CAACS,MAAM,EAC7CD,aAAa;;YAGdH,uBAAS,KAACN;0BAAgBM;;YAC1BC;;;AAGP,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../src/components/Image/Image.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../src/components/Image/Image.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,SAAS,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG3E,YAAY,EAAE,eAAe,EAAE,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;AAI5E,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAC/D;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC/B;;OAEG;IACH,sBAAsB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzC;;OAEG;IACH,oBAAoB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvC;;OAEG;IACH,oBAAoB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvC;;OAEG;IACH,kBAAkB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CACtC;AAqED;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG;IACzC,KAAK,EAAE,OAAO,UAAU,CAAC;IACzB,OAAO,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC;CA2DnC,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_
|
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { classNames } from "@vkontakte/vkjs";
|
|
8
|
+
import { mergeStyle } from "../../helpers/mergeStyle.js";
|
|
8
9
|
import { ImageBase } from "../ImageBase/ImageBase.js";
|
|
9
10
|
import { ImageBadge } from "./ImageBadge/ImageBadge.js";
|
|
10
11
|
const IMAGE_DEFAULT_SIZE = 48;
|
|
@@ -100,7 +101,7 @@ const getBorderRadiusBySizeInPx = (size, borderRadius)=>{
|
|
|
100
101
|
return /*#__PURE__*/ _jsx(ImageBase, _object_spread_props(_object_spread({}, restProps), {
|
|
101
102
|
objectFit: objectFit,
|
|
102
103
|
size: size,
|
|
103
|
-
style:
|
|
104
|
+
style: mergeStyle(borderStyles, style),
|
|
104
105
|
className: classNames(className, "vkuiImage__host", borderStartStartRadius && "vkuiImage__borderStartStartRadius", borderStartEndRadius && "vkuiImage__borderStartEndRadius", borderEndStartRadius && "vkuiImage__borderEndStartRadius", borderEndEndRadius && "vkuiImage__borderEndEndRadius")
|
|
105
106
|
}));
|
|
106
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Image/Image.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ImageBase, type ImageBaseOverlayProps, type ImageBaseProps } from '../ImageBase/ImageBase';\nimport { ImageBadge, type ImageBadgeProps } from './ImageBadge/ImageBadge';\nimport styles from './Image.module.css';\n\nexport type { ImageBadgeProps, ImageBaseOverlayProps as ImageOverlayProps };\n\nconst IMAGE_DEFAULT_SIZE = 48;\n\nexport interface ImageProps extends Omit<ImageBaseProps, 'badge'> {\n /**\n * Размер закругления.\n */\n borderRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между сторонами начала блока и строки\n */\n borderStartStartRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между стороной начала блока и стороной конца строки\n */\n borderStartEndRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между стороной конца блока и стороной начала строки\n */\n borderEndStartRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между сторонами конца блока и строки\n */\n borderEndEndRadius?: 's' | 'l' | 'm';\n}\n\nconst getBorderRadiusBySize = (\n size: Exclude<ImageBaseProps['size'], undefined>,\n borderRadius: Exclude<ImageProps['borderRadius'], undefined>,\n) => {\n switch (borderRadius) {\n case 's': {\n if (size <= 32) {\n return 2;\n }\n if (size <= 56) {\n return 3;\n }\n return 4;\n }\n case 'm': {\n if (size <= 32) {\n return 3;\n }\n if (size <= 48) {\n return 4;\n }\n if (size <= 72) {\n return 6;\n }\n if (size <= 80) {\n return 8;\n }\n return 10;\n }\n case 'l': {\n if (size <= 16) {\n return 4;\n }\n if (size <= 20) {\n return 5;\n }\n if (size <= 32) {\n return 6;\n }\n if (size <= 40) {\n return 8;\n }\n if (size <= 48) {\n return 10;\n }\n if (size <= 56) {\n return 12;\n }\n if (size <= 64) {\n return 14;\n }\n return 16;\n }\n }\n};\n\nconst getBorderRadiusBySizeInPx = (\n size: Exclude<ImageBaseProps['size'], undefined>,\n borderRadius: ImageProps['borderRadius'],\n) => {\n if (!borderRadius) {\n return undefined;\n }\n\n return `${getBorderRadiusBySize(size, borderRadius)}px`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Image\n */\nexport const Image: React.FC<ImageProps> & {\n Badge: typeof ImageBadge;\n Overlay: typeof ImageBase.Overlay;\n} = ({\n size = IMAGE_DEFAULT_SIZE,\n borderRadius = 'm',\n borderStartStartRadius,\n borderStartEndRadius,\n borderEndStartRadius,\n borderEndEndRadius,\n style,\n className,\n objectFit = 'cover',\n ...restProps\n}: ImageProps) => {\n const borderStyles = React.useMemo(\n () => ({\n '--vkui_internal--Image_border_radius': getBorderRadiusBySizeInPx(size, borderRadius),\n '--vkui_internal--Image_border_start_start_radius': getBorderRadiusBySizeInPx(\n size,\n borderStartStartRadius,\n ),\n '--vkui_internal--Image_border_start_end_radius': getBorderRadiusBySizeInPx(\n size,\n borderStartEndRadius,\n ),\n '--vkui_internal--Image_border_end_start_radius': getBorderRadiusBySizeInPx(\n size,\n borderEndStartRadius,\n ),\n '--vkui_internal--Image_border_end_end_radius': getBorderRadiusBySizeInPx(\n size,\n borderEndEndRadius,\n ),\n }),\n [\n borderRadius,\n borderStartStartRadius,\n borderStartEndRadius,\n borderEndStartRadius,\n borderEndEndRadius,\n size,\n ],\n );\n\n return (\n <ImageBase\n {...restProps}\n objectFit={objectFit}\n size={size}\n style={
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Image/Image.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { type CSSCustomProperties } from '../../types';\nimport { ImageBase, type ImageBaseOverlayProps, type ImageBaseProps } from '../ImageBase/ImageBase';\nimport { ImageBadge, type ImageBadgeProps } from './ImageBadge/ImageBadge';\nimport styles from './Image.module.css';\n\nexport type { ImageBadgeProps, ImageBaseOverlayProps as ImageOverlayProps };\n\nconst IMAGE_DEFAULT_SIZE = 48;\n\nexport interface ImageProps extends Omit<ImageBaseProps, 'badge'> {\n /**\n * Размер закругления.\n */\n borderRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между сторонами начала блока и строки\n */\n borderStartStartRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между стороной начала блока и стороной конца строки\n */\n borderStartEndRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между стороной конца блока и стороной начала строки\n */\n borderEndStartRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между сторонами конца блока и строки\n */\n borderEndEndRadius?: 's' | 'l' | 'm';\n}\n\nconst getBorderRadiusBySize = (\n size: Exclude<ImageBaseProps['size'], undefined>,\n borderRadius: Exclude<ImageProps['borderRadius'], undefined>,\n) => {\n switch (borderRadius) {\n case 's': {\n if (size <= 32) {\n return 2;\n }\n if (size <= 56) {\n return 3;\n }\n return 4;\n }\n case 'm': {\n if (size <= 32) {\n return 3;\n }\n if (size <= 48) {\n return 4;\n }\n if (size <= 72) {\n return 6;\n }\n if (size <= 80) {\n return 8;\n }\n return 10;\n }\n case 'l': {\n if (size <= 16) {\n return 4;\n }\n if (size <= 20) {\n return 5;\n }\n if (size <= 32) {\n return 6;\n }\n if (size <= 40) {\n return 8;\n }\n if (size <= 48) {\n return 10;\n }\n if (size <= 56) {\n return 12;\n }\n if (size <= 64) {\n return 14;\n }\n return 16;\n }\n }\n};\n\nconst getBorderRadiusBySizeInPx = (\n size: Exclude<ImageBaseProps['size'], undefined>,\n borderRadius: ImageProps['borderRadius'],\n) => {\n if (!borderRadius) {\n return undefined;\n }\n\n return `${getBorderRadiusBySize(size, borderRadius)}px`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Image\n */\nexport const Image: React.FC<ImageProps> & {\n Badge: typeof ImageBadge;\n Overlay: typeof ImageBase.Overlay;\n} = ({\n size = IMAGE_DEFAULT_SIZE,\n borderRadius = 'm',\n borderStartStartRadius,\n borderStartEndRadius,\n borderEndStartRadius,\n borderEndEndRadius,\n style,\n className,\n objectFit = 'cover',\n ...restProps\n}: ImageProps) => {\n const borderStyles: CSSCustomProperties<string | undefined> = React.useMemo(\n () => ({\n '--vkui_internal--Image_border_radius': getBorderRadiusBySizeInPx(size, borderRadius),\n '--vkui_internal--Image_border_start_start_radius': getBorderRadiusBySizeInPx(\n size,\n borderStartStartRadius,\n ),\n '--vkui_internal--Image_border_start_end_radius': getBorderRadiusBySizeInPx(\n size,\n borderStartEndRadius,\n ),\n '--vkui_internal--Image_border_end_start_radius': getBorderRadiusBySizeInPx(\n size,\n borderEndStartRadius,\n ),\n '--vkui_internal--Image_border_end_end_radius': getBorderRadiusBySizeInPx(\n size,\n borderEndEndRadius,\n ),\n }),\n [\n borderRadius,\n borderStartStartRadius,\n borderStartEndRadius,\n borderEndStartRadius,\n borderEndEndRadius,\n size,\n ],\n );\n\n return (\n <ImageBase\n {...restProps}\n objectFit={objectFit}\n size={size}\n style={mergeStyle(borderStyles, style)}\n className={classNames(\n className,\n styles.host,\n borderStartStartRadius && styles.borderStartStartRadius,\n borderStartEndRadius && styles.borderStartEndRadius,\n borderEndStartRadius && styles.borderEndStartRadius,\n borderEndEndRadius && styles.borderEndEndRadius,\n )}\n />\n );\n};\n\nImage.displayName = 'Image';\n\nImage.Badge = ImageBadge;\nImage.Badge.displayName = 'Image.Badge';\n\nImage.Overlay = ImageBase.Overlay;\nImage.Overlay.displayName = 'Image.Overlay';\n"],"names":["React","classNames","mergeStyle","ImageBase","ImageBadge","IMAGE_DEFAULT_SIZE","getBorderRadiusBySize","size","borderRadius","getBorderRadiusBySizeInPx","undefined","Image","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","style","className","objectFit","restProps","borderStyles","useMemo","displayName","Badge","Overlay"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AAEtD,SAASC,SAAS,QAAyD,4BAAyB;AACpG,SAASC,UAAU,QAA8B,6BAA0B;AAK3E,MAAMC,qBAAqB;AAyB3B,MAAMC,wBAAwB,CAC5BC,MACAC;IAEA,OAAQA;QACN,KAAK;YAAK;gBACR,IAAID,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;QACA,KAAK;YAAK;gBACR,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;QACA,KAAK;YAAK;gBACR,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;IACF;AACF;AAEA,MAAME,4BAA4B,CAChCF,MACAC;IAEA,IAAI,CAACA,cAAc;QACjB,OAAOE;IACT;IAEA,OAAO,GAAGJ,sBAAsBC,MAAMC,cAAc,EAAE,CAAC;AACzD;AAEA;;CAEC,GACD,OAAO,MAAMG,QAGT;QAAC,EACHJ,OAAOF,kBAAkB,EACzBG,eAAe,GAAG,EAClBI,sBAAsB,EACtBC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,EAClBC,KAAK,EACLC,SAAS,EACTC,YAAY,OAAO,EAER,WADRC;QATHZ;QACAC;QACAI;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,eAAwDpB,MAAMqB,OAAO,CACzE,IAAO,CAAA;YACL,wCAAwCZ,0BAA0BF,MAAMC;YACxE,oDAAoDC,0BAClDF,MACAK;YAEF,kDAAkDH,0BAChDF,MACAM;YAEF,kDAAkDJ,0BAChDF,MACAO;YAEF,gDAAgDL,0BAC9CF,MACAQ;QAEJ,CAAA,GACA;QACEP;QACAI;QACAC;QACAC;QACAC;QACAR;KACD;IAGH,qBACE,KAACJ,mDACKgB;QACJD,WAAWA;QACXX,MAAMA;QACNS,OAAOd,WAAWkB,cAAcJ;QAChCC,WAAWhB,WACTgB,8BAEAL,+DACAC,2DACAC,2DACAC;;AAIR,EAAE;AAEFJ,MAAMW,WAAW,GAAG;AAEpBX,MAAMY,KAAK,GAAGnB;AACdO,MAAMY,KAAK,CAACD,WAAW,GAAG;AAE1BX,MAAMa,OAAO,GAAGrB,UAAUqB,OAAO;AACjCb,MAAMa,OAAO,CAACF,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageBase.d.ts","sourceRoot":"","sources":["../../../src/components/ImageBase/ImageBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIhG,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,CAAC;AAEF,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,iCAAiC,GAClC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAO5B,MAAM,WAAW,cACf,SAAQ,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAC1C,wBAAwB,EACxB,UAAU,CAAC,cAAc,CAAC,EAC1B,MAAM,CAAC,gBAAgB,CAAC;IAC1B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAC9D;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA8BD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG;IACjD,KAAK,EAAE,OAAO,cAAc,CAAC;IAC7B,OAAO,EAAE,OAAO,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageBase.d.ts","sourceRoot":"","sources":["../../../src/components/ImageBase/ImageBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIhG,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,CAAC;AAEF,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,iCAAiC,GAClC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAO5B,MAAM,WAAW,cACf,SAAQ,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAC1C,wBAAwB,EACxB,UAAU,CAAC,cAAc,CAAC,EAC1B,MAAM,CAAC,gBAAgB,CAAC;IAC1B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAC9D;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA8BD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG;IACjD,KAAK,EAAE,OAAO,cAAc,CAAC;IAC7B,OAAO,EAAE,OAAO,gBAAgB,CAAC;CAkIlC,CAAC"}
|
|
@@ -46,7 +46,7 @@ const sizeToNumber = (size)=>{
|
|
|
46
46
|
/**
|
|
47
47
|
* @see https://vkcom.github.io/VKUI/#/ImageBase
|
|
48
48
|
*/ export const ImageBase = (_param)=>{
|
|
49
|
-
var { alt, crossOrigin, decoding, loading, referrerPolicy, sizes, src, srcSet, useMap, fetchPriority, getRef, size: sizeProp, width: widthImg, height: heightImg, widthSize, heightSize,
|
|
49
|
+
var { alt, crossOrigin, decoding, loading, referrerPolicy, sizes, src, srcSet, useMap, fetchPriority, getRef, size: sizeProp, width: widthImg, height: heightImg, widthSize, heightSize, noBorder = false, fallbackIcon: fallbackIconProp, children, onLoad, onError, withTransparentBackground, objectFit = 'cover', keepAspectRatio = false } = _param, restProps = _object_without_properties(_param, [
|
|
50
50
|
"alt",
|
|
51
51
|
"crossOrigin",
|
|
52
52
|
"decoding",
|
|
@@ -63,7 +63,6 @@ const sizeToNumber = (size)=>{
|
|
|
63
63
|
"height",
|
|
64
64
|
"widthSize",
|
|
65
65
|
"heightSize",
|
|
66
|
-
"style",
|
|
67
66
|
"noBorder",
|
|
68
67
|
"fallbackIcon",
|
|
69
68
|
"children",
|
|
@@ -126,10 +125,10 @@ const sizeToNumber = (size)=>{
|
|
|
126
125
|
size
|
|
127
126
|
},
|
|
128
127
|
children: /*#__PURE__*/ _jsxs(Clickable, _object_spread_props(_object_spread({
|
|
129
|
-
|
|
128
|
+
baseStyle: {
|
|
130
129
|
width,
|
|
131
130
|
height
|
|
132
|
-
},
|
|
131
|
+
},
|
|
133
132
|
baseClassName: classNames("vkuiImageBase__host", loaded && "vkuiImageBase__loaded", withTransparentBackground && "vkuiImageBase__transparentBackground")
|
|
134
133
|
}, restProps), {
|
|
135
134
|
children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ImageBase/ImageBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { minOr } from '../../lib/comparing';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type { AnchorHTMLAttributesOnly, HasRef, HasRootRef, LiteralUnion } from '../../types';\nimport { Clickable } from '../Clickable/Clickable';\nimport { ImageBaseBadge, type ImageBaseBadgeProps } from './ImageBaseBadge/ImageBaseBadge';\nimport { ImageBaseOverlay, type ImageBaseOverlayProps } from './ImageBaseOverlay/ImageBaseOverlay';\nimport { ImageBaseContext } from './context';\nimport type { ImageBaseContextProps, ImageBaseExpectedIconProps, ImageBaseSize } from './types';\nimport { validateFallbackIcon, validateSize } from './validators';\nimport styles from './ImageBase.module.css';\n\nexport type {\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseContextProps,\n};\n\nexport {\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './helpers';\n\nexport { ImageBaseContext };\n\n/**\n * Размер по умолчанию.\n */\nconst defaultSize = 24;\n\nexport interface ImageBaseProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n AnchorHTMLAttributesOnly,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Задаёт размер картинки.\n *\n * Используйте размеры заданные дизайн-системой `16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 56 | 64 | 72 | 80 | 88 | 96`.\n *\n * > ⚠️ Использование кастомного размера – это пограничный кейс.\n */\n size?: LiteralUnion<ImageBaseSize, number>;\n /**\n * Ширина изображения\n */\n widthSize?: number | string;\n /**\n * Высота изображения\n */\n heightSize?: number | string;\n /**\n * Отключает обводку.\n */\n noBorder?: boolean;\n /**\n * Фолбек на случай, если картинка не прогрузилась.\n *\n * > 📝 Нужный для `<ImageBase size={...} />` размер можно узнать из функции `getFallbackIconSizeByImageBaseSize()`.\n *\n * > Предпочтительней использовать иконки из `@vkontakte/icons`.\n *\n * > 📊️ Если вы хотите передать кастомную иконку, то следует именовать её по шаблону `Icon<size><name>`. Или же\n * > чтобы в неё был передан параметр `width`. Тогда мы сможем выводить в консоль подсказку правильного ли размера вы\n * > использовали иконку.\n *\n * > ⚠️ Может перекрывать `children`.\n */\n fallbackIcon?: React.ReactElement<ImageBaseExpectedIconProps>;\n /**\n * Отключает фон, заданный по умолчанию. Полезен для отображения картинок с прозрачностью.\n * @since 5.10.0\n */\n withTransparentBackground?: boolean;\n /**\n * Пользовательское значения стиля object-fit\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit)\n */\n objectFit?: React.CSSProperties['objectFit'];\n /**\n * Флаг для сохранения пропорций картинки.\n * Для корректной работы необходимо задать размеры хотя бы одной стороны картинки\n */\n keepAspectRatio?: boolean;\n}\n\nconst getObjectFitClassName = (objectFit: React.CSSProperties['objectFit']) => {\n switch (objectFit) {\n case 'contain':\n return styles.imgObjectFitContain;\n case 'cover':\n return styles.imgObjectFitCover;\n case 'none':\n return styles.imgObjectFitNone;\n case 'scale-down':\n return styles.imgObjectFitScaleDown;\n }\n return undefined;\n};\n\nconst parsePx = (value: string): number | undefined => {\n if (value.endsWith('px')) {\n return parseInt(value);\n }\n return undefined;\n};\n\nconst sizeToNumber = (size: number | string | undefined): number | undefined => {\n if (typeof size === 'string') {\n return parsePx(size);\n }\n return size;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ImageBase\n */\nexport const ImageBase: React.FC<ImageBaseProps> & {\n Badge: typeof ImageBaseBadge;\n Overlay: typeof ImageBaseOverlay;\n} = ({\n alt,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n fetchPriority,\n getRef,\n size: sizeProp,\n width: widthImg,\n height: heightImg,\n widthSize,\n heightSize,\n style,\n noBorder = false,\n fallbackIcon: fallbackIconProp,\n children,\n onLoad,\n onError,\n withTransparentBackground,\n objectFit = 'cover',\n keepAspectRatio = false,\n ...restProps\n}: ImageBaseProps) => {\n const size = sizeProp ?? minOr([sizeToNumber(widthSize), sizeToNumber(heightSize)], defaultSize);\n\n const width = widthSize ?? (keepAspectRatio ? undefined : size);\n const height = heightSize ?? (keepAspectRatio ? undefined : size);\n\n const [loaded, setLoaded] = React.useState(false);\n const [failed, setFailed] = React.useState(false);\n\n const hasSrc = src || srcSet;\n const needShowFallbackIcon = (failed || !hasSrc) && React.isValidElement(fallbackIconProp);\n\n const fallbackIcon = needShowFallbackIcon ? fallbackIconProp : null;\n\n if (process.env.NODE_ENV === 'development') {\n validateSize(size);\n if (fallbackIcon) {\n validateFallbackIcon(size, { name: 'fallbackIcon', value: fallbackIcon });\n }\n }\n\n const handleImageLoad = (event: React.SyntheticEvent<HTMLImageElement>) => {\n if (loaded) {\n return;\n }\n\n setLoaded(true);\n setFailed(false);\n onLoad?.(event);\n };\n\n const handleImageError = (event: React.SyntheticEvent<HTMLImageElement>) => {\n setLoaded(false);\n setFailed(true);\n onError?.(event);\n };\n\n const imgRef = useExternRef(getRef);\n const isOnLoadStatusCheckedRef = React.useRef(false);\n React.useEffect(\n function dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater() {\n if (isOnLoadStatusCheckedRef.current) {\n return;\n }\n isOnLoadStatusCheckedRef.current = true;\n\n if (imgRef.current && imgRef.current.complete && !loaded) {\n const event = new Event('load');\n imgRef.current.dispatchEvent(event);\n }\n },\n [imgRef, loaded],\n );\n\n return (\n <ImageBaseContext.Provider value={{ size }}>\n <Clickable\n style={{ width, height, ...style }}\n baseClassName={classNames(\n styles.host,\n loaded && styles.loaded,\n withTransparentBackground && styles.transparentBackground,\n )}\n {...restProps}\n >\n {hasSrc && (\n <img\n ref={imgRef}\n alt={alt}\n className={classNames(\n styles.img,\n getObjectFitClassName(objectFit),\n keepAspectRatio && styles.imgKeepRatio,\n )}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n style={\n keepAspectRatio\n ? {\n width: widthImg || width,\n height: heightImg || height,\n }\n : undefined\n }\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={widthImg}\n height={heightImg}\n onLoad={handleImageLoad}\n onError={handleImageError}\n {...getFetchPriorityProp(fetchPriority)}\n />\n )}\n {fallbackIcon && <div className={styles.fallback}>{fallbackIcon}</div>}\n {children && <div className={styles.children}>{children}</div>}\n {!noBorder && <div aria-hidden className={styles.border} />}\n </Clickable>\n </ImageBaseContext.Provider>\n );\n};\n\nImageBase.displayName = 'ImageBase';\n\nImageBase.Badge = ImageBaseBadge;\nImageBase.Badge.displayName = 'ImageBase.Badge';\n\nImageBase.Overlay = ImageBaseOverlay;\nImageBase.Overlay.displayName = 'ImageBase.Overlay';\n"],"names":["React","classNames","useExternRef","minOr","getFetchPriorityProp","Clickable","ImageBaseBadge","ImageBaseOverlay","ImageBaseContext","validateFallbackIcon","validateSize","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","defaultSize","getObjectFitClassName","objectFit","undefined","parsePx","value","endsWith","parseInt","sizeToNumber","size","ImageBase","alt","crossOrigin","decoding","loading","referrerPolicy","sizes","src","srcSet","useMap","fetchPriority","getRef","sizeProp","width","widthImg","height","heightImg","widthSize","heightSize","style","noBorder","fallbackIcon","fallbackIconProp","children","onLoad","onError","withTransparentBackground","keepAspectRatio","restProps","loaded","setLoaded","useState","failed","setFailed","hasSrc","needShowFallbackIcon","isValidElement","process","env","NODE_ENV","name","handleImageLoad","event","handleImageError","imgRef","isOnLoadStatusCheckedRef","useRef","useEffect","dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater","current","complete","Event","dispatchEvent","Provider","baseClassName","img","ref","className","div","aria-hidden","displayName","Badge","Overlay"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ImageBase/ImageBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { minOr } from '../../lib/comparing';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type { AnchorHTMLAttributesOnly, HasRef, HasRootRef, LiteralUnion } from '../../types';\nimport { Clickable } from '../Clickable/Clickable';\nimport { ImageBaseBadge, type ImageBaseBadgeProps } from './ImageBaseBadge/ImageBaseBadge';\nimport { ImageBaseOverlay, type ImageBaseOverlayProps } from './ImageBaseOverlay/ImageBaseOverlay';\nimport { ImageBaseContext } from './context';\nimport type { ImageBaseContextProps, ImageBaseExpectedIconProps, ImageBaseSize } from './types';\nimport { validateFallbackIcon, validateSize } from './validators';\nimport styles from './ImageBase.module.css';\n\nexport type {\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseContextProps,\n};\n\nexport {\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './helpers';\n\nexport { ImageBaseContext };\n\n/**\n * Размер по умолчанию.\n */\nconst defaultSize = 24;\n\nexport interface ImageBaseProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n AnchorHTMLAttributesOnly,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Задаёт размер картинки.\n *\n * Используйте размеры заданные дизайн-системой `16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 56 | 64 | 72 | 80 | 88 | 96`.\n *\n * > ⚠️ Использование кастомного размера – это пограничный кейс.\n */\n size?: LiteralUnion<ImageBaseSize, number>;\n /**\n * Ширина изображения\n */\n widthSize?: number | string;\n /**\n * Высота изображения\n */\n heightSize?: number | string;\n /**\n * Отключает обводку.\n */\n noBorder?: boolean;\n /**\n * Фолбек на случай, если картинка не прогрузилась.\n *\n * > 📝 Нужный для `<ImageBase size={...} />` размер можно узнать из функции `getFallbackIconSizeByImageBaseSize()`.\n *\n * > Предпочтительней использовать иконки из `@vkontakte/icons`.\n *\n * > 📊️ Если вы хотите передать кастомную иконку, то следует именовать её по шаблону `Icon<size><name>`. Или же\n * > чтобы в неё был передан параметр `width`. Тогда мы сможем выводить в консоль подсказку правильного ли размера вы\n * > использовали иконку.\n *\n * > ⚠️ Может перекрывать `children`.\n */\n fallbackIcon?: React.ReactElement<ImageBaseExpectedIconProps>;\n /**\n * Отключает фон, заданный по умолчанию. Полезен для отображения картинок с прозрачностью.\n * @since 5.10.0\n */\n withTransparentBackground?: boolean;\n /**\n * Пользовательское значения стиля object-fit\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit)\n */\n objectFit?: React.CSSProperties['objectFit'];\n /**\n * Флаг для сохранения пропорций картинки.\n * Для корректной работы необходимо задать размеры хотя бы одной стороны картинки\n */\n keepAspectRatio?: boolean;\n}\n\nconst getObjectFitClassName = (objectFit: React.CSSProperties['objectFit']) => {\n switch (objectFit) {\n case 'contain':\n return styles.imgObjectFitContain;\n case 'cover':\n return styles.imgObjectFitCover;\n case 'none':\n return styles.imgObjectFitNone;\n case 'scale-down':\n return styles.imgObjectFitScaleDown;\n }\n return undefined;\n};\n\nconst parsePx = (value: string): number | undefined => {\n if (value.endsWith('px')) {\n return parseInt(value);\n }\n return undefined;\n};\n\nconst sizeToNumber = (size: number | string | undefined): number | undefined => {\n if (typeof size === 'string') {\n return parsePx(size);\n }\n return size;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ImageBase\n */\nexport const ImageBase: React.FC<ImageBaseProps> & {\n Badge: typeof ImageBaseBadge;\n Overlay: typeof ImageBaseOverlay;\n} = ({\n alt,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n fetchPriority,\n getRef,\n size: sizeProp,\n width: widthImg,\n height: heightImg,\n widthSize,\n heightSize,\n noBorder = false,\n fallbackIcon: fallbackIconProp,\n children,\n onLoad,\n onError,\n withTransparentBackground,\n objectFit = 'cover',\n keepAspectRatio = false,\n ...restProps\n}: ImageBaseProps) => {\n const size = sizeProp ?? minOr([sizeToNumber(widthSize), sizeToNumber(heightSize)], defaultSize);\n\n const width = widthSize ?? (keepAspectRatio ? undefined : size);\n const height = heightSize ?? (keepAspectRatio ? undefined : size);\n\n const [loaded, setLoaded] = React.useState(false);\n const [failed, setFailed] = React.useState(false);\n\n const hasSrc = src || srcSet;\n const needShowFallbackIcon = (failed || !hasSrc) && React.isValidElement(fallbackIconProp);\n\n const fallbackIcon = needShowFallbackIcon ? fallbackIconProp : null;\n\n if (process.env.NODE_ENV === 'development') {\n validateSize(size);\n if (fallbackIcon) {\n validateFallbackIcon(size, { name: 'fallbackIcon', value: fallbackIcon });\n }\n }\n\n const handleImageLoad = (event: React.SyntheticEvent<HTMLImageElement>) => {\n if (loaded) {\n return;\n }\n\n setLoaded(true);\n setFailed(false);\n onLoad?.(event);\n };\n\n const handleImageError = (event: React.SyntheticEvent<HTMLImageElement>) => {\n setLoaded(false);\n setFailed(true);\n onError?.(event);\n };\n\n const imgRef = useExternRef(getRef);\n const isOnLoadStatusCheckedRef = React.useRef(false);\n React.useEffect(\n function dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater() {\n if (isOnLoadStatusCheckedRef.current) {\n return;\n }\n isOnLoadStatusCheckedRef.current = true;\n\n if (imgRef.current && imgRef.current.complete && !loaded) {\n const event = new Event('load');\n imgRef.current.dispatchEvent(event);\n }\n },\n [imgRef, loaded],\n );\n\n return (\n <ImageBaseContext.Provider value={{ size }}>\n <Clickable\n baseStyle={{ width, height }}\n baseClassName={classNames(\n styles.host,\n loaded && styles.loaded,\n withTransparentBackground && styles.transparentBackground,\n )}\n {...restProps}\n >\n {hasSrc && (\n <img\n ref={imgRef}\n alt={alt}\n className={classNames(\n styles.img,\n getObjectFitClassName(objectFit),\n keepAspectRatio && styles.imgKeepRatio,\n )}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n style={\n keepAspectRatio\n ? {\n width: widthImg || width,\n height: heightImg || height,\n }\n : undefined\n }\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={widthImg}\n height={heightImg}\n onLoad={handleImageLoad}\n onError={handleImageError}\n {...getFetchPriorityProp(fetchPriority)}\n />\n )}\n {fallbackIcon && <div className={styles.fallback}>{fallbackIcon}</div>}\n {children && <div className={styles.children}>{children}</div>}\n {!noBorder && <div aria-hidden className={styles.border} />}\n </Clickable>\n </ImageBaseContext.Provider>\n );\n};\n\nImageBase.displayName = 'ImageBase';\n\nImageBase.Badge = ImageBaseBadge;\nImageBase.Badge.displayName = 'ImageBase.Badge';\n\nImageBase.Overlay = ImageBaseOverlay;\nImageBase.Overlay.displayName = 'ImageBase.Overlay';\n"],"names":["React","classNames","useExternRef","minOr","getFetchPriorityProp","Clickable","ImageBaseBadge","ImageBaseOverlay","ImageBaseContext","validateFallbackIcon","validateSize","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","defaultSize","getObjectFitClassName","objectFit","undefined","parsePx","value","endsWith","parseInt","sizeToNumber","size","ImageBase","alt","crossOrigin","decoding","loading","referrerPolicy","sizes","src","srcSet","useMap","fetchPriority","getRef","sizeProp","width","widthImg","height","heightImg","widthSize","heightSize","noBorder","fallbackIcon","fallbackIconProp","children","onLoad","onError","withTransparentBackground","keepAspectRatio","restProps","loaded","setLoaded","useState","failed","setFailed","hasSrc","needShowFallbackIcon","isValidElement","process","env","NODE_ENV","name","handleImageLoad","event","handleImageError","imgRef","isOnLoadStatusCheckedRef","useRef","useEffect","dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater","current","complete","Event","dispatchEvent","Provider","baseStyle","baseClassName","img","ref","className","style","div","aria-hidden","displayName","Badge","Overlay"],"mappings":"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"}
|
|
@@ -21,5 +21,5 @@ export interface LinkProps extends TappableProps {
|
|
|
21
21
|
/**
|
|
22
22
|
* @see https://vkcom.github.io/VKUI/#/Link
|
|
23
23
|
*/
|
|
24
|
-
export declare const Link: ({ before: beforeProp, after: afterProp, noUnderline, hasVisited, children,
|
|
24
|
+
export declare const Link: ({ before: beforeProp, after: afterProp, noUnderline, hasVisited, children, ...restProps }: LinkProps) => React.ReactNode;
|
|
25
25
|
//# sourceMappingURL=Link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,8FAOd,SAAS,KAAG,KAAK,CAAC,SAuBpB,CAAC"}
|
|
@@ -7,13 +7,12 @@ import { Tappable } from "../Tappable/Tappable.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* @see https://vkcom.github.io/VKUI/#/Link
|
|
9
9
|
*/ export const Link = (_param)=>{
|
|
10
|
-
var { before: beforeProp, after: afterProp, noUnderline, hasVisited, children
|
|
10
|
+
var { before: beforeProp, after: afterProp, noUnderline, hasVisited, children } = _param, restProps = _object_without_properties(_param, [
|
|
11
11
|
"before",
|
|
12
12
|
"after",
|
|
13
13
|
"noUnderline",
|
|
14
14
|
"hasVisited",
|
|
15
|
-
"children"
|
|
16
|
-
"className"
|
|
15
|
+
"children"
|
|
17
16
|
]);
|
|
18
17
|
const before = beforeProp ? /*#__PURE__*/ _jsx("span", {
|
|
19
18
|
className: "vkuiLink__before",
|
|
@@ -26,7 +25,7 @@ import { Tappable } from "../Tappable/Tappable.js";
|
|
|
26
25
|
return /*#__PURE__*/ _jsxs(Tappable, _object_spread_props(_object_spread({
|
|
27
26
|
Component: restProps.href ? 'a' : 'button'
|
|
28
27
|
}, restProps), {
|
|
29
|
-
|
|
28
|
+
baseClassName: classNames("vkuiLink__host", hasVisited && "vkuiLink__hasVisited", noUnderline ? undefined : "vkuiLink__withUnderline"),
|
|
30
29
|
hasHover: false,
|
|
31
30
|
activeMode: "opacity",
|
|
32
31
|
hoverMode: "none",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport styles from './Link.module.css';\n\nexport interface LinkProps extends TappableProps {\n /**\n * Иконка слева.\n */\n before?: ReactElement;\n /**\n * Иконка справа.\n */\n after?: ReactElement;\n /**\n * Выключает появления нижнего подчеркивания при наведении.\n */\n noUnderline?: boolean;\n /**\n * Включает состояние `visited`, которое позволяет пользователю понять посещал ли он ссылку или нет.\n */\n hasVisited?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Link\n */\nexport const Link = ({\n before: beforeProp,\n after: afterProp,\n noUnderline,\n hasVisited,\n children,\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport styles from './Link.module.css';\n\nexport interface LinkProps extends TappableProps {\n /**\n * Иконка слева.\n */\n before?: ReactElement;\n /**\n * Иконка справа.\n */\n after?: ReactElement;\n /**\n * Выключает появления нижнего подчеркивания при наведении.\n */\n noUnderline?: boolean;\n /**\n * Включает состояние `visited`, которое позволяет пользователю понять посещал ли он ссылку или нет.\n */\n hasVisited?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Link\n */\nexport const Link = ({\n before: beforeProp,\n after: afterProp,\n noUnderline,\n hasVisited,\n children,\n ...restProps\n}: LinkProps): React.ReactNode => {\n const before = beforeProp ? <span className={styles.before}>{beforeProp}</span> : null;\n const after = afterProp ? <span className={styles.after}>{afterProp}</span> : null;\n\n return (\n <Tappable\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n baseClassName={classNames(\n styles.host,\n hasVisited && styles.hasVisited,\n noUnderline ? undefined : styles.withUnderline,\n )}\n hasHover={false}\n activeMode=\"opacity\"\n hoverMode=\"none\"\n focusVisibleMode=\"outside\"\n >\n {before}\n {children}\n {after}\n </Tappable>\n );\n};\n"],"names":["classNames","Tappable","Link","before","beforeProp","after","afterProp","noUnderline","hasVisited","children","restProps","span","className","Component","href","baseClassName","undefined","hasHover","activeMode","hoverMode","focusVisibleMode"],"mappings":";;;;AACA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAA4B,0BAAuB;AAsBpE;;CAEC,GACD,OAAO,MAAMC,OAAO;QAAC,EACnBC,QAAQC,UAAU,EAClBC,OAAOC,SAAS,EAChBC,WAAW,EACXC,UAAU,EACVC,QAAQ,EAEE,WADPC;QALHP;QACAE;QACAE;QACAC;QACAC;;IAGA,MAAMN,SAASC,2BAAa,KAACO;QAAKC,SAAS;kBAAkBR;SAAqB;IAClF,MAAMC,QAAQC,0BAAY,KAACK;QAAKC,SAAS;kBAAiBN;SAAoB;IAE9E,qBACE,MAACL;QACCY,WAAWH,UAAUI,IAAI,GAAG,MAAM;OAC9BJ;QACJK,eAAef,6BAEbQ,sCACAD,cAAcS;QAEhBC,UAAU;QACVC,YAAW;QACXC,WAAU;QACVC,kBAAiB;;YAEhBjB;YACAM;YACAJ;;;AAGP,EAAE"}
|
|
@@ -9,5 +9,5 @@ export type ListProps = HTMLAttributesWithRootRef<HTMLDivElement> & {
|
|
|
9
9
|
/**
|
|
10
10
|
* @see https://vkcom.github.io/VKUI/#/List
|
|
11
11
|
*/
|
|
12
|
-
export declare const List: ({ children, gap,
|
|
12
|
+
export declare const List: ({ children, gap, ...restProps }: ListProps) => React.ReactNode;
|
|
13
13
|
//# sourceMappingURL=List.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/components/List/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/components/List/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI7D,MAAM,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,CAAC,GAAG;IAClE;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,oCAAyC,SAAS,KAAG,KAAK,CAAC,SAkB3E,CAAC"}
|
|
@@ -3,24 +3,21 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
|
3
3
|
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import * as React from "react";
|
|
6
|
-
import { classNames } from "@vkontakte/vkjs";
|
|
7
6
|
import { DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP } from "../../hooks/useDraggableWithDomApi/index.js";
|
|
8
7
|
import { RootComponent } from "../RootComponent/RootComponent.js";
|
|
9
8
|
/**
|
|
10
9
|
* @see https://vkcom.github.io/VKUI/#/List
|
|
11
10
|
*/ export const List = (_param)=>{
|
|
12
|
-
var { children, gap = 0
|
|
11
|
+
var { children, gap = 0 } = _param, restProps = _object_without_properties(_param, [
|
|
13
12
|
"children",
|
|
14
|
-
"gap"
|
|
15
|
-
"className",
|
|
16
|
-
"style"
|
|
13
|
+
"gap"
|
|
17
14
|
]);
|
|
18
15
|
return /*#__PURE__*/ _jsxs(RootComponent, _object_spread_props(_object_spread({
|
|
19
16
|
role: "list",
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
baseClassName: "vkuiList__host",
|
|
18
|
+
baseStyle: {
|
|
22
19
|
gridGap: gap
|
|
23
|
-
}
|
|
20
|
+
}
|
|
24
21
|
}, restProps), {
|
|
25
22
|
children: [
|
|
26
23
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/List/List.tsx"],"sourcesContent":["import * as React from 'react';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/List/List.tsx"],"sourcesContent":["import * as React from 'react';\nimport { DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP } from '../../hooks/useDraggableWithDomApi';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './List.module.css';\n\nexport type ListProps = HTMLAttributesWithRootRef<HTMLDivElement> & {\n /**\n * Задает отступ между элементами\n */\n gap?: number;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/List\n */\nexport const List = ({ children, gap = 0, ...restProps }: ListProps): React.ReactNode => {\n return (\n <RootComponent\n role=\"list\"\n baseClassName={styles.host}\n baseStyle={{\n gridGap: gap,\n }}\n {...restProps}\n >\n {children}\n <div\n aria-hidden\n {...DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP}\n className={styles.placeholder}\n ></div>\n </RootComponent>\n );\n};\n"],"names":["React","DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP","RootComponent","List","children","gap","restProps","role","baseClassName","baseStyle","gridGap","div","aria-hidden","className"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,qCAAqC,QAAQ,8CAAqC;AAE3F,SAASC,aAAa,QAAQ,oCAAiC;AAU/D;;CAEC,GACD,OAAO,MAAMC,OAAO;QAAC,EAAEC,QAAQ,EAAEC,MAAM,CAAC,EAA2B,WAAtBC;QAAtBF;QAAUC;;IAC/B,qBACE,MAACH;QACCK,MAAK;QACLC,aAAa;QACbC,WAAW;YACTC,SAASL;QACX;OACIC;;YAEHF;0BACD,KAACO;gBACCC,aAAW;eACPX;gBACJY,SAAS;;;;AAIjB,EAAE"}
|
|
@@ -36,5 +36,5 @@ export interface MiniInfoCellProps extends HTMLAttributesWithRootRef<HTMLDivElem
|
|
|
36
36
|
/**
|
|
37
37
|
* @see https://vkcom.github.io/VKUI/#/MiniInfoCell
|
|
38
38
|
*/
|
|
39
|
-
export declare const MiniInfoCell: ({ before, after, children, mode, textWrap, chevron,
|
|
39
|
+
export declare const MiniInfoCell: ({ before, after, children, mode, textWrap, chevron, ...restProps }: MiniInfoCellProps) => React.ReactNode;
|
|
40
40
|
//# sourceMappingURL=MiniInfoCell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiniInfoCell.d.ts","sourceRoot":"","sources":["../../../src/components/MiniInfoCell/MiniInfoCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAkB7D,MAAM,WAAW,iBAAkB,SAAQ,yBAAyB,CAAC,cAAc,CAAC;IAClF;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAE1C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAEvC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"MiniInfoCell.d.ts","sourceRoot":"","sources":["../../../src/components/MiniInfoCell/MiniInfoCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAkB7D,MAAM,WAAW,iBAAkB,SAAQ,yBAAyB,CAAC,cAAc,CAAC;IAClF;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAE1C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAEvC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,uEAQtB,iBAAiB,KAAG,KAAK,CAAC,SA6B5B,CAAC"}
|