@vkontakte/vkui 7.2.1 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Accordion/Accordion.d.ts +6 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js +5 -3
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionContent.js +0 -1
- package/dist/components/Accordion/AccordionContent.js.map +1 -1
- package/dist/components/Accordion/AccordionContext.d.ts +13 -0
- package/dist/components/Accordion/AccordionContext.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionContext.js.map +1 -1
- package/dist/components/Accordion/AccordionSummary.d.ts +1 -1
- package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionSummary.js +0 -1
- package/dist/components/Accordion/AccordionSummary.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.d.ts +29 -2
- package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetContext.d.ts +23 -0
- package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +1 -1
- package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +7 -3
- package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
- package/dist/components/ActionSheet/types.d.ts +8 -5
- package/dist/components/ActionSheet/types.d.ts.map +1 -1
- package/dist/components/ActionSheet/types.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +40 -8
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/ActionSheetItem/helpers.d.ts +2 -2
- package/dist/components/ActionSheetItem/helpers.js +2 -2
- package/dist/components/ActionSheetItem/helpers.js.map +1 -1
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +6 -0
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts.map +1 -1
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +12 -4
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +40 -12
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Alert/AlertAction.d.ts +6 -0
- package/dist/components/Alert/AlertAction.d.ts.map +1 -1
- package/dist/components/Alert/AlertAction.js.map +1 -1
- package/dist/components/Alert/AlertActions.d.ts +3 -0
- package/dist/components/Alert/AlertActions.d.ts.map +1 -1
- package/dist/components/Alert/AlertActions.js.map +1 -1
- package/dist/components/Alert/AlertBase.d.ts +8 -0
- package/dist/components/Alert/AlertBase.d.ts.map +1 -1
- package/dist/components/Alert/AlertBase.js.map +1 -1
- package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
- package/dist/components/Alert/AlertTypography.js +1 -1
- package/dist/components/Alert/AlertTypography.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +15 -4
- package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootContext.js +2 -2
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts +11 -4
- package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
- package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
- package/dist/components/AppRoot/ScrollContext.js +4 -4
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/AppRoot/types.d.ts.map +1 -1
- package/dist/components/AppRoot/types.js +1 -1
- package/dist/components/AppRoot/types.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.d.ts +4 -1
- package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.js +6 -4
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadge.d.ts +1 -2
- package/dist/components/Avatar/AvatarBadge/AvatarBadge.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadge.js +0 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -2
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +0 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarBadge/icons.js +1 -1
- package/dist/components/Avatar/AvatarBadge/icons.js.map +1 -1
- package/dist/components/Badge/Badge.d.ts +3 -0
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Banner/Banner.d.ts +8 -5
- package/dist/components/Banner/Banner.d.ts.map +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Button/Button.d.ts +27 -0
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -4
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js +0 -1
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +37 -5
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +77 -17
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.d.ts +61 -3
- package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +36 -12
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.d.ts +67 -2
- package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js +76 -46
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.d.ts +45 -6
- package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +9 -2
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +35 -3
- package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.js +17 -7
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.d.ts +31 -4
- package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js +9 -2
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/Card/Card.d.ts +3 -0
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.d.ts +4 -1
- package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
- package/dist/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.d.ts +2 -2
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/CarouselBase/Bullets.d.ts +2 -3
- package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
- package/dist/components/CarouselBase/Bullets.js +1 -2
- package/dist/components/CarouselBase/Bullets.js.map +1 -1
- package/dist/components/CarouselBase/CarouselBase.js +6 -6
- package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/components/CarouselBase/CarouselViewPort.d.ts +1 -1
- package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -1
- package/dist/components/CarouselBase/CarouselViewPort.js +1 -1
- package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -1
- package/dist/components/CarouselBase/ScrollArrows.d.ts +3 -3
- package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
- package/dist/components/CarouselBase/ScrollArrows.js +1 -1
- package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
- package/dist/components/CarouselBase/helpers.d.ts +2 -2
- package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
- package/dist/components/CarouselBase/helpers.js +3 -3
- package/dist/components/CarouselBase/helpers.js.map +1 -1
- package/dist/components/CarouselBase/types.d.ts +21 -20
- package/dist/components/CarouselBase/types.d.ts.map +1 -1
- package/dist/components/CarouselBase/types.js +1 -1
- package/dist/components/CarouselBase/types.js.map +1 -1
- package/dist/components/Cell/Cell.d.ts +13 -7
- package/dist/components/Cell/Cell.d.ts.map +1 -1
- package/dist/components/Cell/Cell.js +1 -1
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/components/CellButton/CellButton.d.ts +3 -0
- package/dist/components/CellButton/CellButton.d.ts.map +1 -1
- package/dist/components/CellButton/CellButton.js.map +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +284 -288
- package/dist/components/CellButtonGroup/CellButtonGroup.d.ts.map +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroup.js +4 -2
- package/dist/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts +1 -4
- package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts.map +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +0 -1
- package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +6 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +21 -0
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts +2 -2
- package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.js +5 -3
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInput/useChipsInput.d.ts +2 -2
- package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/useChipsInput.js +40 -12
- package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/types.d.ts +86 -4
- package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/types.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +16 -10
- package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +5 -3
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ChipsSelect/types.d.ts.map +1 -1
- package/dist/components/ChipsSelect/types.js +1 -1
- package/dist/components/ChipsSelect/types.js.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.d.ts +14 -5
- package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.js +5 -3
- package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/components/Clickable/Clickable.d.ts +2 -2
- package/dist/components/Clickable/Clickable.d.ts.map +1 -1
- package/dist/components/Clickable/Clickable.js +3 -3
- package/dist/components/Clickable/Clickable.js.map +1 -1
- package/dist/components/Clickable/RealClickable.d.ts +1 -1
- package/dist/components/Clickable/RealClickable.js +1 -1
- package/dist/components/Clickable/RealClickable.js.map +1 -1
- package/dist/components/Clickable/useState.d.ts +9 -9
- package/dist/components/Clickable/useState.d.ts.map +1 -1
- package/dist/components/Clickable/useState.js +5 -5
- package/dist/components/Clickable/useState.js.map +1 -1
- package/dist/components/Clickable/useStateWithDelay.d.ts +1 -1
- package/dist/components/Clickable/useStateWithDelay.js +1 -1
- package/dist/components/Clickable/useStateWithDelay.js.map +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts +6 -0
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts.map +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +0 -2
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +3 -0
- package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +7 -7
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts +4 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/components/ContentBadge/ContentBadge.d.ts +2 -2
- package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
- package/dist/components/ContentBadge/ContentBadge.js +4 -2
- package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/components/ContentBadge/ContentBadgeContext.d.ts.map +1 -1
- package/dist/components/ContentBadge/ContentBadgeContext.js +1 -1
- package/dist/components/ContentBadge/ContentBadgeContext.js.map +1 -1
- package/dist/components/ContentBadge/ContentBadgeSlotIcon.d.ts +1 -2
- package/dist/components/ContentBadge/ContentBadgeSlotIcon.d.ts.map +1 -1
- package/dist/components/ContentBadge/ContentBadgeSlotIcon.js +0 -1
- package/dist/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts +10 -7
- package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
- package/dist/components/ContentCard/ContentCard.js +4 -3
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/Counter/Counter.d.ts +6 -3
- package/dist/components/Counter/Counter.d.ts.map +1 -1
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.d.ts +14 -5
- package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +45 -12
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +9 -2
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +9 -0
- package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +54 -10
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/DateInput.js +143 -62
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateInput/hooks.d.ts.map +1 -1
- package/dist/components/DateInput/hooks.js +1 -1
- package/dist/components/DateInput/hooks.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +42 -6
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/DirectionProvider/DirectionProvider.d.ts +7 -1
- package/dist/components/DirectionProvider/DirectionProvider.d.ts.map +1 -1
- package/dist/components/DirectionProvider/DirectionProvider.js +1 -1
- package/dist/components/DirectionProvider/DirectionProvider.js.map +1 -1
- package/dist/components/DropZone/DropZone.d.ts +6 -0
- package/dist/components/DropZone/DropZone.d.ts.map +1 -1
- package/dist/components/DropZone/DropZone.js +4 -2
- package/dist/components/DropZone/DropZone.js.map +1 -1
- package/dist/components/DropZone/components/DropZoneGrid.d.ts +4 -1
- package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +1 -1
- package/dist/components/DropZone/components/DropZoneGrid.js +0 -1
- package/dist/components/DropZone/components/DropZoneGrid.js.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts +10 -0
- package/dist/components/Epic/Epic.d.ts.map +1 -1
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
- package/dist/components/Epic/ScrollSaver.js +1 -1
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.d.ts +3 -6
- package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/Flex/FlexItem/FlexItem.d.ts +3 -3
- package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
- package/dist/components/FloatingArrow/DefaultIcon.d.ts +1 -1
- package/dist/components/FloatingArrow/DefaultIcon.js +1 -1
- package/dist/components/FloatingArrow/DefaultIcon.js.map +1 -1
- package/dist/components/FloatingArrow/FloatingArrow.d.ts +17 -0
- package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
- package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.js +5 -3
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/FormField/FormField.d.ts +11 -5
- package/dist/components/FormField/FormField.d.ts.map +1 -1
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +9 -0
- package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
- package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
- package/dist/components/FormItem/FormItem.d.ts +17 -3
- package/dist/components/FormItem/FormItem.d.ts.map +1 -1
- package/dist/components/FormItem/FormItem.js +6 -4
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTop.d.ts +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTop.d.ts.map +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTop.js +0 -1
- package/dist/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTopAside.d.ts +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTopAside.d.ts.map +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTopAside.js +0 -1
- package/dist/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTopLabel.d.ts +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTopLabel.d.ts.map +1 -1
- package/dist/components/FormItem/FormItemTop/FormItemTopLabel.js +0 -1
- package/dist/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
- package/dist/components/FormItem/context.d.ts.map +1 -1
- package/dist/components/FormItem/context.js +1 -1
- package/dist/components/FormItem/context.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -0
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/FormStatus/FormStatus.d.ts +6 -0
- package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
- package/dist/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/components/Gallery/Gallery.d.ts +6 -0
- package/dist/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/Gallery/hooks.d.ts.map +1 -1
- package/dist/components/Gallery/hooks.js +1 -1
- package/dist/components/Gallery/hooks.js.map +1 -1
- package/dist/components/Gradient/Gradient.d.ts +2 -2
- package/dist/components/Gradient/Gradient.js.map +1 -1
- package/dist/components/Group/Group.d.ts +6 -0
- package/dist/components/Group/Group.d.ts.map +1 -1
- package/dist/components/Group/Group.js +7 -5
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Group/GroupContainer.d.ts +1 -2
- package/dist/components/Group/GroupContainer.d.ts.map +1 -1
- package/dist/components/Group/GroupContainer.js +0 -1
- package/dist/components/Group/GroupContainer.js.map +1 -1
- package/dist/components/Group/GroupDescription.d.ts +1 -2
- package/dist/components/Group/GroupDescription.d.ts.map +1 -1
- package/dist/components/Group/GroupDescription.js +0 -2
- package/dist/components/Group/GroupDescription.js.map +1 -1
- package/dist/components/Group/GroupExpandedContent.d.ts +4 -2
- package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
- package/dist/components/Group/GroupExpandedContent.js +1 -3
- package/dist/components/Group/GroupExpandedContent.js.map +1 -1
- package/dist/components/Group/GroupHeader.d.ts +1 -2
- package/dist/components/Group/GroupHeader.d.ts.map +1 -1
- package/dist/components/Group/GroupHeader.js +0 -2
- package/dist/components/Group/GroupHeader.js.map +1 -1
- package/dist/components/Header/Header.d.ts +19 -7
- package/dist/components/Header/Header.d.ts.map +1 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.d.ts +5 -5
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +2 -2
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +1 -2
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +16 -7
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +7 -7
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Image/Image.d.ts +4 -4
- package/dist/components/Image/Image.d.ts.map +1 -1
- package/dist/components/Image/Image.js +6 -4
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/Image/ImageBadge/ImageBadge.d.ts +1 -2
- package/dist/components/Image/ImageBadge/ImageBadge.d.ts.map +1 -1
- package/dist/components/Image/ImageBadge/ImageBadge.js +0 -1
- package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/components/ImageBase/ImageBase.d.ts +7 -7
- package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBase.js +6 -4
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +2 -2
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +1 -2
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +5 -8
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +0 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.d.ts +1 -2
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +0 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +6 -0
- package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
- package/dist/components/ImageBase/helpers.d.ts +3 -3
- package/dist/components/ImageBase/helpers.js +3 -3
- package/dist/components/ImageBase/helpers.js.map +1 -1
- package/dist/components/ImageBase/types.d.ts +18 -0
- package/dist/components/ImageBase/types.d.ts.map +1 -1
- package/dist/components/ImageBase/types.js.map +1 -1
- package/dist/components/ImageBase/validators.d.ts.map +1 -1
- package/dist/components/ImageBase/validators.js +4 -5
- package/dist/components/ImageBase/validators.js.map +1 -1
- package/dist/components/InfoRow/InfoRow.d.ts +3 -0
- package/dist/components/InfoRow/InfoRow.d.ts.map +1 -1
- package/dist/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/components/InputLike/InputLike.d.ts +1 -2
- package/dist/components/InputLike/InputLike.d.ts.map +1 -1
- package/dist/components/InputLike/InputLike.js +4 -5
- package/dist/components/InputLike/InputLike.js.map +1 -1
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/Link.js +4 -6
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/List/List.d.ts +1 -1
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.d.ts +5 -2
- package/dist/components/LocaleProvider/LocaleProvider.d.ts.map +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +3 -3
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.js +1 -1
- package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
- package/dist/components/ModalCard/types.d.ts +1 -1
- package/dist/components/ModalCard/types.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +26 -14
- package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +3 -0
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
- package/dist/components/ModalOutlet/ModalOutlet.js +1 -1
- package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
- package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +2 -2
- package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
- package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
- package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.d.ts +1 -1
- package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.js +1 -1
- package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
- package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPageInternal.js +1 -1
- package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
- package/dist/components/ModalPage/types.d.ts +11 -8
- package/dist/components/ModalPage/types.d.ts.map +1 -1
- package/dist/components/ModalPage/types.js.map +1 -1
- package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +6 -0
- package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
- package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +3 -0
- package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/types.d.ts +19 -16
- package/dist/components/ModalRoot/types.d.ts.map +1 -1
- package/dist/components/ModalRoot/types.js +1 -1
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
- package/dist/components/ModalRoot/useModalManager.js +1 -1
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/ModalRoot/withModalRootContext.d.ts +2 -2
- package/dist/components/ModalRoot/withModalRootContext.d.ts.map +1 -1
- package/dist/components/ModalRoot/withModalRootContext.js +2 -2
- package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +15 -6
- package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.js +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +2 -2
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +3 -0
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js +4 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContext.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts +10 -4
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js +1 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageButton.js +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
- package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js +1 -1
- package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +4 -1
- package/dist/components/Panel/Panel.d.ts.map +1 -1
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts +13 -2
- package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +1 -1
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +6 -0
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +7 -0
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +9 -0
- package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +7 -0
- package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.d.ts +4 -1
- package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.js +6 -2
- package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.d.ts +5 -5
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.d.ts +5 -2
- package/dist/components/PlatformProvider/PlatformProvider.d.ts.map +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +4 -4
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +7 -4
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/usePopover.d.ts +9 -0
- package/dist/components/Popover/usePopover.d.ts.map +1 -1
- package/dist/components/Popover/usePopover.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +4 -1
- package/dist/components/Popper/Popper.d.ts.map +1 -1
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/Progress/Progress.d.ts +6 -3
- package/dist/components/Progress/Progress.d.ts.map +1 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
- package/dist/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
- package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +7 -1
- package/dist/components/Radio/Radio.d.ts.map +1 -1
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +3 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/Removable/Removable.d.ts +10 -7
- package/dist/components/Removable/Removable.d.ts.map +1 -1
- package/dist/components/Removable/Removable.js +1 -1
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +6 -6
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/Root/Root.d.ts +9 -0
- package/dist/components/Root/Root.d.ts.map +1 -1
- package/dist/components/Root/Root.js +1 -1
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/RootComponent/RootComponent.d.ts +10 -0
- package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
- package/dist/components/RootComponent/RootComponent.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js +6 -4
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerContainer.d.ts +1 -2
- package/dist/components/ScreenSpinner/ScreenSpinnerContainer.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerContainer.js +0 -2
- package/dist/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerLoader.d.ts +3 -2
- package/dist/components/ScreenSpinner/ScreenSpinnerLoader.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerLoader.js +0 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -2
- package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js +1 -3
- package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
- package/dist/components/ScreenSpinner/context.d.ts +9 -0
- package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/context.js.map +1 -1
- package/dist/components/ScreenSpinner/types.d.ts +12 -4
- package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/types.js.map +1 -1
- package/dist/components/ScrollArrow/ScrollArrow.d.ts +5 -2
- package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
- package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/components/Search/Search.d.ts +24 -6
- package/dist/components/Search/Search.d.ts.map +1 -1
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +25 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +9 -0
- package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
- package/dist/components/SelectTypography/SelectTypography.js +1 -1
- package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +1 -1
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
- package/dist/components/Separator/Separator.d.ts +6 -6
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
- package/dist/components/SimpleCell/Chevron/Chevron.js +1 -1
- package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +5 -5
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.d.ts +4 -4
- package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +4 -4
- package/dist/components/Skeleton/Skeleton.js +5 -5
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +41 -2
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.js +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/components/Slider/types.d.ts.map +1 -1
- package/dist/components/Slider/types.js +1 -1
- package/dist/components/Slider/types.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +4 -4
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
- package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
- package/dist/components/Snackbar/types.d.ts.map +1 -1
- package/dist/components/Snackbar/types.js +1 -1
- package/dist/components/Snackbar/types.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +3 -3
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/Spinner/Spinner.d.ts +8 -2
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.js +7 -3
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/Spinner/SpinnerAnimation.d.ts.map +1 -1
- package/dist/components/Spinner/SpinnerAnimation.js +1 -1
- package/dist/components/Spinner/SpinnerAnimation.js.map +1 -1
- package/dist/components/Spinner/icons.d.ts +6 -0
- package/dist/components/Spinner/icons.d.ts.map +1 -0
- package/dist/components/Spinner/icons.js +52 -0
- package/dist/components/Spinner/icons.js.map +1 -0
- package/dist/components/SplitCol/SplitCol.d.ts +15 -3
- package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitCol/SplitColContext.d.ts.map +1 -1
- package/dist/components/SplitCol/SplitColContext.js +1 -1
- package/dist/components/SplitCol/SplitColContext.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts +5 -2
- package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +3 -0
- package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
- package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +18 -3
- package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -2
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.d.ts +2 -2
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.d.ts +5 -2
- package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +6 -6
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +1 -4
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts +9 -3
- package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
- package/dist/components/TabsItem/TabsItem.js +4 -9
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Ripple.d.ts +1 -1
- package/dist/components/Tappable/Ripple.d.ts.map +1 -1
- package/dist/components/Tappable/Ripple.js +3 -3
- package/dist/components/Tappable/Ripple.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +13 -1
- package/dist/components/Tappable/Tappable.d.ts.map +1 -1
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/Tappable/state.d.ts +5 -5
- package/dist/components/Tappable/state.js +3 -3
- package/dist/components/Tappable/state.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +9 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/ToolButton/ToolButton.d.ts +9 -0
- package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
- package/dist/components/ToolButton/ToolButton.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/useTooltip.d.ts +9 -0
- package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/useTooltip.js.map +1 -1
- package/dist/components/TooltipBase/TooltipBase.d.ts +5 -5
- package/dist/components/TooltipBase/TooltipBase.js +1 -1
- package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
- package/dist/components/Touch/Touch.d.ts +100 -2
- package/dist/components/Touch/Touch.d.ts.map +1 -1
- package/dist/components/Touch/Touch.js +2 -2
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Touch/TouchContext.d.ts +1 -1
- package/dist/components/Touch/TouchContext.js +1 -1
- package/dist/components/Touch/TouchContext.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +3 -0
- package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +3 -0
- package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
- package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
- package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
- package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts +3 -0
- package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts +3 -0
- package/dist/components/Typography/Title/Title.d.ts.map +1 -1
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/Typography/Typography.d.ts +6 -3
- package/dist/components/Typography/Typography.d.ts.map +1 -1
- package/dist/components/Typography/Typography.js.map +1 -1
- package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +6 -0
- package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
- package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.d.ts +16 -4
- package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/View.d.ts +15 -3
- package/dist/components/View/View.d.ts.map +1 -1
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts +15 -3
- package/dist/components/View/ViewInfinite.d.ts.map +1 -1
- package/dist/components/View/ViewInfinite.js +1 -1
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/View/useLayoutEffectCall.d.ts +1 -1
- package/dist/components/View/useLayoutEffectCall.js +1 -1
- package/dist/components/View/useLayoutEffectCall.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +7 -4
- package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -2
- 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/Accordion/Accordion.js +5 -3
- package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
- package/dist/cssm/components/Accordion/AccordionContent.js +0 -1
- package/dist/cssm/components/Accordion/AccordionContent.js.map +1 -1
- package/dist/cssm/components/Accordion/AccordionContext.js.map +1 -1
- package/dist/cssm/components/Accordion/AccordionSummary.js +0 -1
- package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +3 -3
- package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
- package/dist/cssm/components/ActionSheet/types.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/helpers.js +2 -2
- package/dist/cssm/components/ActionSheetItem/helpers.js.map +1 -1
- package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.module.css +2 -2
- package/dist/cssm/components/Alert/AlertAction.js.map +1 -1
- package/dist/cssm/components/Alert/AlertActions.js.map +1 -1
- package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
- package/dist/cssm/components/Alert/AlertTypography.js +1 -1
- package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js +2 -2
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js +4 -4
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/types.js +1 -1
- package/dist/cssm/components/AppRoot/types.js.map +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.js +6 -4
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js +0 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +0 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/icons.js +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
- package/dist/cssm/components/Badge/Badge.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js +0 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.js +71 -13
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +29 -10
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js +73 -45
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +9 -2
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js +16 -6
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js +9 -2
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/Card/Card.js.map +1 -1
- package/dist/cssm/components/Card/Card.module.css +2 -2
- package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/CarouselBase/Bullets.js +1 -2
- package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
- package/dist/cssm/components/CarouselBase/CarouselBase.js +6 -6
- package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/cssm/components/CarouselBase/CarouselViewPort.js +1 -1
- package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
- package/dist/cssm/components/CarouselBase/ScrollArrows.js +1 -1
- package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
- package/dist/cssm/components/CarouselBase/helpers.js +3 -3
- package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
- package/dist/cssm/components/CarouselBase/types.js +1 -1
- package/dist/cssm/components/CarouselBase/types.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js +1 -1
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
- package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js +4 -2
- package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
- package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +0 -1
- package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js +3 -2
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInput/useChipsInput.js +40 -15
- package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +3 -2
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/types.js +1 -1
- package/dist/cssm/components/ChipsSelect/types.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js +5 -3
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cssm/components/Clickable/Clickable.js +6 -5
- package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
- package/dist/cssm/components/Clickable/RealClickable.js +1 -1
- package/dist/cssm/components/Clickable/RealClickable.js.map +1 -1
- package/dist/cssm/components/Clickable/useState.js +5 -5
- package/dist/cssm/components/Clickable/useState.js.map +1 -1
- package/dist/cssm/components/Clickable/useStateWithDelay.js +1 -1
- package/dist/cssm/components/Clickable/useStateWithDelay.js.map +1 -1
- package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +0 -2
- package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadge.js +4 -2
- package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadgeContext.js +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadgeContext.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadgeSlotIcon.js +0 -1
- package/dist/cssm/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +2 -2
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +9 -2
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +132 -56
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateInput/hooks.js +1 -1
- package/dist/cssm/components/DateInput/hooks.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/DirectionProvider/DirectionProvider.js +1 -1
- package/dist/cssm/components/DirectionProvider/DirectionProvider.js.map +1 -1
- package/dist/cssm/components/DropZone/DropZone.js +4 -2
- package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
- package/dist/cssm/components/DropZone/components/DropZoneGrid.js +0 -1
- package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
- package/dist/cssm/components/FloatingArrow/DefaultIcon.js +1 -1
- package/dist/cssm/components/FloatingArrow/DefaultIcon.js.map +1 -1
- package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.js +3 -2
- package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +6 -4
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItemTop/FormItemTop.js +0 -1
- package/dist/cssm/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItemTop/FormItemTopAside.js +0 -1
- package/dist/cssm/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItemTop/FormItemTopLabel.js +0 -1
- package/dist/cssm/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
- package/dist/cssm/components/FormItem/context.js +1 -1
- package/dist/cssm/components/FormItem/context.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/Gallery/hooks.js +1 -1
- package/dist/cssm/components/Gallery/hooks.js.map +1 -1
- package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
- package/dist/cssm/components/Group/Group.js +7 -5
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Group/GroupContainer.js +0 -1
- package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
- package/dist/cssm/components/Group/GroupDescription.js +0 -2
- package/dist/cssm/components/Group/GroupDescription.js.map +1 -1
- package/dist/cssm/components/Group/GroupExpandedContent.js +1 -3
- package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
- package/dist/cssm/components/Group/GroupHeader.js +0 -2
- package/dist/cssm/components/Group/GroupHeader.js.map +1 -1
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +1 -2
- package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +7 -7
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/Image/Image.js +6 -4
- package/dist/cssm/components/Image/Image.js.map +1 -1
- package/dist/cssm/components/Image/ImageBadge/ImageBadge.js +0 -1
- package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js +6 -4
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +1 -2
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +0 -1
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +0 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
- package/dist/cssm/components/ImageBase/helpers.js +3 -3
- package/dist/cssm/components/ImageBase/helpers.js.map +1 -1
- package/dist/cssm/components/ImageBase/types.js.map +1 -1
- package/dist/cssm/components/ImageBase/validators.js +3 -4
- package/dist/cssm/components/ImageBase/validators.js.map +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLike.js +4 -5
- package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLike.module.css +1 -1
- package/dist/cssm/components/Link/Link.js +3 -5
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/Link/Link.module.css +2 -4
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCardInternal.js +1 -1
- package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
- package/dist/cssm/components/ModalCard/types.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalOutlet/ModalOutlet.js +1 -1
- package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
- package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
- package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
- package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +1 -1
- package/dist/cssm/components/ModalPage/ModalPageBase.js +1 -1
- package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPageInternal.js +1 -1
- package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
- package/dist/cssm/components/ModalPage/types.js.map +1 -1
- package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalRoot/types.js +1 -1
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/ModalRoot/withModalRootContext.js +2 -2
- package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +1 -1
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js +4 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js +1 -1
- package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.module.css +2 -2
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +5 -5
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js +6 -2
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popover/usePopover.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.js +1 -1
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/Root/Root.js +1 -1
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +6 -4
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.js +0 -2
- package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.js +0 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js +1 -3
- package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
- package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +2 -2
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.js +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
- package/dist/cssm/components/Separator/Separator.js.map +1 -1
- package/dist/cssm/components/SimpleCell/Chevron/Chevron.js +1 -1
- package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/cssm/components/Skeleton/Skeleton.js +5 -5
- package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +1 -1
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/cssm/components/Slider/types.js +1 -1
- package/dist/cssm/components/Slider/types.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
- package/dist/cssm/components/Snackbar/types.js +1 -1
- package/dist/cssm/components/Snackbar/types.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/Spinner/Spinner.js +7 -3
- package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
- package/dist/cssm/components/Spinner/SpinnerAnimation.js +1 -1
- package/dist/cssm/components/Spinner/SpinnerAnimation.js.map +1 -1
- package/dist/cssm/components/Spinner/icons.js +52 -0
- package/dist/cssm/components/Spinner/icons.js.map +1 -0
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitColContext.js +1 -1
- package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.module.css +3 -3
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.js +1 -4
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +3 -6
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Ripple.js +3 -3
- package/dist/cssm/components/Tappable/Ripple.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Tappable/state.js +3 -3
- package/dist/cssm/components/Tappable/state.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Tooltip/useTooltip.js.map +1 -1
- package/dist/cssm/components/TooltipBase/TooltipBase.js +1 -1
- package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.js +2 -2
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Touch/TouchContext.js +1 -1
- package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
- package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/Typography/Typography.js.map +1 -1
- package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/View.module.css +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +1 -1
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/View/useLayoutEffectCall.js +1 -1
- package/dist/cssm/components/View/useLayoutEffectCall.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/hooks/useCalendar.js +6 -0
- package/dist/cssm/hooks/useCalendar.js.map +1 -1
- package/dist/cssm/hooks/useDateInput.js +62 -26
- package/dist/cssm/hooks/useDateInput.js.map +1 -1
- package/dist/cssm/hooks/useFocusTrap.js +18 -8
- package/dist/cssm/hooks/useFocusTrap.js.map +1 -1
- package/dist/cssm/hooks/useLocale.js +7 -0
- package/dist/cssm/hooks/useLocale.js.map +1 -0
- package/dist/cssm/index.js +1 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/calendar.js +25 -3
- package/dist/cssm/lib/calendar.js.map +1 -1
- package/dist/cssm/lib/platform.js +5 -1
- package/dist/cssm/lib/platform.js.map +1 -1
- package/dist/cssm/lib/react/defineComponentDisplayNames.js +8 -0
- package/dist/cssm/lib/react/defineComponentDisplayNames.js.map +1 -0
- package/dist/hooks/useCalendar.d.ts +2 -0
- package/dist/hooks/useCalendar.d.ts.map +1 -1
- package/dist/hooks/useCalendar.js +6 -0
- package/dist/hooks/useCalendar.js.map +1 -1
- package/dist/hooks/useDateInput.d.ts +3 -1
- package/dist/hooks/useDateInput.d.ts.map +1 -1
- package/dist/hooks/useDateInput.js +63 -27
- package/dist/hooks/useDateInput.js.map +1 -1
- package/dist/hooks/useFocusTrap.d.ts +9 -1
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +18 -8
- package/dist/hooks/useFocusTrap.js.map +1 -1
- package/dist/hooks/useLocale.d.ts +2 -0
- package/dist/hooks/useLocale.d.ts.map +1 -0
- package/dist/hooks/useLocale.js +7 -0
- package/dist/hooks/useLocale.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/calendar.d.ts +4 -1
- package/dist/lib/calendar.d.ts.map +1 -1
- package/dist/lib/calendar.js +25 -3
- package/dist/lib/calendar.js.map +1 -1
- package/dist/lib/platform.d.ts +5 -3
- package/dist/lib/platform.d.ts.map +1 -1
- package/dist/lib/platform.js +5 -1
- package/dist/lib/platform.js.map +1 -1
- package/dist/lib/react/defineComponentDisplayNames.d.ts +2 -0
- package/dist/lib/react/defineComponentDisplayNames.d.ts.map +1 -0
- package/dist/lib/react/defineComponentDisplayNames.js +8 -0
- package/dist/lib/react/defineComponentDisplayNames.js.map +1 -0
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +13 -9
- package/src/components/Accordion/Accordion.module.css.d.ts.map +1 -0
- package/src/components/Accordion/Accordion.tsx +12 -5
- package/src/components/Accordion/AccordionContent.tsx +2 -4
- package/src/components/Accordion/AccordionContext.tsx +13 -0
- package/src/components/Accordion/AccordionSummary.tsx +1 -3
- package/src/components/ActionSheet/ActionSheet.module.css.d.ts.map +1 -0
- package/src/components/ActionSheet/ActionSheet.tsx +29 -2
- package/src/components/ActionSheet/ActionSheetContext.ts +23 -0
- package/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx +6 -3
- package/src/components/ActionSheet/types.ts +8 -5
- package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -0
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +40 -8
- package/src/components/ActionSheetItem/helpers.ts +2 -2
- package/src/components/ActionSheetItem/subcomponents/Radio/Radio.module.css.d.ts.map +1 -0
- package/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx +6 -0
- package/src/components/AdaptivityProvider/AdaptivityContext.tsx +12 -4
- package/src/components/Alert/Alert.module.css +2 -2
- package/src/components/Alert/Alert.module.css.d.ts.map +1 -0
- package/src/components/Alert/Alert.tsx +42 -13
- package/src/components/Alert/AlertAction.tsx +6 -0
- package/src/components/Alert/AlertActions.tsx +3 -0
- package/src/components/Alert/AlertBase.tsx +8 -0
- package/src/components/Alert/AlertTypography.tsx +1 -0
- package/src/components/AppRoot/AppRoot.module.css.d.ts.map +1 -0
- package/src/components/AppRoot/AppRoot.tsx +7 -5
- package/src/components/AppRoot/AppRootContext.ts +3 -1
- package/src/components/AppRoot/AppRootPortal.tsx +11 -4
- package/src/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.module.css.d.ts.map +1 -0
- package/src/components/AppRoot/ScrollContext.tsx +6 -5
- package/src/components/AppRoot/types.ts +2 -0
- package/src/components/AspectRatio/AspectRatio.module.css.d.ts.map +1 -0
- package/src/components/AspectRatio/AspectRatio.tsx +4 -1
- package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -0
- package/src/components/Avatar/Avatar.tsx +8 -9
- package/src/components/Avatar/AvatarBadge/AvatarBadge.module.css.d.ts.map +1 -0
- package/src/components/Avatar/AvatarBadge/AvatarBadge.tsx +1 -6
- package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -3
- package/src/components/Avatar/AvatarBadge/icons.tsx +2 -0
- package/src/components/Badge/Badge.module.css.d.ts.map +1 -0
- package/src/components/Badge/Badge.tsx +3 -0
- package/src/components/Banner/Banner.module.css.d.ts.map +1 -0
- package/src/components/Banner/Banner.tsx +8 -5
- package/src/components/Button/Button.module.css.d.ts.map +1 -0
- package/src/components/Button/Button.tsx +27 -0
- package/src/components/ButtonGroup/ButtonGroup.module.css.d.ts.map +1 -0
- package/src/components/ButtonGroup/ButtonGroup.tsx +0 -2
- package/src/components/Calendar/Calendar.module.css.d.ts.map +1 -0
- package/src/components/Calendar/Calendar.tsx +128 -20
- package/src/components/CalendarDay/CalendarDay.module.css.d.ts.map +1 -0
- package/src/components/CalendarDay/CalendarDay.tsx +93 -11
- package/src/components/CalendarDays/CalendarDays.module.css.d.ts.map +1 -0
- package/src/components/CalendarDays/CalendarDays.tsx +165 -48
- package/src/components/CalendarHeader/CalendarHeader.module.css.d.ts.map +1 -0
- package/src/components/CalendarHeader/CalendarHeader.tsx +56 -6
- package/src/components/CalendarRange/CalendarRange.module.css.d.ts.map +1 -0
- package/src/components/CalendarRange/CalendarRange.tsx +62 -13
- package/src/components/CalendarTime/CalendarTime.module.css.d.ts.map +1 -0
- package/src/components/CalendarTime/CalendarTime.tsx +48 -6
- package/src/components/Card/Card.module.css +2 -2
- package/src/components/Card/Card.module.css.d.ts.map +1 -0
- package/src/components/Card/Card.tsx +3 -0
- package/src/components/CardGrid/CardGrid.module.css.d.ts.map +1 -0
- package/src/components/CardGrid/CardGrid.tsx +4 -1
- package/src/components/CardScroll/CardScroll.module.css.d.ts.map +1 -0
- package/src/components/CardScroll/CardScroll.tsx +2 -2
- package/src/components/CarouselBase/Bullets.tsx +4 -3
- package/src/components/CarouselBase/CarouselBase.module.css.d.ts.map +1 -0
- package/src/components/CarouselBase/CarouselBase.tsx +6 -6
- package/src/components/CarouselBase/CarouselViewPort.tsx +3 -2
- package/src/components/CarouselBase/ScrollArrows.tsx +5 -4
- package/src/components/CarouselBase/helpers.ts +3 -2
- package/src/components/CarouselBase/types.ts +22 -20
- package/src/components/Cell/Cell.module.css.d.ts.map +1 -0
- package/src/components/Cell/Cell.tsx +13 -8
- package/src/components/Cell/CellCheckbox/CellCheckbox.module.css.d.ts.map +1 -0
- package/src/components/Cell/CellDragger/CellDragger.module.css.d.ts.map +1 -0
- package/src/components/Cell/CellDragger/CellDragger.tsx +1 -0
- package/src/components/CellButton/CellButton.module.css.d.ts.map +1 -0
- package/src/components/CellButton/CellButton.tsx +3 -0
- package/src/components/CellButtonGroup/CellButtonGroup.tsx +5 -3
- package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.module.css.d.ts.map +1 -0
- package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.tsx +0 -2
- package/src/components/Checkbox/Checkbox.tsx +6 -0
- package/src/components/Checkbox/CheckboxInput/CheckboxInput.module.css.d.ts.map +1 -0
- package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +21 -0
- package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css.d.ts.map +1 -0
- package/src/components/ChipsInput/ChipsInput.tsx +3 -1
- package/src/components/ChipsInput/useChipsInput.ts +53 -19
- package/src/components/ChipsInputBase/Chip/Chip.module.css.d.ts.map +1 -0
- package/src/components/ChipsInputBase/ChipsInputBase.module.css.d.ts.map +1 -0
- package/src/components/ChipsInputBase/types.ts +86 -6
- package/src/components/ChipsSelect/ChipsSelect.module.css.d.ts.map +1 -0
- package/src/components/ChipsSelect/ChipsSelect.tsx +17 -10
- package/src/components/ChipsSelect/types.ts +2 -0
- package/src/components/ChipsSelect/useChipsSelect.ts +17 -6
- package/src/components/Clickable/Clickable.module.css.d.ts.map +1 -0
- package/src/components/Clickable/Clickable.tsx +6 -5
- package/src/components/Clickable/RealClickable.tsx +1 -1
- package/src/components/Clickable/useState.tsx +16 -14
- package/src/components/Clickable/useStateWithDelay.tsx +1 -1
- package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +6 -4
- package/src/components/ConfigProvider/ConfigProvider.tsx +3 -0
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +7 -7
- package/src/components/ConfigProvider/ConfigProviderOverride.tsx +4 -1
- package/src/components/ContentBadge/ContentBadge.module.css.d.ts.map +1 -0
- package/src/components/ContentBadge/ContentBadge.tsx +7 -5
- package/src/components/ContentBadge/ContentBadgeContext.tsx +1 -0
- package/src/components/ContentBadge/ContentBadgeSlotIcon.tsx +1 -3
- package/src/components/ContentCard/ContentCard.module.css.d.ts.map +1 -0
- package/src/components/ContentCard/ContentCard.tsx +12 -9
- package/src/components/Counter/Counter.module.css.d.ts.map +1 -0
- package/src/components/Counter/Counter.tsx +6 -4
- package/src/components/CustomScrollView/CustomScrollView.module.css.d.ts.map +1 -0
- package/src/components/CustomScrollView/CustomScrollView.tsx +14 -5
- package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -0
- package/src/components/CustomSelect/CustomSelect.tsx +57 -13
- package/src/components/CustomSelect/CustomSelectClearButton.tsx +9 -0
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css.d.ts.map +1 -0
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +1 -0
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.module.css.d.ts.map +1 -0
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +4 -2
- package/src/components/CustomSelectOption/CustomSelectOption.module.css.d.ts.map +1 -0
- package/src/components/DateInput/DateInput.module.css.d.ts.map +1 -0
- package/src/components/DateInput/DateInput.tsx +196 -74
- package/src/components/DateInput/hooks.ts +2 -0
- package/src/components/DateRangeInput/DateRangeInput.module.css.d.ts.map +1 -0
- package/src/components/DateRangeInput/DateRangeInput.tsx +42 -6
- package/src/components/DirectionProvider/DirectionProvider.tsx +7 -1
- package/src/components/Div/Div.module.css.d.ts.map +1 -0
- package/src/components/DropZone/DropZone.module.css.d.ts.map +1 -0
- package/src/components/DropZone/DropZone.tsx +11 -3
- package/src/components/DropZone/components/DropZoneGrid.module.css.d.ts.map +1 -0
- package/src/components/DropZone/components/DropZoneGrid.tsx +4 -6
- package/src/components/DropdownIcon/DropdownIcon.tsx +1 -0
- package/src/components/Epic/Epic.module.css.d.ts.map +1 -0
- package/src/components/Epic/Epic.tsx +10 -0
- package/src/components/Epic/ScrollSaver.tsx +1 -0
- package/src/components/FixedLayout/FixedLayout.module.css.d.ts.map +1 -0
- package/src/components/FixedLayout/FixedLayout.tsx +3 -7
- package/src/components/Flex/Flex.module.css.d.ts.map +1 -0
- package/src/components/Flex/FlexItem/FlexItem.module.css.d.ts.map +1 -0
- package/src/components/Flex/FlexItem/FlexItem.tsx +3 -3
- package/src/components/FloatingArrow/DefaultIcon.tsx +1 -1
- package/src/components/FloatingArrow/FloatingArrow.module.css.d.ts.map +1 -0
- package/src/components/FloatingArrow/FloatingArrow.tsx +17 -0
- package/src/components/FocusTrap/FocusTrap.tsx +2 -0
- package/src/components/Footer/Footer.module.css.d.ts.map +1 -0
- package/src/components/FormField/FormField.module.css.d.ts.map +1 -0
- package/src/components/FormField/FormField.tsx +11 -5
- package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +9 -0
- package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -0
- package/src/components/FormItem/FormItem.tsx +24 -10
- package/src/components/FormItem/FormItemTop/FormItemTop.tsx +1 -3
- package/src/components/FormItem/FormItemTop/FormItemTopAside.tsx +1 -6
- package/src/components/FormItem/FormItemTop/FormItemTopLabel.tsx +1 -3
- package/src/components/FormItem/context.ts +2 -0
- package/src/components/FormLayoutGroup/FormLayoutGroup.module.css.d.ts.map +1 -0
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +3 -0
- package/src/components/FormStatus/FormStatus.module.css.d.ts.map +1 -0
- package/src/components/FormStatus/FormStatus.tsx +6 -0
- package/src/components/Gallery/Gallery.tsx +6 -0
- package/src/components/Gallery/hooks.ts +2 -0
- package/src/components/Gradient/Gradient.module.css.d.ts.map +1 -0
- package/src/components/Gradient/Gradient.tsx +2 -2
- package/src/components/GridAvatar/GridAvatar.module.css.d.ts.map +1 -0
- package/src/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css.d.ts.map +1 -0
- package/src/components/Group/Group.module.css.d.ts.map +1 -0
- package/src/components/Group/Group.tsx +14 -5
- package/src/components/Group/GroupContainer.tsx +1 -2
- package/src/components/Group/GroupDescription.tsx +2 -6
- package/src/components/Group/GroupExpandedContent.tsx +5 -8
- package/src/components/Group/GroupHeader.tsx +1 -6
- package/src/components/Header/Header.module.css.d.ts.map +1 -0
- package/src/components/Header/Header.tsx +19 -8
- package/src/components/HorizontalCell/HorizontalCell.module.css.d.ts.map +1 -0
- package/src/components/HorizontalCell/HorizontalCell.tsx +5 -5
- package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css.d.ts.map +1 -0
- package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +3 -3
- package/src/components/HorizontalScroll/HorizontalScroll.module.css.d.ts.map +1 -0
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +26 -15
- package/src/components/IconButton/IconButton.module.css.d.ts.map +1 -0
- package/src/components/IconButton/IconButton.tsx +1 -1
- package/src/components/Image/Image.module.css.d.ts.map +1 -0
- package/src/components/Image/Image.tsx +11 -11
- package/src/components/Image/ImageBadge/ImageBadge.module.css.d.ts.map +1 -0
- package/src/components/Image/ImageBadge/ImageBadge.tsx +1 -6
- package/src/components/ImageBase/ImageBase.module.css.d.ts.map +1 -0
- package/src/components/ImageBase/ImageBase.tsx +14 -15
- package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css.d.ts.map +1 -0
- package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +2 -7
- package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css.d.ts.map +1 -0
- package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +4 -6
- package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css.d.ts.map +1 -0
- package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.tsx +1 -3
- package/src/components/ImageBase/ImageBaseOverlay/types.ts +6 -0
- package/src/components/ImageBase/helpers.ts +3 -3
- package/src/components/ImageBase/types.ts +18 -0
- package/src/components/ImageBase/validators.ts +4 -3
- package/src/components/InfoRow/InfoRow.module.css.d.ts.map +1 -0
- package/src/components/InfoRow/InfoRow.tsx +3 -0
- package/src/components/Input/Input.module.css.d.ts.map +1 -0
- package/src/components/InputLike/InputLike.module.css +1 -1
- package/src/components/InputLike/InputLike.module.css.d.ts.map +1 -0
- package/src/components/InputLike/InputLike.tsx +5 -6
- package/src/components/Link/Link.module.css +2 -4
- package/src/components/Link/Link.module.css.d.ts.map +1 -0
- package/src/components/Link/Link.tsx +4 -6
- package/src/components/List/List.module.css.d.ts.map +1 -0
- package/src/components/List/List.tsx +1 -1
- package/src/components/LocaleProvider/LocaleProvider.tsx +5 -2
- package/src/components/Mark/Mark.module.css.d.ts.map +1 -0
- package/src/components/MiniInfoCell/MiniInfoCell.module.css.d.ts.map +1 -0
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
- package/src/components/ModalCard/ModalCard.module.css.d.ts.map +1 -0
- package/src/components/ModalCard/ModalCardInternal.tsx +1 -0
- package/src/components/ModalCard/types.ts +1 -1
- package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -0
- package/src/components/ModalCardBase/ModalCardBase.tsx +26 -18
- package/src/components/ModalDismissButton/ModalDismissButton.module.css.d.ts.map +1 -0
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +3 -0
- package/src/components/ModalOutlet/ModalOutlet.module.css.d.ts.map +1 -0
- package/src/components/ModalOutlet/ModalOutlet.tsx +2 -0
- package/src/components/ModalOutsideButton/ModalOutsideButton.module.css.d.ts.map +1 -0
- package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +2 -2
- package/src/components/ModalOutsideButtons/ModalOutsideButtons.module.css.d.ts.map +1 -0
- package/src/components/ModalOverlay/ModalOverlay.module.css +1 -1
- package/src/components/ModalOverlay/ModalOverlay.module.css.d.ts.map +1 -0
- package/src/components/ModalOverlay/ModalOverlay.tsx +1 -0
- package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -0
- package/src/components/ModalPage/ModalPageBase.tsx +3 -2
- package/src/components/ModalPage/ModalPageInternal.tsx +1 -0
- package/src/components/ModalPage/types.ts +11 -8
- package/src/components/ModalPageContent/ModalPageContent.module.css.d.ts.map +1 -0
- package/src/components/ModalPageFooter/ModalPageFooter.module.css.d.ts.map +1 -0
- package/src/components/ModalPageFooter/ModalPageFooter.tsx +6 -0
- package/src/components/ModalPageHeader/ModalPageHeader.module.css.d.ts.map +1 -0
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +3 -0
- package/src/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.module.css.d.ts.map +1 -0
- package/src/components/ModalRoot/types.ts +21 -16
- package/src/components/ModalRoot/useModalManager.tsx +2 -0
- package/src/components/ModalRoot/withModalRootContext.tsx +2 -2
- package/src/components/NativeSelect/NativeSelect.tsx +15 -6
- package/src/components/NavTransitionContext/NavTransitionContext.tsx +1 -0
- package/src/components/OnboardingTooltip/OnboardingTooltip.module.css.d.ts.map +1 -0
- package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +2 -2
- package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +8 -1
- package/src/components/OnboardingTooltip/OnboardingTooltipContext.tsx +2 -0
- package/src/components/Pagination/Pagination.module.css.d.ts.map +1 -0
- package/src/components/Pagination/Pagination.tsx +10 -4
- package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +2 -0
- package/src/components/Pagination/PaginationPage/PaginationPage.module.css.d.ts.map +1 -0
- package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +2 -0
- package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -0
- package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +2 -0
- package/src/components/Panel/Panel.module.css.d.ts.map +1 -0
- package/src/components/Panel/Panel.tsx +4 -1
- package/src/components/PanelHeader/PanelHeader.module.css +2 -2
- package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -0
- package/src/components/PanelHeader/PanelHeader.tsx +15 -2
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +6 -0
- package/src/components/PanelHeaderButton/PanelHeaderButton.module.css.d.ts.map +1 -0
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +13 -3
- package/src/components/PanelHeaderContent/PanelHeaderContent.module.css.d.ts.map +1 -0
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +15 -0
- package/src/components/PanelHeaderContext/PanelHeaderContext.module.css +5 -5
- package/src/components/PanelHeaderContext/PanelHeaderContext.module.css.d.ts.map +1 -0
- package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +8 -0
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
- package/src/components/PanelSpinner/PanelSpinner.tsx +9 -2
- package/src/components/Placeholder/Placeholder.module.css.d.ts.map +1 -0
- package/src/components/Placeholder/Placeholder.tsx +5 -5
- package/src/components/PlatformProvider/PlatformProvider.tsx +5 -2
- package/src/components/PopoutWrapper/PopoutWrapper.module.css.d.ts.map +1 -0
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +4 -4
- package/src/components/Popover/Popover.module.css.d.ts.map +1 -0
- package/src/components/Popover/Popover.tsx +7 -4
- package/src/components/Popover/usePopover.tsx +9 -0
- package/src/components/Popper/Popper.module.css.d.ts.map +1 -0
- package/src/components/Popper/Popper.tsx +4 -1
- package/src/components/Progress/Progress.module.css.d.ts.map +1 -0
- package/src/components/Progress/Progress.tsx +6 -3
- package/src/components/PullToRefresh/PullToRefresh.module.css +1 -1
- package/src/components/PullToRefresh/PullToRefresh.module.css.d.ts.map +1 -0
- package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
- package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +2 -0
- package/src/components/Radio/Radio.module.css.d.ts.map +1 -0
- package/src/components/Radio/Radio.tsx +7 -1
- package/src/components/Radio/RadioInput/RadioInput.module.css.d.ts.map +1 -0
- package/src/components/RadioGroup/RadioGroup.module.css.d.ts.map +1 -0
- package/src/components/RadioGroup/RadioGroup.tsx +3 -0
- package/src/components/Removable/Removable.module.css.d.ts.map +1 -0
- package/src/components/Removable/Removable.tsx +12 -8
- package/src/components/RichCell/RichCell.module.css.d.ts.map +1 -0
- package/src/components/RichCell/RichCell.tsx +6 -6
- package/src/components/RichCell/RichCellIcon/RichCellIcon.module.css.d.ts.map +1 -0
- package/src/components/Root/Root.module.css.d.ts.map +1 -0
- package/src/components/Root/Root.tsx +11 -0
- package/src/components/RootComponent/RootComponent.module.css.d.ts.map +1 -0
- package/src/components/RootComponent/RootComponent.tsx +12 -2
- package/src/components/ScreenSpinner/ScreenSpinner.module.css.d.ts.map +1 -0
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +7 -7
- package/src/components/ScreenSpinner/ScreenSpinnerContainer.tsx +1 -4
- package/src/components/ScreenSpinner/ScreenSpinnerLoader.tsx +3 -6
- package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +3 -6
- package/src/components/ScreenSpinner/context.ts +9 -0
- package/src/components/ScreenSpinner/types.tsx +23 -14
- package/src/components/ScrollArrow/ScrollArrow.module.css.d.ts.map +1 -0
- package/src/components/ScrollArrow/ScrollArrow.tsx +5 -2
- package/src/components/Search/Search.module.css.d.ts.map +1 -0
- package/src/components/Search/Search.tsx +24 -6
- package/src/components/SegmentedControl/SegmentedControl.module.css +2 -2
- package/src/components/SegmentedControl/SegmentedControl.module.css.d.ts.map +1 -0
- package/src/components/SegmentedControl/SegmentedControl.tsx +25 -1
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css.d.ts.map +1 -0
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +1 -0
- package/src/components/Select/Select.module.css.d.ts.map +1 -0
- package/src/components/SelectMimicry/SelectMimicry.tsx +9 -0
- package/src/components/SelectTypography/SelectTypography.tsx +2 -0
- package/src/components/SelectionControl/SelectionControl.module.css.d.ts.map +1 -0
- package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css.d.ts.map +1 -0
- package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +1 -0
- package/src/components/Separator/Separator.module.css.d.ts.map +1 -0
- package/src/components/Separator/Separator.tsx +6 -6
- package/src/components/SimpleCell/Chevron/Chevron.tsx +2 -0
- package/src/components/SimpleCell/SimpleCell.module.css.d.ts.map +1 -0
- package/src/components/SimpleCell/SimpleCell.tsx +5 -5
- package/src/components/SimpleGrid/SimpleGrid.module.css.d.ts.map +1 -0
- package/src/components/SimpleGrid/SimpleGrid.tsx +4 -4
- package/src/components/Skeleton/Skeleton.module.css.d.ts.map +1 -0
- package/src/components/Skeleton/Skeleton.tsx +9 -9
- package/src/components/Slider/Slider.module.css.d.ts.map +1 -0
- package/src/components/Slider/Slider.tsx +41 -2
- package/src/components/Slider/SliderThumb/SliderThumb.module.css.d.ts.map +1 -0
- package/src/components/Slider/SliderThumb/SliderThumb.tsx +1 -0
- package/src/components/Slider/types.ts +2 -0
- package/src/components/Snackbar/Snackbar.module.css.d.ts.map +1 -0
- package/src/components/Snackbar/Snackbar.tsx +4 -4
- package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -0
- package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
- package/src/components/Snackbar/types.ts +2 -0
- package/src/components/Spacing/Spacing.module.css.d.ts.map +1 -0
- package/src/components/Spacing/Spacing.tsx +3 -3
- package/src/components/Spinner/Spinner.module.css.d.ts.map +1 -0
- package/src/components/Spinner/Spinner.tsx +14 -4
- package/src/components/Spinner/SpinnerAnimation.tsx +1 -0
- package/src/components/Spinner/icons.tsx +53 -0
- package/src/components/SplitCol/SplitCol.module.css.d.ts.map +1 -0
- package/src/components/SplitCol/SplitCol.tsx +15 -3
- package/src/components/SplitCol/SplitColContext.tsx +2 -0
- package/src/components/SplitLayout/SplitLayout.module.css.d.ts.map +1 -0
- package/src/components/SplitLayout/SplitLayout.tsx +5 -2
- package/src/components/SubnavigationBar/SubnavigationBar.module.css.d.ts.map +1 -0
- package/src/components/SubnavigationBar/SubnavigationBar.tsx +3 -0
- package/src/components/SubnavigationButton/SubnavigationButton.module.css.d.ts.map +1 -0
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +19 -4
- package/src/components/Switch/Switch.module.css +3 -3
- package/src/components/Switch/Switch.module.css.d.ts.map +1 -0
- package/src/components/Tabbar/Tabbar.module.css.d.ts.map +1 -0
- package/src/components/Tabbar/Tabbar.tsx +2 -2
- package/src/components/TabbarItem/TabbarItem.module.css.d.ts.map +1 -0
- package/src/components/TabbarItem/TabbarItem.tsx +5 -2
- package/src/components/Tabs/Tabs.module.css.d.ts.map +1 -0
- package/src/components/Tabs/Tabs.tsx +7 -6
- package/src/components/TabsItem/TabsItem.module.css.d.ts.map +1 -0
- package/src/components/TabsItem/TabsItem.tsx +16 -16
- package/src/components/Tappable/Ripple.tsx +4 -2
- package/src/components/Tappable/Tappable.module.css.d.ts.map +1 -0
- package/src/components/Tappable/Tappable.tsx +13 -1
- package/src/components/Tappable/state.tsx +5 -5
- package/src/components/Textarea/Textarea.module.css.d.ts.map +1 -0
- package/src/components/Textarea/Textarea.tsx +9 -0
- package/src/components/ToolButton/ToolButton.module.css.d.ts.map +1 -0
- package/src/components/ToolButton/ToolButton.tsx +9 -0
- package/src/components/Tooltip/Tooltip.tsx +1 -1
- package/src/components/Tooltip/useTooltip.tsx +9 -0
- package/src/components/TooltipBase/TooltipBase.module.css.d.ts.map +1 -0
- package/src/components/TooltipBase/TooltipBase.tsx +5 -5
- package/src/components/Touch/Touch.tsx +117 -4
- package/src/components/Touch/TouchContext.ts +1 -1
- package/src/components/Typography/Caption/Caption.module.css.d.ts.map +1 -0
- package/src/components/Typography/Caption/Caption.tsx +3 -0
- package/src/components/Typography/DisplayTitle/DisplayTitle.module.css.d.ts.map +1 -0
- package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +3 -0
- package/src/components/Typography/EllipsisText/EllipsisText.module.css.d.ts.map +1 -0
- package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
- package/src/components/Typography/Footnote/Footnote.module.css.d.ts.map +1 -0
- package/src/components/Typography/Headline/Headline.module.css.d.ts.map +1 -0
- package/src/components/Typography/Headline/Headline.tsx +3 -0
- package/src/components/Typography/Paragraph/Paragraph.module.css.d.ts.map +1 -0
- package/src/components/Typography/Subhead/Subhead.module.css.d.ts.map +1 -0
- package/src/components/Typography/Text/Text.module.css.d.ts.map +1 -0
- package/src/components/Typography/Title/Title.module.css.d.ts.map +1 -0
- package/src/components/Typography/Title/Title.tsx +3 -0
- package/src/components/Typography/Typography.module.css.d.ts.map +1 -0
- package/src/components/Typography/Typography.tsx +6 -3
- package/src/components/UnstyledTextField/UnstyledTextField.module.css.d.ts.map +1 -0
- package/src/components/UnstyledTextField/UnstyledTextField.tsx +6 -0
- package/src/components/UsersStack/UsersStack.module.css.d.ts.map +1 -0
- package/src/components/UsersStack/UsersStack.tsx +22 -4
- package/src/components/View/View.module.css +1 -1
- package/src/components/View/View.module.css.d.ts.map +1 -0
- package/src/components/View/View.tsx +15 -4
- package/src/components/View/ViewInfinite.tsx +18 -3
- package/src/components/View/useLayoutEffectCall.tsx +1 -1
- package/src/components/VisuallyHidden/VisuallyHidden.module.css.d.ts.map +1 -0
- package/src/components/WriteBar/WriteBar.module.css.d.ts.map +1 -0
- package/src/components/WriteBar/WriteBar.tsx +7 -5
- package/src/components/WriteBarIcon/WriteBarIcon.module.css.d.ts.map +1 -0
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +2 -2
- package/src/hooks/useCalendar.ts +8 -0
- package/src/hooks/useDateInput.ts +60 -27
- package/src/hooks/useFocusTrap.ts +29 -5
- package/src/hooks/useLocale.ts +7 -0
- package/src/index.ts +1 -0
- package/src/lib/animation/useCSSTransition.stories.module.css.d.ts.map +1 -0
- package/src/lib/calendar.ts +20 -3
- package/src/lib/platform.ts +6 -3
- package/src/lib/react/defineComponentDisplayNames.ts +6 -0
- package/src/lib/tokens/TokensClassProvider.module.css.d.ts.map +1 -0
- package/src/styles/adaptivity.module.css.d.ts.map +1 -0
- package/src/styles/animationFades.module.css.d.ts.map +1 -0
- package/src/styles/common.css.d.ts.map +1 -0
- package/src/styles/constants.css.d.ts.map +1 -0
- package/src/styles/customMedias.generated.css.d.ts.map +1 -0
- package/src/styles/dynamicTokens.css.d.ts.map +1 -0
- package/src/styles/focusVisible.module.css.d.ts.map +1 -0
- package/src/styles/gaps.module.css.d.ts.map +1 -0
- package/src/styles/missedThemeTokens.css.d.ts.map +1 -0
- package/src/styles/spacings.module.css.d.ts.map +1 -0
- package/src/styles/themes.css.d.ts.map +1 -0
- package/src/styles/transformOriginByPlacement.module.css.d.ts.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/UsersStack/UsersStack.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './UsersStack.module.css';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nconst avatarsPositionStyles = {\n 'inline-start': styles.avatarsPositionInlineStart,\n 'inline-end': styles.avatarsPositionInlineEnd,\n 'block-start': styles.avatarsPositionBlockStart,\n};\n\nexport type UsersStackRenderWrapperProps = {\n children: React.ReactElement;\n ['data-src']: string;\n};\n\nexport type UsersStackPhoto = {\n src: string;\n renderWrapper?: (props: UsersStackRenderWrapperProps) => React.ReactElement;\n};\n\nexport interface UsersStackProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Массив ссылок на фотографии либо массив структур типа `UsersStackPhoto`:\n */\n photos?: string[] | UsersStackPhoto[];\n /**\n * Размер аватарок\n */\n size?: 's' | 'm' | 'l';\n /**\n * Количество аватарок, которые будут показаны.\n * Если в массиве `photos` больше элементов и используется размер `m`, то будет показано количество остальных элементов\n */\n visibleCount?: number;\n /**\n * Число, которое будет указано в счетчике.\n * По умолчанию высчитывается по формуле `photos.length - visibleCount`.\n * Если число больше 99, то счетчик скроется.\n */\n count?: number;\n /**\n * Определяет положение аватаров\n * Режим `block-start` рекомендуется использовать с размером `m`\n */\n avatarsPosition?: 'inline-start' | 'block-start' | 'inline-end';\n}\n\ninterface PathElementProps extends React.SVGAttributes<SVGElement> {\n photoSize: number;\n direction: 'circle' | 'right' | 'left';\n}\n\ntype PhotoSizeType = 16 | 24 | 32;\n\nfunction PathElement({ photoSize, direction, ...props }: PathElementProps) {\n switch (direction) {\n case 'circle':\n const radius = photoSize / 2;\n\n return <circle cx={radius} cy={radius} r={radius} {...props} />;\n\n case 'right':\n switch (photoSize) {\n case 16:\n return (\n <path\n d=\"M14,13.285A8 8 0 0 1 8 16A8 8 0 0 1 8 0A8 8 0 0 1 14 2.715A8 8 0 0 0 14,13.285\"\n {...props}\n />\n );\n case 24:\n return (\n <path\n d=\"M22,18.625A12 12 0 0 1 12 24A12 12 0 0 1 12 0A12 12 0 0 1 22 5.375A12 12 0 0 0 22,18.625\"\n {...props}\n />\n );\n\n default:\n return (\n <path\n d=\"M30,23.75A16 16 0 0 1 16 32A16 16 0 0 1 16 0A16 16 0 0 1 30 8.25A16 16 0 0 0 30,23.75\"\n {...props}\n />\n );\n }\n\n default:\n switch (photoSize) {\n case 16:\n return (\n <path\n d=\"M2,13.285A8 8 0 0 0 8 16A8 8 0 0 0 8 0A8 8 0 0 0 2 2.715A8 8 0 0 1 2,13.285\"\n {...props}\n />\n );\n case 24:\n return (\n <path\n d=\"M2,18.625A12 12 0 0 0 12 24A12 12 0 0 0 12 0A12 12 0 0 0 2 5.375A12 12 0 0 1 2,18.625\"\n {...props}\n />\n );\n\n default:\n return (\n <path\n d=\"M2,23.75A16 16 0 0 0 16 32A16 16 0 0 0 16 0A16 16 0 0 0 2 8.25A16 16 0 0 1 2,23.75\"\n {...props}\n />\n );\n }\n }\n}\n\nconst photoSizes: Record<NonNullable<UsersStackProps['size']>, PhotoSizeType> = {\n s: 16,\n m: 24,\n l: 32,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/UsersStack\n */\nexport const UsersStack = ({\n photos = [],\n visibleCount = 3,\n count = Math.max(0, photos.length - visibleCount),\n size = 'm',\n children,\n avatarsPosition = 'inline-start',\n ...restProps\n}: UsersStackProps): React.ReactNode => {\n const cmpId = React.useId();\n const direction = useConfigDirection();\n\n const canShowOthers = count > 0 && count < 100 && size !== 's';\n const CounterTypography = size === 'l' ? Footnote : Caption;\n\n const photoSize = photoSizes[size];\n const directionClip =\n direction === 'ltr' ? (canShowOthers ? 'right' : 'left') : canShowOthers ? 'left' : 'right';\n\n const photosElements = photos.slice(0, visibleCount).map((photo, i) => {\n const direction = i === 0 && !canShowOthers ? 'circle' : directionClip;\n\n const id = `UsersStackDefs${cmpId}${i}`;\n const hrefID = `#${id}`;\n const maskID = `UsersStackMask${cmpId}${i}`;\n\n const isPhotoType = typeof photo === 'object';\n const photoSrc = isPhotoType ? photo.src : photo;\n\n let photoElement = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={classNames(styles.photo, styles.item)}\n aria-hidden\n display=\"block\"\n >\n <defs>\n <PathElement id={id} direction={direction} photoSize={photoSize} />\n </defs>\n <clipPath id={maskID}>\n <use href={hrefID} />\n </clipPath>\n <g clipPath={`url(#${maskID})`}>\n <use href={hrefID} className={styles.fill} />\n <image href={photoSrc} width={photoSize} height={photoSize} />\n <use href={hrefID} fill=\"none\" stroke=\"rgba(0, 0, 0, 0.08)\" />\n </g>\n </svg>\n );\n if (isPhotoType && photo.renderWrapper) {\n photoElement = photo.renderWrapper({\n 'children': photoElement,\n 'data-src': photoSrc,\n });\n }\n\n return (\n <div className={styles.photoWrapper} key={i}>\n {photoElement}\n </div>\n );\n });\n\n const othersElement = canShowOthers ? (\n <div className={styles.photoWrapper}>\n <CounterTypography caps weight=\"1\" className={classNames(styles.item, styles.counter)}>\n +{count}\n </CounterTypography>\n </div>\n ) : null;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n stylesSize[size],\n avatarsPositionStyles[avatarsPosition],\n )}\n >\n {(photosElements.length > 0 || othersElement) && (\n <div className={styles.photos} aria-hidden>\n {photosElements}\n {othersElement}\n </div>\n )}\n {hasReactNode(children) && <Footnote className={styles.text}>{children}</Footnote>}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","useConfigDirection","RootComponent","Caption","Footnote","styles","stylesSize","s","sizeS","m","sizeM","l","sizeL","avatarsPositionStyles","avatarsPositionInlineStart","avatarsPositionInlineEnd","avatarsPositionBlockStart","PathElement","photoSize","direction","props","radius","circle","cx","cy","r","path","d","photoSizes","UsersStack","photos","visibleCount","count","Math","max","length","size","children","avatarsPosition","restProps","cmpId","useId","canShowOthers","CounterTypography","directionClip","photosElements","slice","map","photo","i","id","hrefID","maskID","isPhotoType","photoSrc","src","photoElement","svg","xmlns","className","item","aria-hidden","display","defs","clipPath","use","href","g","fill","image","width","height","stroke","renderWrapper","div","photoWrapper","othersElement","caps","weight","counter","baseClassName","host","text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/UsersStack/UsersStack.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './UsersStack.module.css';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nconst avatarsPositionStyles = {\n 'inline-start': styles.avatarsPositionInlineStart,\n 'inline-end': styles.avatarsPositionInlineEnd,\n 'block-start': styles.avatarsPositionBlockStart,\n};\n\nexport type UsersStackRenderWrapperProps = {\n /**\n * Контент для обертки.\n */\n children: React.ReactElement;\n /**\n * Путь до фотографии.\n */\n ['data-src']: string;\n};\n\nexport type UsersStackPhoto = {\n /**\n * Путь до фотографии.\n */\n src: string;\n /**\n * Функция для рендера обертки над фотографией.\n */\n renderWrapper?: (props: UsersStackRenderWrapperProps) => React.ReactElement;\n};\n\nexport interface UsersStackProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Массив ссылок на фотографии либо массив структур типа `UsersStackPhoto`.\n */\n photos?: string[] | UsersStackPhoto[];\n /**\n * Размер аватарок.\n */\n size?: 's' | 'm' | 'l';\n /**\n * Количество аватарок, которые будут показаны.\n * Если в массиве `photos` больше элементов и используется размер `m`, то будет показано количество остальных элементов.\n */\n visibleCount?: number;\n /**\n * Число, которое будет указано в счетчике.\n * По умолчанию высчитывается по формуле `photos.length - visibleCount`.\n * Если число больше 99, то счетчик скроется.\n */\n count?: number;\n /**\n * Определяет положение аватаров\n * Режим `block-start` рекомендуется использовать с размером `m`.\n */\n avatarsPosition?: 'inline-start' | 'block-start' | 'inline-end';\n}\n\ninterface PathElementProps extends React.SVGAttributes<SVGElement> {\n /**\n * Размер фотографии.\n */\n photoSize: number;\n /**\n * Тип обрезания фотографии.\n */\n direction: 'circle' | 'right' | 'left';\n}\n\ntype PhotoSizeType = 16 | 24 | 32;\n\nfunction PathElement({ photoSize, direction, ...props }: PathElementProps) {\n switch (direction) {\n case 'circle':\n const radius = photoSize / 2;\n\n return <circle cx={radius} cy={radius} r={radius} {...props} />;\n\n case 'right':\n switch (photoSize) {\n case 16:\n return (\n <path\n d=\"M14,13.285A8 8 0 0 1 8 16A8 8 0 0 1 8 0A8 8 0 0 1 14 2.715A8 8 0 0 0 14,13.285\"\n {...props}\n />\n );\n case 24:\n return (\n <path\n d=\"M22,18.625A12 12 0 0 1 12 24A12 12 0 0 1 12 0A12 12 0 0 1 22 5.375A12 12 0 0 0 22,18.625\"\n {...props}\n />\n );\n\n default:\n return (\n <path\n d=\"M30,23.75A16 16 0 0 1 16 32A16 16 0 0 1 16 0A16 16 0 0 1 30 8.25A16 16 0 0 0 30,23.75\"\n {...props}\n />\n );\n }\n\n default:\n switch (photoSize) {\n case 16:\n return (\n <path\n d=\"M2,13.285A8 8 0 0 0 8 16A8 8 0 0 0 8 0A8 8 0 0 0 2 2.715A8 8 0 0 1 2,13.285\"\n {...props}\n />\n );\n case 24:\n return (\n <path\n d=\"M2,18.625A12 12 0 0 0 12 24A12 12 0 0 0 12 0A12 12 0 0 0 2 5.375A12 12 0 0 1 2,18.625\"\n {...props}\n />\n );\n\n default:\n return (\n <path\n d=\"M2,23.75A16 16 0 0 0 16 32A16 16 0 0 0 16 0A16 16 0 0 0 2 8.25A16 16 0 0 1 2,23.75\"\n {...props}\n />\n );\n }\n }\n}\n\nconst photoSizes: Record<NonNullable<UsersStackProps['size']>, PhotoSizeType> = {\n s: 16,\n m: 24,\n l: 32,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/UsersStack\n */\nexport const UsersStack = ({\n photos = [],\n visibleCount = 3,\n count = Math.max(0, photos.length - visibleCount),\n size = 'm',\n children,\n avatarsPosition = 'inline-start',\n ...restProps\n}: UsersStackProps): React.ReactNode => {\n const cmpId = React.useId();\n const direction = useConfigDirection();\n\n const canShowOthers = count > 0 && count < 100 && size !== 's';\n const CounterTypography = size === 'l' ? Footnote : Caption;\n\n const photoSize = photoSizes[size];\n const directionClip =\n direction === 'ltr' ? (canShowOthers ? 'right' : 'left') : canShowOthers ? 'left' : 'right';\n\n const photosElements = photos.slice(0, visibleCount).map((photo, i) => {\n const direction = i === 0 && !canShowOthers ? 'circle' : directionClip;\n\n const id = `UsersStackDefs${cmpId}${i}`;\n const hrefID = `#${id}`;\n const maskID = `UsersStackMask${cmpId}${i}`;\n\n const isPhotoType = typeof photo === 'object';\n const photoSrc = isPhotoType ? photo.src : photo;\n\n let photoElement = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={classNames(styles.photo, styles.item)}\n aria-hidden\n display=\"block\"\n >\n <defs>\n <PathElement id={id} direction={direction} photoSize={photoSize} />\n </defs>\n <clipPath id={maskID}>\n <use href={hrefID} />\n </clipPath>\n <g clipPath={`url(#${maskID})`}>\n <use href={hrefID} className={styles.fill} />\n <image href={photoSrc} width={photoSize} height={photoSize} />\n <use href={hrefID} fill=\"none\" stroke=\"rgba(0, 0, 0, 0.08)\" />\n </g>\n </svg>\n );\n if (isPhotoType && photo.renderWrapper) {\n photoElement = photo.renderWrapper({\n 'children': photoElement,\n 'data-src': photoSrc,\n });\n }\n\n return (\n <div className={styles.photoWrapper} key={i}>\n {photoElement}\n </div>\n );\n });\n\n const othersElement = canShowOthers ? (\n <div className={styles.photoWrapper}>\n <CounterTypography caps weight=\"1\" className={classNames(styles.item, styles.counter)}>\n +{count}\n </CounterTypography>\n </div>\n ) : null;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n stylesSize[size],\n avatarsPositionStyles[avatarsPosition],\n )}\n >\n {(photosElements.length > 0 || othersElement) && (\n <div className={styles.photos} aria-hidden>\n {photosElements}\n {othersElement}\n </div>\n )}\n {hasReactNode(children) && <Footnote className={styles.text}>{children}</Footnote>}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","useConfigDirection","RootComponent","Caption","Footnote","styles","stylesSize","s","sizeS","m","sizeM","l","sizeL","avatarsPositionStyles","avatarsPositionInlineStart","avatarsPositionInlineEnd","avatarsPositionBlockStart","PathElement","photoSize","direction","props","radius","circle","cx","cy","r","path","d","photoSizes","UsersStack","photos","visibleCount","count","Math","max","length","size","children","avatarsPosition","restProps","cmpId","useId","canShowOthers","CounterTypography","directionClip","photosElements","slice","map","photo","i","id","hrefID","maskID","isPhotoType","photoSrc","src","photoElement","svg","xmlns","className","item","aria-hidden","display","defs","clipPath","use","href","g","fill","image","width","height","stroke","renderWrapper","div","photoWrapper","othersElement","caps","weight","counter","baseClassName","host","text"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/View/View.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { blurActiveElement, useDOM } from '../../lib/dom';\nimport { getNavId, type NavIdProps } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { useScroll } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavViewIdContext } from '../NavIdContext/NavIdContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { useSplitCol } from '../SplitCol/SplitColContext';\nimport { type CustomTouchEvent, Touch } from '../Touch/Touch';\nimport { useLayoutEffectCall } from './useLayoutEffectCall';\nimport {\n getSwipeBackPredicates,\n hasHorizontalScrollableElementWithScrolledToLeft,\n swipeBackExcluded,\n} from './utils';\nimport styles from './View.module.css';\n\ninterface Scrolls {\n [index: string]: number | undefined;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport interface ViewProps extends HTMLAttributesWithRootRef<HTMLElement>, NavIdProps {\n activePanel: string;\n onTransition?: (params: { isBack: boolean; from: string; to: string }) => void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?: () => void;\n /**\n * callback начала анимации свайпа назад.\n *\n * Чтобы остановить свайп назад, возвращайте `\"prevent\"`.\n */\n onSwipeBackStart?: (activePanel: string | null) => void | 'prevent';\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?: () => void;\n history?: string[];\n\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nconst warn = warnOnce('View');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/View\n */\nexport const View = ({\n activePanel: activePanelProp,\n history,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel: onSwipeBackCancelProp,\n children,\n className,\n ...restProps\n}: ViewProps): React.ReactNode => {\n const id = getNavId({ nav, id: restProps.id });\n const scrolls = React.useRef(scrollsCache[id as string] || {});\n const layoutEffectCall = useLayoutEffectCall();\n\n React.useEffect(() => () => {\n if (id) {\n scrollsCache[id] = scrolls.current;\n }\n });\n\n const panelNodes = React.useRef<{ [id: string]: HTMLDivElement | null }>({});\n\n const { window, document } = useDOM();\n const scroll = useScroll();\n const configProvider = useConfigProvider();\n const splitCol = useSplitCol();\n const platform = usePlatform();\n\n const [animated, setAnimated] = React.useState(false);\n\n const [visiblePanels, setVisiblePanels] = React.useState([activePanelProp]);\n const [activePanel, setActivePanel] = React.useState<string | null>(activePanelProp);\n const [isBack, setIsBack] = React.useState<boolean | undefined>(undefined);\n const [prevPanel, setPrevPanel] = React.useState<string | null>(null);\n const [nextPanel, setNextPanel] = React.useState<string | null>(null);\n\n const swipeBackPrevented = React.useRef<boolean>(false);\n const [swipingBack, setSwipingBack] = React.useState<boolean | undefined>(undefined);\n const [swipeBackStartX, setSwipeBackStartX] = React.useState<number>(0);\n const [swipeBackShift, setSwipeBackShift] = React.useState<number>(0);\n const [swipeBackNextPanel, setSwipeBackNextPanel] = React.useState<string | null>(null);\n const [swipeBackPrevPanel, setSwipeBackPrevPanel] = React.useState<string | null>(null);\n const [swipeBackResult, setSwipeBackResult] = React.useState<'success' | 'fail' | null>(null);\n\n const [browserSwipe, setBrowserSwipe] = React.useState(false);\n\n const prevActivePanel = usePrevious(activePanelProp);\n const prevSwipingBack = usePrevious(swipingBack);\n const prevBrowserSwipe = usePrevious(browserSwipe);\n const prevSwipeBackResult = usePrevious(swipeBackResult);\n const prevSwipeBackShift = usePrevious(swipeBackShift);\n const prevSwipeBackPrevPanel = usePrevious(swipeBackPrevPanel);\n const prevOnTransition = usePrevious(onTransition);\n\n const panels = (React.Children.toArray(children) as Array<React.ReactElement<NavIdProps>>).filter(\n (panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n },\n );\n\n const disableAnimation =\n !configProvider.transitionMotionEnabled || !splitCol.animate || platform === 'vkcom';\n const iOSSwipeBackSimulationEnabled =\n !disableAnimation && platform === 'ios' && configProvider.isWebView && Boolean(onSwipeBack);\n\n const flushTransition = React.useCallback(\n (prevPanel: string, isBackTransition: boolean) => {\n if (isBackTransition) {\n scrolls.current[prevPanel] = 0;\n }\n setPrevPanel(null);\n setNextPanel(null);\n setVisiblePanels([activePanelProp]);\n setActivePanel(activePanelProp);\n setAnimated(false);\n setIsBack(isBackTransition);\n\n layoutEffectCall(() => {\n scroll?.scrollTo(0, isBackTransition ? scrolls.current[activePanelProp] : 0);\n onTransition &&\n onTransition({\n isBack: isBackTransition,\n from: prevPanel,\n to: activePanelProp,\n });\n });\n },\n [activePanelProp, layoutEffectCall, onTransition, scroll],\n );\n\n const handleAnimatedTargetAnimationEnd = () => {\n if (prevPanel !== null) {\n flushTransition(prevPanel, Boolean(isBack));\n }\n };\n\n const onSwipeBackSuccess = React.useCallback(() => {\n onSwipeBack && onSwipeBack();\n }, [onSwipeBack]);\n\n const onSwipeBackCancel = React.useCallback(() => {\n onSwipeBackCancelProp && onSwipeBackCancelProp();\n setSwipeBackPrevPanel(null);\n setSwipeBackNextPanel(null);\n setSwipingBack(false);\n setSwipeBackResult(null);\n setSwipeBackStartX(0);\n setSwipeBackShift(0);\n }, [onSwipeBackCancelProp]);\n\n const swipingBackTransitionEndHandler = React.useCallback(() => {\n switch (swipeBackResult) {\n case 'fail':\n onSwipeBackCancel();\n break;\n case 'success':\n onSwipeBackSuccess();\n }\n }, [onSwipeBackCancel, onSwipeBackSuccess, swipeBackResult]);\n\n const handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext = (event: CustomTouchEvent) => {\n if (browserSwipe) {\n return;\n }\n const { swipeBackTriggered, viewportStartEdgeTouched, viewportEndEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, window!.innerWidth);\n\n if ((viewportStartEdgeTouched || viewportEndEdgeTouched) && swipeBackTriggered) {\n setBrowserSwipe(true);\n }\n };\n\n const handleTouchMoveXForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {\n if (swipeBackPrevented.current || swipeBackExcluded(event)) {\n return;\n }\n\n const { swipedToOpposite, swipeBackTriggered, viewportStartEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, window!.innerWidth);\n\n if (animated && swipeBackTriggered) {\n return;\n }\n\n if (!swipingBack && history && history.length > 1) {\n if (swipedToOpposite) {\n swipeBackPrevented.current = true;\n return;\n }\n\n if (!swipeBackTriggered) {\n return;\n }\n\n if (\n !viewportStartEdgeTouched &&\n hasHorizontalScrollableElementWithScrolledToLeft(event.originalEvent.target as HTMLElement)\n ) {\n swipeBackPrevented.current = true;\n return;\n }\n // Начался свайп назад\n if (onSwipeBackStart) {\n const payload = onSwipeBackStart(activePanel);\n if (payload === 'prevent') {\n swipeBackPrevented.current = true;\n return;\n }\n }\n\n if (activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n blurActiveElement(document);\n scrolls.current[activePanel] = scroll?.getScroll().y;\n }\n\n setSwipingBack(true);\n setSwipeBackStartX(event.startX);\n setSwipeBackPrevPanel(activePanel);\n setSwipeBackNextPanel(history.slice(-2)[0]);\n }\n\n if (swipingBack) {\n if (event.shiftX < 0) {\n setSwipeBackShift(0);\n } else if (event.shiftX > window!.innerWidth - swipeBackStartX) {\n setSwipeBackShift(window!.innerWidth);\n } else {\n setSwipeBackShift(event.shiftX);\n }\n }\n };\n\n const handleTouchEndForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {\n swipeBackPrevented.current = false;\n if (swipingBack) {\n const speed = (swipeBackShift / event.duration) * 1000;\n if (swipeBackShift === 0) {\n onSwipeBackCancel();\n } else if (swipeBackShift >= (window!.innerWidth ?? 0)) {\n onSwipeBackSuccess();\n } else if (speed > 250 || swipeBackShift >= window!.innerWidth / 2) {\n setSwipeBackResult('success');\n } else {\n setSwipeBackResult('fail');\n }\n }\n };\n\n const calcPanelSwipeStyles = (isPrev: boolean, isNext: boolean): React.CSSProperties => {\n if ((!isPrev && !isNext) || swipeBackResult) {\n return {};\n }\n\n if (isNext) {\n return window\n ? {\n transform: `translate3d(${-50 + (swipeBackShift * 100) / window.innerWidth / 2}%, 0, 0)`,\n }\n : {};\n }\n\n if (isPrev) {\n return { transform: `translate3d(${swipeBackShift}px, 0, 0)` };\n }\n\n return {};\n };\n\n const calcPanelSwipeBackOverlayStyles = (isNext: boolean): React.CSSProperties => {\n if (!window || !isNext) {\n return {};\n }\n const opacityOnSwipeEnd =\n swipeBackResult === 'success' ? 0 : swipeBackResult === 'fail' ? 1 : null;\n\n return {\n display: 'block',\n opacity:\n opacityOnSwipeEnd === null ? 1 - swipeBackShift / window.innerWidth : opacityOnSwipeEnd,\n };\n };\n\n const handleSwipeBackTargetTransitionEnd = (event: React.TransitionEvent<HTMLDivElement>) => {\n if (event.propertyName.includes('transform')) {\n swipingBackTransitionEndHandler();\n }\n };\n\n React.useEffect(() => {\n // Нужен переход\n if (\n prevActivePanel &&\n prevActivePanel !== activePanelProp &&\n !prevSwipingBack &&\n !prevBrowserSwipe\n ) {\n const firstLayerId = (\n React.Children.toArray(children) as Array<React.ReactElement<NavIdProps>>\n )\n .map((panel) => getNavId(panel.props, warn))\n .find((id) => id === prevActivePanel || id === activePanelProp);\n\n const isBackTransition = firstLayerId === activePanelProp;\n scrolls.current[prevActivePanel] = scroll?.getScroll({ compensateKeyboardHeight: false }).y;\n\n if (disableAnimation) {\n flushTransition(prevActivePanel, isBackTransition);\n } else {\n blurActiveElement(document);\n\n setVisiblePanels([prevActivePanel, activePanelProp]);\n setPrevPanel(prevActivePanel);\n setNextPanel(activePanelProp);\n setActivePanel(null);\n setAnimated(true);\n setIsBack(isBackTransition);\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevActivePanel && prevActivePanel !== activePanelProp && prevSwipingBack) {\n const nextPanel = activePanelProp;\n const prevPanel = prevActivePanel;\n if (prevSwipeBackPrevPanel) {\n scrolls.current[prevSwipeBackPrevPanel] = 0;\n }\n\n setSwipeBackPrevPanel(null);\n setSwipeBackNextPanel(null);\n setSwipingBack(false);\n setSwipeBackResult(null);\n setSwipeBackStartX(0);\n setSwipeBackShift(0);\n setActivePanel(nextPanel);\n setVisiblePanels([nextPanel]);\n setIsBack(true);\n\n layoutEffectCall(() => {\n if (nextPanel !== null) {\n scroll?.scrollTo(0, scrolls.current[nextPanel]);\n }\n prevOnTransition &&\n prevOnTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n });\n }\n\n // Началась анимация завершения свайпа назад.\n // см. `onTransitionEnd()`\n\n // Закончился Safari свайп\n if (prevActivePanel !== activePanelProp && browserSwipe) {\n setBrowserSwipe(false);\n setNextPanel(null);\n setPrevPanel(null);\n setAnimated(false);\n setVisiblePanels([activePanelProp]);\n setActivePanel(activePanelProp);\n }\n }, [\n activePanelProp,\n activePanel,\n browserSwipe,\n children,\n disableAnimation,\n document,\n flushTransition,\n prevActivePanel,\n prevBrowserSwipe,\n prevOnTransition,\n prevSwipeBackPrevPanel,\n prevSwipeBackResult,\n prevSwipingBack,\n scroll,\n swipeBackNextPanel,\n swipeBackResult,\n layoutEffectCall,\n ]);\n\n React.useEffect(\n function restoreScrollPositionWhenSwipeBackIsCancelled() {\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n const swipeBackCancelledInTheMiddleOfAction =\n prevSwipeBackResult === 'fail' && !swipeBackResult;\n const swipeBackCancelledByMovingPanelBackToInitialPoint =\n prevSwipingBack && !swipingBack && prevSwipeBackShift === 0;\n\n if (\n (swipeBackCancelledInTheMiddleOfAction ||\n swipeBackCancelledByMovingPanelBackToInitialPoint) &&\n activePanel !== null\n ) {\n scroll?.scrollTo(0, scrolls.current[activePanel]);\n }\n },\n [\n prevSwipeBackResult,\n swipeBackResult,\n prevSwipingBack,\n swipingBack,\n prevSwipeBackShift,\n activePanel,\n scroll,\n ],\n );\n\n return (\n <NavViewIdContext.Provider value={id}>\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles.host,\n platform === 'ios' && classNames(styles.ios, 'vkuiInternalView--ios'),\n !disableAnimation && animated && styles.animated,\n !disableAnimation && swipingBack && styles.swipingBack,\n disableAnimation && styles.noMotion,\n className,\n )}\n onMoveX={\n iOSSwipeBackSimulationEnabled\n ? handleTouchMoveXForIOSSwipeBackSimulation\n : platform === 'ios'\n ? handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext\n : undefined\n }\n onEnd={iOSSwipeBackSimulationEnabled ? handleTouchEndForIOSSwipeBackSimulation : undefined}\n >\n <div className={styles.panels}>\n {panels.map((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n const isPanelActive = panelId === activePanel;\n const isPanelPrev = panelId === prevPanel;\n const isPanelNext = panelId === nextPanel;\n const isAnimatedTarget = animated && (isBack ? isPanelPrev : isPanelNext);\n\n const isSwipeBackPrev = panelId === swipeBackPrevPanel;\n const isSwipeBackNext = panelId === swipeBackNextPanel;\n const isSwipeBackTarget = swipeBackResult && isSwipeBackPrev;\n\n let scrollCompensateStyle: React.CSSProperties | undefined = undefined;\n\n if (isPanelPrev || (isPanelNext && isBack) || isSwipeBackPrev || isSwipeBackNext) {\n const marginTop = scrolls.current[panelId];\n if (marginTop !== undefined) {\n scrollCompensateStyle = { marginTop: -1 * marginTop };\n }\n }\n\n return (\n <div\n className={classNames(\n styles.panel,\n\n isPanelActive && styles.panelActive,\n isPanelPrev && styles.panelPrev,\n isPanelNext && styles.panelNext,\n\n isSwipeBackPrev && styles.panelSwipeBackPrev,\n isSwipeBackNext && styles.panelSwipeBackNext,\n swipeBackResult === 'success' && styles.panelSwipeBackSuccess,\n swipeBackResult === 'fail' && styles.panelSwipeBackFailed,\n )}\n onTransitionEnd={isSwipeBackTarget ? handleSwipeBackTargetTransitionEnd : undefined}\n onAnimationEnd={isAnimatedTarget ? handleAnimatedTargetAnimationEnd : undefined}\n ref={(el) => {\n panelId !== undefined && (panelNodes.current[panelId] = el);\n }}\n style={calcPanelSwipeStyles(isSwipeBackPrev, isSwipeBackNext)}\n key={panelId}\n >\n {platform === 'ios' && (\n <div\n className={styles.panelOverlay}\n style={calcPanelSwipeBackOverlayStyles(isSwipeBackNext)}\n />\n )}\n <div className={styles.panelIn} style={scrollCompensateStyle}>\n <NavTransitionDirectionProvider isBack={swipingBack || isBack}>\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n </NavViewIdContext.Provider>\n );\n};\n"],"names":["React","classNames","usePlatform","usePrevious","blurActiveElement","useDOM","getNavId","warnOnce","useScroll","useConfigProvider","NavViewIdContext","NavTransitionProvider","NavTransitionDirectionProvider","useSplitCol","Touch","useLayoutEffectCall","getSwipeBackPredicates","hasHorizontalScrollableElementWithScrolledToLeft","swipeBackExcluded","styles","scrollsCache","warn","View","activePanel","activePanelProp","history","nav","onTransition","onSwipeBack","onSwipeBackStart","onSwipeBackCancel","onSwipeBackCancelProp","children","className","restProps","id","scrolls","useRef","layoutEffectCall","useEffect","current","panelNodes","window","document","scroll","configProvider","splitCol","platform","animated","setAnimated","useState","visiblePanels","setVisiblePanels","setActivePanel","isBack","setIsBack","undefined","prevPanel","setPrevPanel","nextPanel","setNextPanel","swipeBackPrevented","swipingBack","setSwipingBack","swipeBackStartX","setSwipeBackStartX","swipeBackShift","setSwipeBackShift","swipeBackNextPanel","setSwipeBackNextPanel","swipeBackPrevPanel","setSwipeBackPrevPanel","swipeBackResult","setSwipeBackResult","browserSwipe","setBrowserSwipe","prevActivePanel","prevSwipingBack","prevBrowserSwipe","prevSwipeBackResult","prevSwipeBackShift","prevSwipeBackPrevPanel","prevOnTransition","panels","Children","toArray","filter","panel","panelId","props","includes","disableAnimation","transitionMotionEnabled","animate","iOSSwipeBackSimulationEnabled","isWebView","Boolean","flushTransition","useCallback","isBackTransition","scrollTo","from","to","handleAnimatedTargetAnimationEnd","onSwipeBackSuccess","swipingBackTransitionEndHandler","handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext","event","swipeBackTriggered","viewportStartEdgeTouched","viewportEndEdgeTouched","startX","shiftX","innerWidth","handleTouchMoveXForIOSSwipeBackSimulation","swipedToOpposite","length","originalEvent","target","payload","getScroll","y","slice","handleTouchEndForIOSSwipeBackSimulation","speed","duration","calcPanelSwipeStyles","isPrev","isNext","transform","calcPanelSwipeBackOverlayStyles","opacityOnSwipeEnd","display","opacity","handleSwipeBackTargetTransitionEnd","propertyName","firstLayerId","map","find","compensateKeyboardHeight","restoreScrollPositionWhenSwipeBackIsCancelled","swipeBackCancelledInTheMiddleOfAction","swipeBackCancelledByMovingPanelBackToInitialPoint","Provider","value","Component","host","ios","noMotion","onMoveX","onEnd","div","isPanelActive","isPanelPrev","isPanelNext","isAnimatedTarget","isSwipeBackPrev","isSwipeBackNext","isSwipeBackTarget","scrollCompensateStyle","marginTop","panelActive","panelPrev","panelNext","panelSwipeBackPrev","panelSwipeBackNext","panelSwipeBackSuccess","panelSwipeBackFailed","onTransitionEnd","onAnimationEnd","ref","el","style","panelOverlay","panelIn","entering"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,EAAEC,MAAM,QAAQ,mBAAgB;AAC1D,SAASC,QAAQ,QAAyB,wBAAqB;AAC/D,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,SAAS,QAAQ,8BAA2B;AACrD,SAASC,iBAAiB,QAAQ,6CAA0C;AAC5E,SAASC,gBAAgB,QAAQ,kCAA+B;AAChE,SAASC,qBAAqB,QAAQ,kDAA+C;AACrF,SAASC,8BAA8B,QAAQ,oEAAiE;AAChH,SAASC,WAAW,QAAQ,iCAA8B;AAC1D,SAAgCC,KAAK,QAAQ,oBAAiB;AAC9D,SAASC,mBAAmB,QAAQ,2BAAwB;AAC5D,SACEC,sBAAsB,EACtBC,gDAAgD,EAChDC,iBAAiB,QACZ,aAAU;AACjB,OAAOC,YAAY,oBAAoB;AAUvC,OAAO,IAAIC,eAA6B,CAAC,EAAE;AAwB3C,MAAMC,OAAOd,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMe,OAAO,CAAC,EACnBC,aAAaC,eAAe,EAC5BC,OAAO,EACPC,GAAG,EACHC,YAAY,EACZC,WAAW,EACXC,gBAAgB,EAChBC,mBAAmBC,qBAAqB,EACxCC,QAAQ,EACRC,SAAS,EACT,GAAGC,WACO;IACV,MAAMC,KAAK7B,SAAS;QAAEoB;QAAKS,IAAID,UAAUC,EAAE;IAAC;IAC5C,MAAMC,UAAUpC,MAAMqC,MAAM,CAACjB,YAAY,CAACe,GAAa,IAAI,CAAC;IAC5D,MAAMG,mBAAmBvB;IAEzBf,MAAMuC,SAAS,CAAC,IAAM;YACpB,IAAIJ,IAAI;gBACNf,YAAY,CAACe,GAAG,GAAGC,QAAQI,OAAO;YACpC;QACF;IAEA,MAAMC,aAAazC,MAAMqC,MAAM,CAA0C,CAAC;IAE1E,MAAM,EAAEK,MAAM,EAAEC,QAAQ,EAAE,GAAGtC;IAC7B,MAAMuC,SAASpC;IACf,MAAMqC,iBAAiBpC;IACvB,MAAMqC,WAAWjC;IACjB,MAAMkC,WAAW7C;IAEjB,MAAM,CAAC8C,UAAUC,YAAY,GAAGjD,MAAMkD,QAAQ,CAAC;IAE/C,MAAM,CAACC,eAAeC,iBAAiB,GAAGpD,MAAMkD,QAAQ,CAAC;QAAC1B;KAAgB;IAC1E,MAAM,CAACD,aAAa8B,eAAe,GAAGrD,MAAMkD,QAAQ,CAAgB1B;IACpE,MAAM,CAAC8B,QAAQC,UAAU,GAAGvD,MAAMkD,QAAQ,CAAsBM;IAChE,MAAM,CAACC,WAAWC,aAAa,GAAG1D,MAAMkD,QAAQ,CAAgB;IAChE,MAAM,CAACS,WAAWC,aAAa,GAAG5D,MAAMkD,QAAQ,CAAgB;IAEhE,MAAMW,qBAAqB7D,MAAMqC,MAAM,CAAU;IACjD,MAAM,CAACyB,aAAaC,eAAe,GAAG/D,MAAMkD,QAAQ,CAAsBM;IAC1E,MAAM,CAACQ,iBAAiBC,mBAAmB,GAAGjE,MAAMkD,QAAQ,CAAS;IACrE,MAAM,CAACgB,gBAAgBC,kBAAkB,GAAGnE,MAAMkD,QAAQ,CAAS;IACnE,MAAM,CAACkB,oBAAoBC,sBAAsB,GAAGrE,MAAMkD,QAAQ,CAAgB;IAClF,MAAM,CAACoB,oBAAoBC,sBAAsB,GAAGvE,MAAMkD,QAAQ,CAAgB;IAClF,MAAM,CAACsB,iBAAiBC,mBAAmB,GAAGzE,MAAMkD,QAAQ,CAA4B;IAExF,MAAM,CAACwB,cAAcC,gBAAgB,GAAG3E,MAAMkD,QAAQ,CAAC;IAEvD,MAAM0B,kBAAkBzE,YAAYqB;IACpC,MAAMqD,kBAAkB1E,YAAY2D;IACpC,MAAMgB,mBAAmB3E,YAAYuE;IACrC,MAAMK,sBAAsB5E,YAAYqE;IACxC,MAAMQ,qBAAqB7E,YAAY+D;IACvC,MAAMe,yBAAyB9E,YAAYmE;IAC3C,MAAMY,mBAAmB/E,YAAYwB;IAErC,MAAMwD,SAAS,AAACnF,MAAMoF,QAAQ,CAACC,OAAO,CAACrD,UAAoDsD,MAAM,CAC/F,CAACC;QACC,MAAMC,UAAUlF,SAASiF,MAAME,KAAK,EAAEpE;QAEtC,OACE,AAACmE,YAAYhC,aAAaL,cAAcuC,QAAQ,CAACF,YACjDA,YAAYlB,sBACZkB,YAAYpB;IAEhB;IAGF,MAAMuB,mBACJ,CAAC9C,eAAe+C,uBAAuB,IAAI,CAAC9C,SAAS+C,OAAO,IAAI9C,aAAa;IAC/E,MAAM+C,gCACJ,CAACH,oBAAoB5C,aAAa,SAASF,eAAekD,SAAS,IAAIC,QAAQpE;IAEjF,MAAMqE,kBAAkBjG,MAAMkG,WAAW,CACvC,CAACzC,WAAmB0C;QAClB,IAAIA,kBAAkB;YACpB/D,QAAQI,OAAO,CAACiB,UAAU,GAAG;QAC/B;QACAC,aAAa;QACbE,aAAa;QACbR,iBAAiB;YAAC5B;SAAgB;QAClC6B,eAAe7B;QACfyB,YAAY;QACZM,UAAU4C;QAEV7D,iBAAiB;YACfM,QAAQwD,SAAS,GAAGD,mBAAmB/D,QAAQI,OAAO,CAAChB,gBAAgB,GAAG;YAC1EG,gBACEA,aAAa;gBACX2B,QAAQ6C;gBACRE,MAAM5C;gBACN6C,IAAI9E;YACN;QACJ;IACF,GACA;QAACA;QAAiBc;QAAkBX;QAAciB;KAAO;IAG3D,MAAM2D,mCAAmC;QACvC,IAAI9C,cAAc,MAAM;YACtBwC,gBAAgBxC,WAAWuC,QAAQ1C;QACrC;IACF;IAEA,MAAMkD,qBAAqBxG,MAAMkG,WAAW,CAAC;QAC3CtE,eAAeA;IACjB,GAAG;QAACA;KAAY;IAEhB,MAAME,oBAAoB9B,MAAMkG,WAAW,CAAC;QAC1CnE,yBAAyBA;QACzBwC,sBAAsB;QACtBF,sBAAsB;QACtBN,eAAe;QACfU,mBAAmB;QACnBR,mBAAmB;QACnBE,kBAAkB;IACpB,GAAG;QAACpC;KAAsB;IAE1B,MAAM0E,kCAAkCzG,MAAMkG,WAAW,CAAC;QACxD,OAAQ1B;YACN,KAAK;gBACH1C;gBACA;YACF,KAAK;gBACH0E;QACJ;IACF,GAAG;QAAC1E;QAAmB0E;QAAoBhC;KAAgB;IAE3D,MAAMkC,mDAAmD,CAACC;QACxD,IAAIjC,cAAc;YAChB;QACF;QACA,MAAM,EAAEkC,kBAAkB,EAAEC,wBAAwB,EAAEC,sBAAsB,EAAE,GAC5E9F,uBAAuB2F,MAAMI,MAAM,EAAEJ,MAAMK,MAAM,EAAEtE,OAAQuE,UAAU;QAEvE,IAAI,AAACJ,CAAAA,4BAA4BC,sBAAqB,KAAMF,oBAAoB;YAC9EjC,gBAAgB;QAClB;IACF;IAEA,MAAMuC,4CAA4C,CAACP;QACjD,IAAI9C,mBAAmBrB,OAAO,IAAItB,kBAAkByF,QAAQ;YAC1D;QACF;QAEA,MAAM,EAAEQ,gBAAgB,EAAEP,kBAAkB,EAAEC,wBAAwB,EAAE,GACtE7F,uBAAuB2F,MAAMI,MAAM,EAAEJ,MAAMK,MAAM,EAAEtE,OAAQuE,UAAU;QAEvE,IAAIjE,YAAY4D,oBAAoB;YAClC;QACF;QAEA,IAAI,CAAC9C,eAAerC,WAAWA,QAAQ2F,MAAM,GAAG,GAAG;YACjD,IAAID,kBAAkB;gBACpBtD,mBAAmBrB,OAAO,GAAG;gBAC7B;YACF;YAEA,IAAI,CAACoE,oBAAoB;gBACvB;YACF;YAEA,IACE,CAACC,4BACD5F,iDAAiD0F,MAAMU,aAAa,CAACC,MAAM,GAC3E;gBACAzD,mBAAmBrB,OAAO,GAAG;gBAC7B;YACF;YACA,sBAAsB;YACtB,IAAIX,kBAAkB;gBACpB,MAAM0F,UAAU1F,iBAAiBN;gBACjC,IAAIgG,YAAY,WAAW;oBACzB1D,mBAAmBrB,OAAO,GAAG;oBAC7B;gBACF;YACF;YAEA,IAAIjB,gBAAgB,MAAM;gBACxB,+EAA+E;gBAC/EnB,kBAAkBuC;gBAClBP,QAAQI,OAAO,CAACjB,YAAY,GAAGqB,QAAQ4E,YAAYC;YACrD;YAEA1D,eAAe;YACfE,mBAAmB0C,MAAMI,MAAM;YAC/BxC,sBAAsBhD;YACtB8C,sBAAsB5C,QAAQiG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;QAC5C;QAEA,IAAI5D,aAAa;YACf,IAAI6C,MAAMK,MAAM,GAAG,GAAG;gBACpB7C,kBAAkB;YACpB,OAAO,IAAIwC,MAAMK,MAAM,GAAGtE,OAAQuE,UAAU,GAAGjD,iBAAiB;gBAC9DG,kBAAkBzB,OAAQuE,UAAU;YACtC,OAAO;gBACL9C,kBAAkBwC,MAAMK,MAAM;YAChC;QACF;IACF;IAEA,MAAMW,0CAA0C,CAAChB;QAC/C9C,mBAAmBrB,OAAO,GAAG;QAC7B,IAAIsB,aAAa;YACf,MAAM8D,QAAQ,AAAC1D,iBAAiByC,MAAMkB,QAAQ,GAAI;YAClD,IAAI3D,mBAAmB,GAAG;gBACxBpC;YACF,OAAO,IAAIoC,kBAAmBxB,CAAAA,OAAQuE,UAAU,IAAI,CAAA,GAAI;gBACtDT;YACF,OAAO,IAAIoB,QAAQ,OAAO1D,kBAAkBxB,OAAQuE,UAAU,GAAG,GAAG;gBAClExC,mBAAmB;YACrB,OAAO;gBACLA,mBAAmB;YACrB;QACF;IACF;IAEA,MAAMqD,uBAAuB,CAACC,QAAiBC;QAC7C,IAAI,AAAC,CAACD,UAAU,CAACC,UAAWxD,iBAAiB;YAC3C,OAAO,CAAC;QACV;QAEA,IAAIwD,QAAQ;YACV,OAAOtF,SACH;gBACEuF,WAAW,CAAC,YAAY,EAAE,CAAC,KAAK,AAAC/D,iBAAiB,MAAOxB,OAAOuE,UAAU,GAAG,EAAE,QAAQ,CAAC;YAC1F,IACA,CAAC;QACP;QAEA,IAAIc,QAAQ;YACV,OAAO;gBAAEE,WAAW,CAAC,YAAY,EAAE/D,eAAe,SAAS,CAAC;YAAC;QAC/D;QAEA,OAAO,CAAC;IACV;IAEA,MAAMgE,kCAAkC,CAACF;QACvC,IAAI,CAACtF,UAAU,CAACsF,QAAQ;YACtB,OAAO,CAAC;QACV;QACA,MAAMG,oBACJ3D,oBAAoB,YAAY,IAAIA,oBAAoB,SAAS,IAAI;QAEvE,OAAO;YACL4D,SAAS;YACTC,SACEF,sBAAsB,OAAO,IAAIjE,iBAAiBxB,OAAOuE,UAAU,GAAGkB;QAC1E;IACF;IAEA,MAAMG,qCAAqC,CAAC3B;QAC1C,IAAIA,MAAM4B,YAAY,CAAC7C,QAAQ,CAAC,cAAc;YAC5Ce;QACF;IACF;IAEAzG,MAAMuC,SAAS,CAAC;QACd,gBAAgB;QAChB,IACEqC,mBACAA,oBAAoBpD,mBACpB,CAACqD,mBACD,CAACC,kBACD;YACA,MAAM0D,eAAe,AACnBxI,MAAMoF,QAAQ,CAACC,OAAO,CAACrD,UAEtByG,GAAG,CAAC,CAAClD,QAAUjF,SAASiF,MAAME,KAAK,EAAEpE,OACrCqH,IAAI,CAAC,CAACvG,KAAOA,OAAOyC,mBAAmBzC,OAAOX;YAEjD,MAAM2E,mBAAmBqC,iBAAiBhH;YAC1CY,QAAQI,OAAO,CAACoC,gBAAgB,GAAGhC,QAAQ4E,UAAU;gBAAEmB,0BAA0B;YAAM,GAAGlB;YAE1F,IAAI9B,kBAAkB;gBACpBM,gBAAgBrB,iBAAiBuB;YACnC,OAAO;gBACL/F,kBAAkBuC;gBAElBS,iBAAiB;oBAACwB;oBAAiBpD;iBAAgB;gBACnDkC,aAAakB;gBACbhB,aAAapC;gBACb6B,eAAe;gBACfJ,YAAY;gBACZM,UAAU4C;YACZ;QACF;QAEA,oCAAoC;QACpC,IAAIvB,mBAAmBA,oBAAoBpD,mBAAmBqD,iBAAiB;YAC7E,MAAMlB,YAAYnC;YAClB,MAAMiC,YAAYmB;YAClB,IAAIK,wBAAwB;gBAC1B7C,QAAQI,OAAO,CAACyC,uBAAuB,GAAG;YAC5C;YAEAV,sBAAsB;YACtBF,sBAAsB;YACtBN,eAAe;YACfU,mBAAmB;YACnBR,mBAAmB;YACnBE,kBAAkB;YAClBd,eAAeM;YACfP,iBAAiB;gBAACO;aAAU;YAC5BJ,UAAU;YAEVjB,iBAAiB;gBACf,IAAIqB,cAAc,MAAM;oBACtBf,QAAQwD,SAAS,GAAGhE,QAAQI,OAAO,CAACmB,UAAU;gBAChD;gBACAuB,oBACEA,iBAAiB;oBACf5B,QAAQ;oBACR+C,MAAM5C;oBACN6C,IAAI3C;gBACN;YACJ;QACF;QAEA,6CAA6C;QAC7C,0BAA0B;QAE1B,0BAA0B;QAC1B,IAAIiB,oBAAoBpD,mBAAmBkD,cAAc;YACvDC,gBAAgB;YAChBf,aAAa;YACbF,aAAa;YACbT,YAAY;YACZG,iBAAiB;gBAAC5B;aAAgB;YAClC6B,eAAe7B;QACjB;IACF,GAAG;QACDA;QACAD;QACAmD;QACA1C;QACA2D;QACAhD;QACAsD;QACArB;QACAE;QACAI;QACAD;QACAF;QACAF;QACAjC;QACAwB;QACAI;QACAlC;KACD;IAEDtC,MAAMuC,SAAS,CACb,SAASqG;QACP,+EAA+E;QAC/E,MAAMC,wCACJ9D,wBAAwB,UAAU,CAACP;QACrC,MAAMsE,oDACJjE,mBAAmB,CAACf,eAAekB,uBAAuB;QAE5D,IACE,AAAC6D,CAAAA,yCACCC,iDAAgD,KAClDvH,gBAAgB,MAChB;YACAqB,QAAQwD,SAAS,GAAGhE,QAAQI,OAAO,CAACjB,YAAY;QAClD;IACF,GACA;QACEwD;QACAP;QACAK;QACAf;QACAkB;QACAzD;QACAqB;KACD;IAGH,qBACE,KAAClC,iBAAiBqI,QAAQ;QAACC,OAAO7G;kBAChC,cAAA,KAACrB;YACCmI,WAAU;YACT,GAAG/G,SAAS;YACbD,WAAWhC,WACTkB,OAAO+H,IAAI,EACXnG,aAAa,SAAS9C,WAAWkB,OAAOgI,GAAG,EAAE,0BAC7C,CAACxD,oBAAoB3C,YAAY7B,OAAO6B,QAAQ,EAChD,CAAC2C,oBAAoB7B,eAAe3C,OAAO2C,WAAW,EACtD6B,oBAAoBxE,OAAOiI,QAAQ,EACnCnH;YAEFoH,SACEvD,gCACIoB,4CACAnE,aAAa,QACX2D,mDACAlD;YAER8F,OAAOxD,gCAAgC6B,0CAA0CnE;sBAEjF,cAAA,KAAC+F;gBAAItH,WAAWd,OAAOgE,MAAM;0BAC1BA,OAAOsD,GAAG,CAAC,CAAClD;oBACX,MAAMC,UAAUlF,SAASiF,MAAME,KAAK,EAAEpE;oBAEtC,MAAMmI,gBAAgBhE,YAAYjE;oBAClC,MAAMkI,cAAcjE,YAAY/B;oBAChC,MAAMiG,cAAclE,YAAY7B;oBAChC,MAAMgG,mBAAmB3G,YAAaM,CAAAA,SAASmG,cAAcC,WAAU;oBAEvE,MAAME,kBAAkBpE,YAAYlB;oBACpC,MAAMuF,kBAAkBrE,YAAYpB;oBACpC,MAAM0F,oBAAoBtF,mBAAmBoF;oBAE7C,IAAIG,wBAAyDvG;oBAE7D,IAAIiG,eAAgBC,eAAepG,UAAWsG,mBAAmBC,iBAAiB;wBAChF,MAAMG,YAAY5H,QAAQI,OAAO,CAACgD,QAAQ;wBAC1C,IAAIwE,cAAcxG,WAAW;4BAC3BuG,wBAAwB;gCAAEC,WAAW,CAAC,IAAIA;4BAAU;wBACtD;oBACF;oBAEA,qBACE,MAACT;wBACCtH,WAAWhC,WACTkB,OAAOoE,KAAK,EAEZiE,iBAAiBrI,OAAO8I,WAAW,EACnCR,eAAetI,OAAO+I,SAAS,EAC/BR,eAAevI,OAAOgJ,SAAS,EAE/BP,mBAAmBzI,OAAOiJ,kBAAkB,EAC5CP,mBAAmB1I,OAAOkJ,kBAAkB,EAC5C7F,oBAAoB,aAAarD,OAAOmJ,qBAAqB,EAC7D9F,oBAAoB,UAAUrD,OAAOoJ,oBAAoB;wBAE3DC,iBAAiBV,oBAAoBxB,qCAAqC9E;wBAC1EiH,gBAAgBd,mBAAmBpD,mCAAmC/C;wBACtEkH,KAAK,CAACC;4BACJnF,YAAYhC,aAAcf,CAAAA,WAAWD,OAAO,CAACgD,QAAQ,GAAGmF,EAAC;wBAC3D;wBACAC,OAAO9C,qBAAqB8B,iBAAiBC;;4BAG5C9G,aAAa,uBACZ,KAACwG;gCACCtH,WAAWd,OAAO0J,YAAY;gCAC9BD,OAAO1C,gCAAgC2B;;0CAG3C,KAACN;gCAAItH,WAAWd,OAAO2J,OAAO;gCAAEF,OAAOb;0CACrC,cAAA,KAACnJ;oCAA+B0C,QAAQQ,eAAeR;8CACrD,cAAA,KAAC3C;wCACCoK,UAAUvF,YAAY7B,aAAa6B,YAAYpB;kDAE9CmB;;;;;uBAbFC;gBAmBX;;;;AAKV,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/View/View.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { blurActiveElement, useDOM } from '../../lib/dom';\nimport { getNavId, type NavIdProps } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { useScroll } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavViewIdContext } from '../NavIdContext/NavIdContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { useSplitCol } from '../SplitCol/SplitColContext';\nimport { type CustomTouchEvent, Touch } from '../Touch/Touch';\nimport { useLayoutEffectCall } from './useLayoutEffectCall';\nimport {\n getSwipeBackPredicates,\n hasHorizontalScrollableElementWithScrolledToLeft,\n swipeBackExcluded,\n} from './utils';\nimport styles from './View.module.css';\n\ninterface Scrolls {\n [index: string]: number | undefined;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport interface ViewProps extends HTMLAttributesWithRootRef<HTMLElement>, NavIdProps {\n /**\n * `id` активной панели.\n */\n activePanel: string;\n /**\n * Обработчик, который вызывается при завершении анимации смены активной панели.\n */\n onTransition?: (params: { isBack: boolean; from: string; to: string }) => void;\n /**\n * Обработчик свайпа назад.\n */\n onSwipeBack?: () => void;\n /**\n * Обработчик начала анимации свайпа назад.\n *\n * Чтобы остановить свайп назад, возвращайте `\"prevent\"`.\n */\n onSwipeBackStart?: (activePanel: string | null) => void | 'prevent';\n /**\n * Обработчик завершения анимации отмененного пользователем свайпа.\n */\n onSwipeBackCancel?: () => void;\n /**\n * Массив из id панелей в порядке открытия.\n */\n history?: string[];\n /**\n * Коллекция Panel. У каждой Panel должен быть уникальный `id`.\n */\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nconst warn = warnOnce('View');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/View\n */\nexport const View = ({\n activePanel: activePanelProp,\n history,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel: onSwipeBackCancelProp,\n children,\n className,\n ...restProps\n}: ViewProps): React.ReactNode => {\n const id = getNavId({ nav, id: restProps.id });\n const scrolls = React.useRef(scrollsCache[id as string] || {});\n const layoutEffectCall = useLayoutEffectCall();\n\n React.useEffect(() => () => {\n if (id) {\n scrollsCache[id] = scrolls.current;\n }\n });\n\n const panelNodes = React.useRef<{ [id: string]: HTMLDivElement | null }>({});\n\n const { window, document } = useDOM();\n const scroll = useScroll();\n const configProvider = useConfigProvider();\n const splitCol = useSplitCol();\n const platform = usePlatform();\n\n const [animated, setAnimated] = React.useState(false);\n\n const [visiblePanels, setVisiblePanels] = React.useState([activePanelProp]);\n const [activePanel, setActivePanel] = React.useState<string | null>(activePanelProp);\n const [isBack, setIsBack] = React.useState<boolean | undefined>(undefined);\n const [prevPanel, setPrevPanel] = React.useState<string | null>(null);\n const [nextPanel, setNextPanel] = React.useState<string | null>(null);\n\n const swipeBackPrevented = React.useRef<boolean>(false);\n const [swipingBack, setSwipingBack] = React.useState<boolean | undefined>(undefined);\n const [swipeBackStartX, setSwipeBackStartX] = React.useState<number>(0);\n const [swipeBackShift, setSwipeBackShift] = React.useState<number>(0);\n const [swipeBackNextPanel, setSwipeBackNextPanel] = React.useState<string | null>(null);\n const [swipeBackPrevPanel, setSwipeBackPrevPanel] = React.useState<string | null>(null);\n const [swipeBackResult, setSwipeBackResult] = React.useState<'success' | 'fail' | null>(null);\n\n const [browserSwipe, setBrowserSwipe] = React.useState(false);\n\n const prevActivePanel = usePrevious(activePanelProp);\n const prevSwipingBack = usePrevious(swipingBack);\n const prevBrowserSwipe = usePrevious(browserSwipe);\n const prevSwipeBackResult = usePrevious(swipeBackResult);\n const prevSwipeBackShift = usePrevious(swipeBackShift);\n const prevSwipeBackPrevPanel = usePrevious(swipeBackPrevPanel);\n const prevOnTransition = usePrevious(onTransition);\n\n const panels = (React.Children.toArray(children) as Array<React.ReactElement<NavIdProps>>).filter(\n (panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n },\n );\n\n const disableAnimation =\n !configProvider.transitionMotionEnabled || !splitCol.animate || platform === 'vkcom';\n const iOSSwipeBackSimulationEnabled =\n !disableAnimation && platform === 'ios' && configProvider.isWebView && Boolean(onSwipeBack);\n\n const flushTransition = React.useCallback(\n (prevPanel: string, isBackTransition: boolean) => {\n if (isBackTransition) {\n scrolls.current[prevPanel] = 0;\n }\n setPrevPanel(null);\n setNextPanel(null);\n setVisiblePanels([activePanelProp]);\n setActivePanel(activePanelProp);\n setAnimated(false);\n setIsBack(isBackTransition);\n\n layoutEffectCall(() => {\n scroll?.scrollTo(0, isBackTransition ? scrolls.current[activePanelProp] : 0);\n onTransition &&\n onTransition({\n isBack: isBackTransition,\n from: prevPanel,\n to: activePanelProp,\n });\n });\n },\n [activePanelProp, layoutEffectCall, onTransition, scroll],\n );\n\n const handleAnimatedTargetAnimationEnd = () => {\n if (prevPanel !== null) {\n flushTransition(prevPanel, Boolean(isBack));\n }\n };\n\n const onSwipeBackSuccess = React.useCallback(() => {\n onSwipeBack && onSwipeBack();\n }, [onSwipeBack]);\n\n const onSwipeBackCancel = React.useCallback(() => {\n onSwipeBackCancelProp && onSwipeBackCancelProp();\n setSwipeBackPrevPanel(null);\n setSwipeBackNextPanel(null);\n setSwipingBack(false);\n setSwipeBackResult(null);\n setSwipeBackStartX(0);\n setSwipeBackShift(0);\n }, [onSwipeBackCancelProp]);\n\n const swipingBackTransitionEndHandler = React.useCallback(() => {\n switch (swipeBackResult) {\n case 'fail':\n onSwipeBackCancel();\n break;\n case 'success':\n onSwipeBackSuccess();\n }\n }, [onSwipeBackCancel, onSwipeBackSuccess, swipeBackResult]);\n\n const handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext = (event: CustomTouchEvent) => {\n if (browserSwipe) {\n return;\n }\n const { swipeBackTriggered, viewportStartEdgeTouched, viewportEndEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, window!.innerWidth);\n\n if ((viewportStartEdgeTouched || viewportEndEdgeTouched) && swipeBackTriggered) {\n setBrowserSwipe(true);\n }\n };\n\n const handleTouchMoveXForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {\n if (swipeBackPrevented.current || swipeBackExcluded(event)) {\n return;\n }\n\n const { swipedToOpposite, swipeBackTriggered, viewportStartEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, window!.innerWidth);\n\n if (animated && swipeBackTriggered) {\n return;\n }\n\n if (!swipingBack && history && history.length > 1) {\n if (swipedToOpposite) {\n swipeBackPrevented.current = true;\n return;\n }\n\n if (!swipeBackTriggered) {\n return;\n }\n\n if (\n !viewportStartEdgeTouched &&\n hasHorizontalScrollableElementWithScrolledToLeft(event.originalEvent.target as HTMLElement)\n ) {\n swipeBackPrevented.current = true;\n return;\n }\n // Начался свайп назад\n if (onSwipeBackStart) {\n const payload = onSwipeBackStart(activePanel);\n if (payload === 'prevent') {\n swipeBackPrevented.current = true;\n return;\n }\n }\n\n if (activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n blurActiveElement(document);\n scrolls.current[activePanel] = scroll?.getScroll().y;\n }\n\n setSwipingBack(true);\n setSwipeBackStartX(event.startX);\n setSwipeBackPrevPanel(activePanel);\n setSwipeBackNextPanel(history.slice(-2)[0]);\n }\n\n if (swipingBack) {\n if (event.shiftX < 0) {\n setSwipeBackShift(0);\n } else if (event.shiftX > window!.innerWidth - swipeBackStartX) {\n setSwipeBackShift(window!.innerWidth);\n } else {\n setSwipeBackShift(event.shiftX);\n }\n }\n };\n\n const handleTouchEndForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {\n swipeBackPrevented.current = false;\n if (swipingBack) {\n const speed = (swipeBackShift / event.duration) * 1000;\n if (swipeBackShift === 0) {\n onSwipeBackCancel();\n } else if (swipeBackShift >= (window!.innerWidth ?? 0)) {\n onSwipeBackSuccess();\n } else if (speed > 250 || swipeBackShift >= window!.innerWidth / 2) {\n setSwipeBackResult('success');\n } else {\n setSwipeBackResult('fail');\n }\n }\n };\n\n const calcPanelSwipeStyles = (isPrev: boolean, isNext: boolean): React.CSSProperties => {\n if ((!isPrev && !isNext) || swipeBackResult) {\n return {};\n }\n\n if (isNext) {\n return window\n ? {\n transform: `translate3d(${-50 + (swipeBackShift * 100) / window.innerWidth / 2}%, 0, 0)`,\n }\n : {};\n }\n\n if (isPrev) {\n return { transform: `translate3d(${swipeBackShift}px, 0, 0)` };\n }\n\n return {};\n };\n\n const calcPanelSwipeBackOverlayStyles = (isNext: boolean): React.CSSProperties => {\n if (!window || !isNext) {\n return {};\n }\n const opacityOnSwipeEnd =\n swipeBackResult === 'success' ? 0 : swipeBackResult === 'fail' ? 1 : null;\n\n return {\n display: 'block',\n opacity:\n opacityOnSwipeEnd === null ? 1 - swipeBackShift / window.innerWidth : opacityOnSwipeEnd,\n };\n };\n\n const handleSwipeBackTargetTransitionEnd = (event: React.TransitionEvent<HTMLDivElement>) => {\n if (event.propertyName.includes('transform')) {\n swipingBackTransitionEndHandler();\n }\n };\n\n React.useEffect(() => {\n // Нужен переход\n if (\n prevActivePanel &&\n prevActivePanel !== activePanelProp &&\n !prevSwipingBack &&\n !prevBrowserSwipe\n ) {\n const firstLayerId = (\n React.Children.toArray(children) as Array<React.ReactElement<NavIdProps>>\n )\n .map((panel) => getNavId(panel.props, warn))\n .find((id) => id === prevActivePanel || id === activePanelProp);\n\n const isBackTransition = firstLayerId === activePanelProp;\n scrolls.current[prevActivePanel] = scroll?.getScroll({ compensateKeyboardHeight: false }).y;\n\n if (disableAnimation) {\n flushTransition(prevActivePanel, isBackTransition);\n } else {\n blurActiveElement(document);\n\n setVisiblePanels([prevActivePanel, activePanelProp]);\n setPrevPanel(prevActivePanel);\n setNextPanel(activePanelProp);\n setActivePanel(null);\n setAnimated(true);\n setIsBack(isBackTransition);\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevActivePanel && prevActivePanel !== activePanelProp && prevSwipingBack) {\n const nextPanel = activePanelProp;\n const prevPanel = prevActivePanel;\n if (prevSwipeBackPrevPanel) {\n scrolls.current[prevSwipeBackPrevPanel] = 0;\n }\n\n setSwipeBackPrevPanel(null);\n setSwipeBackNextPanel(null);\n setSwipingBack(false);\n setSwipeBackResult(null);\n setSwipeBackStartX(0);\n setSwipeBackShift(0);\n setActivePanel(nextPanel);\n setVisiblePanels([nextPanel]);\n setIsBack(true);\n\n layoutEffectCall(() => {\n if (nextPanel !== null) {\n scroll?.scrollTo(0, scrolls.current[nextPanel]);\n }\n prevOnTransition &&\n prevOnTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n });\n }\n\n // Началась анимация завершения свайпа назад.\n // см. `onTransitionEnd()`\n\n // Закончился Safari свайп\n if (prevActivePanel !== activePanelProp && browserSwipe) {\n setBrowserSwipe(false);\n setNextPanel(null);\n setPrevPanel(null);\n setAnimated(false);\n setVisiblePanels([activePanelProp]);\n setActivePanel(activePanelProp);\n }\n }, [\n activePanelProp,\n activePanel,\n browserSwipe,\n children,\n disableAnimation,\n document,\n flushTransition,\n prevActivePanel,\n prevBrowserSwipe,\n prevOnTransition,\n prevSwipeBackPrevPanel,\n prevSwipeBackResult,\n prevSwipingBack,\n scroll,\n swipeBackNextPanel,\n swipeBackResult,\n layoutEffectCall,\n ]);\n\n React.useEffect(\n function restoreScrollPositionWhenSwipeBackIsCancelled() {\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n const swipeBackCancelledInTheMiddleOfAction =\n prevSwipeBackResult === 'fail' && !swipeBackResult;\n const swipeBackCancelledByMovingPanelBackToInitialPoint =\n prevSwipingBack && !swipingBack && prevSwipeBackShift === 0;\n\n if (\n (swipeBackCancelledInTheMiddleOfAction ||\n swipeBackCancelledByMovingPanelBackToInitialPoint) &&\n activePanel !== null\n ) {\n scroll?.scrollTo(0, scrolls.current[activePanel]);\n }\n },\n [\n prevSwipeBackResult,\n swipeBackResult,\n prevSwipingBack,\n swipingBack,\n prevSwipeBackShift,\n activePanel,\n scroll,\n ],\n );\n\n return (\n <NavViewIdContext.Provider value={id}>\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles.host,\n platform === 'ios' && classNames(styles.ios, 'vkuiInternalView--ios'),\n !disableAnimation && animated && styles.animated,\n !disableAnimation && swipingBack && styles.swipingBack,\n disableAnimation && styles.noMotion,\n className,\n )}\n onMoveX={\n iOSSwipeBackSimulationEnabled\n ? handleTouchMoveXForIOSSwipeBackSimulation\n : platform === 'ios'\n ? handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext\n : undefined\n }\n onEnd={iOSSwipeBackSimulationEnabled ? handleTouchEndForIOSSwipeBackSimulation : undefined}\n >\n <div className={styles.panels}>\n {panels.map((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n const isPanelActive = panelId === activePanel;\n const isPanelPrev = panelId === prevPanel;\n const isPanelNext = panelId === nextPanel;\n const isAnimatedTarget = animated && (isBack ? isPanelPrev : isPanelNext);\n\n const isSwipeBackPrev = panelId === swipeBackPrevPanel;\n const isSwipeBackNext = panelId === swipeBackNextPanel;\n const isSwipeBackTarget = swipeBackResult && isSwipeBackPrev;\n\n let scrollCompensateStyle: React.CSSProperties | undefined = undefined;\n\n if (isPanelPrev || (isPanelNext && isBack) || isSwipeBackPrev || isSwipeBackNext) {\n const marginTop = scrolls.current[panelId];\n if (marginTop !== undefined) {\n scrollCompensateStyle = { marginTop: -1 * marginTop };\n }\n }\n\n return (\n <div\n className={classNames(\n styles.panel,\n\n isPanelActive && styles.panelActive,\n isPanelPrev && styles.panelPrev,\n isPanelNext && styles.panelNext,\n\n isSwipeBackPrev && styles.panelSwipeBackPrev,\n isSwipeBackNext && styles.panelSwipeBackNext,\n swipeBackResult === 'success' && styles.panelSwipeBackSuccess,\n swipeBackResult === 'fail' && styles.panelSwipeBackFailed,\n )}\n onTransitionEnd={isSwipeBackTarget ? handleSwipeBackTargetTransitionEnd : undefined}\n onAnimationEnd={isAnimatedTarget ? handleAnimatedTargetAnimationEnd : undefined}\n ref={(el) => {\n panelId !== undefined && (panelNodes.current[panelId] = el);\n }}\n style={calcPanelSwipeStyles(isSwipeBackPrev, isSwipeBackNext)}\n key={panelId}\n >\n {platform === 'ios' && (\n <div\n className={styles.panelOverlay}\n style={calcPanelSwipeBackOverlayStyles(isSwipeBackNext)}\n />\n )}\n <div className={styles.panelIn} style={scrollCompensateStyle}>\n <NavTransitionDirectionProvider isBack={swipingBack || isBack}>\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n </NavViewIdContext.Provider>\n );\n};\n"],"names":["React","classNames","usePlatform","usePrevious","blurActiveElement","useDOM","getNavId","warnOnce","useScroll","useConfigProvider","NavViewIdContext","NavTransitionProvider","NavTransitionDirectionProvider","useSplitCol","Touch","useLayoutEffectCall","getSwipeBackPredicates","hasHorizontalScrollableElementWithScrolledToLeft","swipeBackExcluded","styles","scrollsCache","warn","View","activePanel","activePanelProp","history","nav","onTransition","onSwipeBack","onSwipeBackStart","onSwipeBackCancel","onSwipeBackCancelProp","children","className","restProps","id","scrolls","useRef","layoutEffectCall","useEffect","current","panelNodes","window","document","scroll","configProvider","splitCol","platform","animated","setAnimated","useState","visiblePanels","setVisiblePanels","setActivePanel","isBack","setIsBack","undefined","prevPanel","setPrevPanel","nextPanel","setNextPanel","swipeBackPrevented","swipingBack","setSwipingBack","swipeBackStartX","setSwipeBackStartX","swipeBackShift","setSwipeBackShift","swipeBackNextPanel","setSwipeBackNextPanel","swipeBackPrevPanel","setSwipeBackPrevPanel","swipeBackResult","setSwipeBackResult","browserSwipe","setBrowserSwipe","prevActivePanel","prevSwipingBack","prevBrowserSwipe","prevSwipeBackResult","prevSwipeBackShift","prevSwipeBackPrevPanel","prevOnTransition","panels","Children","toArray","filter","panel","panelId","props","includes","disableAnimation","transitionMotionEnabled","animate","iOSSwipeBackSimulationEnabled","isWebView","Boolean","flushTransition","useCallback","isBackTransition","scrollTo","from","to","handleAnimatedTargetAnimationEnd","onSwipeBackSuccess","swipingBackTransitionEndHandler","handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext","event","swipeBackTriggered","viewportStartEdgeTouched","viewportEndEdgeTouched","startX","shiftX","innerWidth","handleTouchMoveXForIOSSwipeBackSimulation","swipedToOpposite","length","originalEvent","target","payload","getScroll","y","slice","handleTouchEndForIOSSwipeBackSimulation","speed","duration","calcPanelSwipeStyles","isPrev","isNext","transform","calcPanelSwipeBackOverlayStyles","opacityOnSwipeEnd","display","opacity","handleSwipeBackTargetTransitionEnd","propertyName","firstLayerId","map","find","compensateKeyboardHeight","restoreScrollPositionWhenSwipeBackIsCancelled","swipeBackCancelledInTheMiddleOfAction","swipeBackCancelledByMovingPanelBackToInitialPoint","Provider","value","Component","host","ios","noMotion","onMoveX","onEnd","div","isPanelActive","isPanelPrev","isPanelNext","isAnimatedTarget","isSwipeBackPrev","isSwipeBackNext","isSwipeBackTarget","scrollCompensateStyle","marginTop","panelActive","panelPrev","panelNext","panelSwipeBackPrev","panelSwipeBackNext","panelSwipeBackSuccess","panelSwipeBackFailed","onTransitionEnd","onAnimationEnd","ref","el","style","panelOverlay","panelIn","entering"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,EAAEC,MAAM,QAAQ,mBAAgB;AAC1D,SAASC,QAAQ,QAAyB,wBAAqB;AAC/D,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,SAAS,QAAQ,8BAA2B;AACrD,SAASC,iBAAiB,QAAQ,6CAA0C;AAC5E,SAASC,gBAAgB,QAAQ,kCAA+B;AAChE,SAASC,qBAAqB,QAAQ,kDAA+C;AACrF,SAASC,8BAA8B,QAAQ,oEAAiE;AAChH,SAASC,WAAW,QAAQ,iCAA8B;AAC1D,SAAgCC,KAAK,QAAQ,oBAAiB;AAC9D,SAASC,mBAAmB,QAAQ,2BAAwB;AAC5D,SACEC,sBAAsB,EACtBC,gDAAgD,EAChDC,iBAAiB,QACZ,aAAU;AACjB,OAAOC,YAAY,oBAAoB;AAUvC,OAAO,IAAIC,eAA6B,CAAC,EAAE;AAmC3C,MAAMC,OAAOd,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMe,OAAO,CAAC,EACnBC,aAAaC,eAAe,EAC5BC,OAAO,EACPC,GAAG,EACHC,YAAY,EACZC,WAAW,EACXC,gBAAgB,EAChBC,mBAAmBC,qBAAqB,EACxCC,QAAQ,EACRC,SAAS,EACT,GAAGC,WACO;IACV,MAAMC,KAAK7B,SAAS;QAAEoB;QAAKS,IAAID,UAAUC,EAAE;IAAC;IAC5C,MAAMC,UAAUpC,MAAMqC,MAAM,CAACjB,YAAY,CAACe,GAAa,IAAI,CAAC;IAC5D,MAAMG,mBAAmBvB;IAEzBf,MAAMuC,SAAS,CAAC,IAAM;YACpB,IAAIJ,IAAI;gBACNf,YAAY,CAACe,GAAG,GAAGC,QAAQI,OAAO;YACpC;QACF;IAEA,MAAMC,aAAazC,MAAMqC,MAAM,CAA0C,CAAC;IAE1E,MAAM,EAAEK,MAAM,EAAEC,QAAQ,EAAE,GAAGtC;IAC7B,MAAMuC,SAASpC;IACf,MAAMqC,iBAAiBpC;IACvB,MAAMqC,WAAWjC;IACjB,MAAMkC,WAAW7C;IAEjB,MAAM,CAAC8C,UAAUC,YAAY,GAAGjD,MAAMkD,QAAQ,CAAC;IAE/C,MAAM,CAACC,eAAeC,iBAAiB,GAAGpD,MAAMkD,QAAQ,CAAC;QAAC1B;KAAgB;IAC1E,MAAM,CAACD,aAAa8B,eAAe,GAAGrD,MAAMkD,QAAQ,CAAgB1B;IACpE,MAAM,CAAC8B,QAAQC,UAAU,GAAGvD,MAAMkD,QAAQ,CAAsBM;IAChE,MAAM,CAACC,WAAWC,aAAa,GAAG1D,MAAMkD,QAAQ,CAAgB;IAChE,MAAM,CAACS,WAAWC,aAAa,GAAG5D,MAAMkD,QAAQ,CAAgB;IAEhE,MAAMW,qBAAqB7D,MAAMqC,MAAM,CAAU;IACjD,MAAM,CAACyB,aAAaC,eAAe,GAAG/D,MAAMkD,QAAQ,CAAsBM;IAC1E,MAAM,CAACQ,iBAAiBC,mBAAmB,GAAGjE,MAAMkD,QAAQ,CAAS;IACrE,MAAM,CAACgB,gBAAgBC,kBAAkB,GAAGnE,MAAMkD,QAAQ,CAAS;IACnE,MAAM,CAACkB,oBAAoBC,sBAAsB,GAAGrE,MAAMkD,QAAQ,CAAgB;IAClF,MAAM,CAACoB,oBAAoBC,sBAAsB,GAAGvE,MAAMkD,QAAQ,CAAgB;IAClF,MAAM,CAACsB,iBAAiBC,mBAAmB,GAAGzE,MAAMkD,QAAQ,CAA4B;IAExF,MAAM,CAACwB,cAAcC,gBAAgB,GAAG3E,MAAMkD,QAAQ,CAAC;IAEvD,MAAM0B,kBAAkBzE,YAAYqB;IACpC,MAAMqD,kBAAkB1E,YAAY2D;IACpC,MAAMgB,mBAAmB3E,YAAYuE;IACrC,MAAMK,sBAAsB5E,YAAYqE;IACxC,MAAMQ,qBAAqB7E,YAAY+D;IACvC,MAAMe,yBAAyB9E,YAAYmE;IAC3C,MAAMY,mBAAmB/E,YAAYwB;IAErC,MAAMwD,SAAS,AAACnF,MAAMoF,QAAQ,CAACC,OAAO,CAACrD,UAAoDsD,MAAM,CAC/F,CAACC;QACC,MAAMC,UAAUlF,SAASiF,MAAME,KAAK,EAAEpE;QAEtC,OACE,AAACmE,YAAYhC,aAAaL,cAAcuC,QAAQ,CAACF,YACjDA,YAAYlB,sBACZkB,YAAYpB;IAEhB;IAGF,MAAMuB,mBACJ,CAAC9C,eAAe+C,uBAAuB,IAAI,CAAC9C,SAAS+C,OAAO,IAAI9C,aAAa;IAC/E,MAAM+C,gCACJ,CAACH,oBAAoB5C,aAAa,SAASF,eAAekD,SAAS,IAAIC,QAAQpE;IAEjF,MAAMqE,kBAAkBjG,MAAMkG,WAAW,CACvC,CAACzC,WAAmB0C;QAClB,IAAIA,kBAAkB;YACpB/D,QAAQI,OAAO,CAACiB,UAAU,GAAG;QAC/B;QACAC,aAAa;QACbE,aAAa;QACbR,iBAAiB;YAAC5B;SAAgB;QAClC6B,eAAe7B;QACfyB,YAAY;QACZM,UAAU4C;QAEV7D,iBAAiB;YACfM,QAAQwD,SAAS,GAAGD,mBAAmB/D,QAAQI,OAAO,CAAChB,gBAAgB,GAAG;YAC1EG,gBACEA,aAAa;gBACX2B,QAAQ6C;gBACRE,MAAM5C;gBACN6C,IAAI9E;YACN;QACJ;IACF,GACA;QAACA;QAAiBc;QAAkBX;QAAciB;KAAO;IAG3D,MAAM2D,mCAAmC;QACvC,IAAI9C,cAAc,MAAM;YACtBwC,gBAAgBxC,WAAWuC,QAAQ1C;QACrC;IACF;IAEA,MAAMkD,qBAAqBxG,MAAMkG,WAAW,CAAC;QAC3CtE,eAAeA;IACjB,GAAG;QAACA;KAAY;IAEhB,MAAME,oBAAoB9B,MAAMkG,WAAW,CAAC;QAC1CnE,yBAAyBA;QACzBwC,sBAAsB;QACtBF,sBAAsB;QACtBN,eAAe;QACfU,mBAAmB;QACnBR,mBAAmB;QACnBE,kBAAkB;IACpB,GAAG;QAACpC;KAAsB;IAE1B,MAAM0E,kCAAkCzG,MAAMkG,WAAW,CAAC;QACxD,OAAQ1B;YACN,KAAK;gBACH1C;gBACA;YACF,KAAK;gBACH0E;QACJ;IACF,GAAG;QAAC1E;QAAmB0E;QAAoBhC;KAAgB;IAE3D,MAAMkC,mDAAmD,CAACC;QACxD,IAAIjC,cAAc;YAChB;QACF;QACA,MAAM,EAAEkC,kBAAkB,EAAEC,wBAAwB,EAAEC,sBAAsB,EAAE,GAC5E9F,uBAAuB2F,MAAMI,MAAM,EAAEJ,MAAMK,MAAM,EAAEtE,OAAQuE,UAAU;QAEvE,IAAI,AAACJ,CAAAA,4BAA4BC,sBAAqB,KAAMF,oBAAoB;YAC9EjC,gBAAgB;QAClB;IACF;IAEA,MAAMuC,4CAA4C,CAACP;QACjD,IAAI9C,mBAAmBrB,OAAO,IAAItB,kBAAkByF,QAAQ;YAC1D;QACF;QAEA,MAAM,EAAEQ,gBAAgB,EAAEP,kBAAkB,EAAEC,wBAAwB,EAAE,GACtE7F,uBAAuB2F,MAAMI,MAAM,EAAEJ,MAAMK,MAAM,EAAEtE,OAAQuE,UAAU;QAEvE,IAAIjE,YAAY4D,oBAAoB;YAClC;QACF;QAEA,IAAI,CAAC9C,eAAerC,WAAWA,QAAQ2F,MAAM,GAAG,GAAG;YACjD,IAAID,kBAAkB;gBACpBtD,mBAAmBrB,OAAO,GAAG;gBAC7B;YACF;YAEA,IAAI,CAACoE,oBAAoB;gBACvB;YACF;YAEA,IACE,CAACC,4BACD5F,iDAAiD0F,MAAMU,aAAa,CAACC,MAAM,GAC3E;gBACAzD,mBAAmBrB,OAAO,GAAG;gBAC7B;YACF;YACA,sBAAsB;YACtB,IAAIX,kBAAkB;gBACpB,MAAM0F,UAAU1F,iBAAiBN;gBACjC,IAAIgG,YAAY,WAAW;oBACzB1D,mBAAmBrB,OAAO,GAAG;oBAC7B;gBACF;YACF;YAEA,IAAIjB,gBAAgB,MAAM;gBACxB,+EAA+E;gBAC/EnB,kBAAkBuC;gBAClBP,QAAQI,OAAO,CAACjB,YAAY,GAAGqB,QAAQ4E,YAAYC;YACrD;YAEA1D,eAAe;YACfE,mBAAmB0C,MAAMI,MAAM;YAC/BxC,sBAAsBhD;YACtB8C,sBAAsB5C,QAAQiG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;QAC5C;QAEA,IAAI5D,aAAa;YACf,IAAI6C,MAAMK,MAAM,GAAG,GAAG;gBACpB7C,kBAAkB;YACpB,OAAO,IAAIwC,MAAMK,MAAM,GAAGtE,OAAQuE,UAAU,GAAGjD,iBAAiB;gBAC9DG,kBAAkBzB,OAAQuE,UAAU;YACtC,OAAO;gBACL9C,kBAAkBwC,MAAMK,MAAM;YAChC;QACF;IACF;IAEA,MAAMW,0CAA0C,CAAChB;QAC/C9C,mBAAmBrB,OAAO,GAAG;QAC7B,IAAIsB,aAAa;YACf,MAAM8D,QAAQ,AAAC1D,iBAAiByC,MAAMkB,QAAQ,GAAI;YAClD,IAAI3D,mBAAmB,GAAG;gBACxBpC;YACF,OAAO,IAAIoC,kBAAmBxB,CAAAA,OAAQuE,UAAU,IAAI,CAAA,GAAI;gBACtDT;YACF,OAAO,IAAIoB,QAAQ,OAAO1D,kBAAkBxB,OAAQuE,UAAU,GAAG,GAAG;gBAClExC,mBAAmB;YACrB,OAAO;gBACLA,mBAAmB;YACrB;QACF;IACF;IAEA,MAAMqD,uBAAuB,CAACC,QAAiBC;QAC7C,IAAI,AAAC,CAACD,UAAU,CAACC,UAAWxD,iBAAiB;YAC3C,OAAO,CAAC;QACV;QAEA,IAAIwD,QAAQ;YACV,OAAOtF,SACH;gBACEuF,WAAW,CAAC,YAAY,EAAE,CAAC,KAAK,AAAC/D,iBAAiB,MAAOxB,OAAOuE,UAAU,GAAG,EAAE,QAAQ,CAAC;YAC1F,IACA,CAAC;QACP;QAEA,IAAIc,QAAQ;YACV,OAAO;gBAAEE,WAAW,CAAC,YAAY,EAAE/D,eAAe,SAAS,CAAC;YAAC;QAC/D;QAEA,OAAO,CAAC;IACV;IAEA,MAAMgE,kCAAkC,CAACF;QACvC,IAAI,CAACtF,UAAU,CAACsF,QAAQ;YACtB,OAAO,CAAC;QACV;QACA,MAAMG,oBACJ3D,oBAAoB,YAAY,IAAIA,oBAAoB,SAAS,IAAI;QAEvE,OAAO;YACL4D,SAAS;YACTC,SACEF,sBAAsB,OAAO,IAAIjE,iBAAiBxB,OAAOuE,UAAU,GAAGkB;QAC1E;IACF;IAEA,MAAMG,qCAAqC,CAAC3B;QAC1C,IAAIA,MAAM4B,YAAY,CAAC7C,QAAQ,CAAC,cAAc;YAC5Ce;QACF;IACF;IAEAzG,MAAMuC,SAAS,CAAC;QACd,gBAAgB;QAChB,IACEqC,mBACAA,oBAAoBpD,mBACpB,CAACqD,mBACD,CAACC,kBACD;YACA,MAAM0D,eAAe,AACnBxI,MAAMoF,QAAQ,CAACC,OAAO,CAACrD,UAEtByG,GAAG,CAAC,CAAClD,QAAUjF,SAASiF,MAAME,KAAK,EAAEpE,OACrCqH,IAAI,CAAC,CAACvG,KAAOA,OAAOyC,mBAAmBzC,OAAOX;YAEjD,MAAM2E,mBAAmBqC,iBAAiBhH;YAC1CY,QAAQI,OAAO,CAACoC,gBAAgB,GAAGhC,QAAQ4E,UAAU;gBAAEmB,0BAA0B;YAAM,GAAGlB;YAE1F,IAAI9B,kBAAkB;gBACpBM,gBAAgBrB,iBAAiBuB;YACnC,OAAO;gBACL/F,kBAAkBuC;gBAElBS,iBAAiB;oBAACwB;oBAAiBpD;iBAAgB;gBACnDkC,aAAakB;gBACbhB,aAAapC;gBACb6B,eAAe;gBACfJ,YAAY;gBACZM,UAAU4C;YACZ;QACF;QAEA,oCAAoC;QACpC,IAAIvB,mBAAmBA,oBAAoBpD,mBAAmBqD,iBAAiB;YAC7E,MAAMlB,YAAYnC;YAClB,MAAMiC,YAAYmB;YAClB,IAAIK,wBAAwB;gBAC1B7C,QAAQI,OAAO,CAACyC,uBAAuB,GAAG;YAC5C;YAEAV,sBAAsB;YACtBF,sBAAsB;YACtBN,eAAe;YACfU,mBAAmB;YACnBR,mBAAmB;YACnBE,kBAAkB;YAClBd,eAAeM;YACfP,iBAAiB;gBAACO;aAAU;YAC5BJ,UAAU;YAEVjB,iBAAiB;gBACf,IAAIqB,cAAc,MAAM;oBACtBf,QAAQwD,SAAS,GAAGhE,QAAQI,OAAO,CAACmB,UAAU;gBAChD;gBACAuB,oBACEA,iBAAiB;oBACf5B,QAAQ;oBACR+C,MAAM5C;oBACN6C,IAAI3C;gBACN;YACJ;QACF;QAEA,6CAA6C;QAC7C,0BAA0B;QAE1B,0BAA0B;QAC1B,IAAIiB,oBAAoBpD,mBAAmBkD,cAAc;YACvDC,gBAAgB;YAChBf,aAAa;YACbF,aAAa;YACbT,YAAY;YACZG,iBAAiB;gBAAC5B;aAAgB;YAClC6B,eAAe7B;QACjB;IACF,GAAG;QACDA;QACAD;QACAmD;QACA1C;QACA2D;QACAhD;QACAsD;QACArB;QACAE;QACAI;QACAD;QACAF;QACAF;QACAjC;QACAwB;QACAI;QACAlC;KACD;IAEDtC,MAAMuC,SAAS,CACb,SAASqG;QACP,+EAA+E;QAC/E,MAAMC,wCACJ9D,wBAAwB,UAAU,CAACP;QACrC,MAAMsE,oDACJjE,mBAAmB,CAACf,eAAekB,uBAAuB;QAE5D,IACE,AAAC6D,CAAAA,yCACCC,iDAAgD,KAClDvH,gBAAgB,MAChB;YACAqB,QAAQwD,SAAS,GAAGhE,QAAQI,OAAO,CAACjB,YAAY;QAClD;IACF,GACA;QACEwD;QACAP;QACAK;QACAf;QACAkB;QACAzD;QACAqB;KACD;IAGH,qBACE,KAAClC,iBAAiBqI,QAAQ;QAACC,OAAO7G;kBAChC,cAAA,KAACrB;YACCmI,WAAU;YACT,GAAG/G,SAAS;YACbD,WAAWhC,WACTkB,OAAO+H,IAAI,EACXnG,aAAa,SAAS9C,WAAWkB,OAAOgI,GAAG,EAAE,0BAC7C,CAACxD,oBAAoB3C,YAAY7B,OAAO6B,QAAQ,EAChD,CAAC2C,oBAAoB7B,eAAe3C,OAAO2C,WAAW,EACtD6B,oBAAoBxE,OAAOiI,QAAQ,EACnCnH;YAEFoH,SACEvD,gCACIoB,4CACAnE,aAAa,QACX2D,mDACAlD;YAER8F,OAAOxD,gCAAgC6B,0CAA0CnE;sBAEjF,cAAA,KAAC+F;gBAAItH,WAAWd,OAAOgE,MAAM;0BAC1BA,OAAOsD,GAAG,CAAC,CAAClD;oBACX,MAAMC,UAAUlF,SAASiF,MAAME,KAAK,EAAEpE;oBAEtC,MAAMmI,gBAAgBhE,YAAYjE;oBAClC,MAAMkI,cAAcjE,YAAY/B;oBAChC,MAAMiG,cAAclE,YAAY7B;oBAChC,MAAMgG,mBAAmB3G,YAAaM,CAAAA,SAASmG,cAAcC,WAAU;oBAEvE,MAAME,kBAAkBpE,YAAYlB;oBACpC,MAAMuF,kBAAkBrE,YAAYpB;oBACpC,MAAM0F,oBAAoBtF,mBAAmBoF;oBAE7C,IAAIG,wBAAyDvG;oBAE7D,IAAIiG,eAAgBC,eAAepG,UAAWsG,mBAAmBC,iBAAiB;wBAChF,MAAMG,YAAY5H,QAAQI,OAAO,CAACgD,QAAQ;wBAC1C,IAAIwE,cAAcxG,WAAW;4BAC3BuG,wBAAwB;gCAAEC,WAAW,CAAC,IAAIA;4BAAU;wBACtD;oBACF;oBAEA,qBACE,MAACT;wBACCtH,WAAWhC,WACTkB,OAAOoE,KAAK,EAEZiE,iBAAiBrI,OAAO8I,WAAW,EACnCR,eAAetI,OAAO+I,SAAS,EAC/BR,eAAevI,OAAOgJ,SAAS,EAE/BP,mBAAmBzI,OAAOiJ,kBAAkB,EAC5CP,mBAAmB1I,OAAOkJ,kBAAkB,EAC5C7F,oBAAoB,aAAarD,OAAOmJ,qBAAqB,EAC7D9F,oBAAoB,UAAUrD,OAAOoJ,oBAAoB;wBAE3DC,iBAAiBV,oBAAoBxB,qCAAqC9E;wBAC1EiH,gBAAgBd,mBAAmBpD,mCAAmC/C;wBACtEkH,KAAK,CAACC;4BACJnF,YAAYhC,aAAcf,CAAAA,WAAWD,OAAO,CAACgD,QAAQ,GAAGmF,EAAC;wBAC3D;wBACAC,OAAO9C,qBAAqB8B,iBAAiBC;;4BAG5C9G,aAAa,uBACZ,KAACwG;gCACCtH,WAAWd,OAAO0J,YAAY;gCAC9BD,OAAO1C,gCAAgC2B;;0CAG3C,KAACN;gCAAItH,WAAWd,OAAO2J,OAAO;gCAAEF,OAAOb;0CACrC,cAAA,KAACnJ;oCAA+B0C,QAAQQ,eAAeR;8CACrD,cAAA,KAAC3C;wCACCoK,UAAUvF,YAAY7B,aAAa6B,YAAYpB;kDAE9CmB;;;;;uBAbFC;gBAmBX;;;;AAKV,EAAE"}
|
|
@@ -18,7 +18,7 @@ import { getSwipeBackPredicates, hasHorizontalScrollableElementWithScrolledToLef
|
|
|
18
18
|
import styles from "./View.module.css";
|
|
19
19
|
const warn = warnOnce('ViewInfinite');
|
|
20
20
|
export let scrollsCache = {};
|
|
21
|
-
class ViewInfiniteComponent extends React.Component {
|
|
21
|
+
/* eslint-enable jsdoc/require-jsdoc */ class ViewInfiniteComponent extends React.Component {
|
|
22
22
|
constructor(props){
|
|
23
23
|
super(props);
|
|
24
24
|
this.state = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { canUseDOM, type DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId, type NavIdProps } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasPlatform, HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext, type ScrollContextInterface } from '../AppRoot/ScrollContext';\nimport {\n ConfigProviderContext,\n type ConfigProviderContextInterface,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { NavViewIdContext } from '../NavIdContext/NavIdContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { SplitColContext, type SplitColContextProps } from '../SplitCol/SplitColContext';\nimport { type CustomTouchEvent, Touch } from '../Touch/Touch';\nimport {\n getSwipeBackPredicates,\n hasHorizontalScrollableElementWithScrolledToLeft,\n swipeBackExcluded,\n} from './utils';\nimport styles from './View.module.css';\n\nconst warn = warnOnce('ViewInfinite');\n\ninterface Scrolls {\n [index: string]: Array<number | undefined>;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport type TransitionParams = { from: string | null; to: string | null };\n\nexport interface ViewInfiniteProps\n extends HTMLAttributesWithRootRef<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n onTransition?: (params: TransitionParams & { isBack: boolean }) => void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?: () => void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?: (activePanel: string | null) => void | 'prevent';\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?: () => void;\n history?: string[];\n isBackCheck?: (params: TransitionParams) => boolean;\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewInfiniteState {\n animated: boolean;\n\n visiblePanels: Array<string | null>;\n activePanel: string | null;\n isBack?: boolean;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack?: boolean;\n swipeBackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: 'success' | 'fail' | null;\n\n browserSwipe: boolean;\n}\n\nclass ViewInfiniteComponent extends React.Component<\n ViewInfiniteProps & DOMProps,\n ViewInfiniteState\n> {\n constructor(props: ViewInfiniteProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: undefined,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewInfiniteProps> = {\n history: [],\n };\n\n private swipeBackPrevented = false;\n private scrolls = scrollsCache[getNavId(this.props, warn) as string] || {};\n private transitionFinishTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n private readonly animationFinishTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as Array<React.ReactElement<NavIdProps>>;\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n }\n\n componentDidUpdate(prevProps: ViewInfiniteProps, prevState: ViewInfiniteState) {\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n let isBack = false;\n\n if (this.props.isBackCheck) {\n isBack = this.props.isBackCheck({\n from: prevProps.activePanel,\n to: this.props.activePanel,\n });\n } else {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find((id) => id === prevProps.activePanel || id === this.props.activePanel);\n isBack = firstLayerId === this.props.activePanel;\n }\n\n this.blurActiveElement();\n\n const prevScrolls = this.scrolls[prevProps.activePanel] || [];\n const scrolls = {\n ...this.scrolls,\n [prevProps.activePanel]: [\n ...prevScrolls,\n this.props.scroll?.getScroll({ compensateKeyboardHeight: false }).y,\n ],\n };\n this.scrolls = scrolls;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevProps.activePanel !== this.props.activePanel && prevState.swipingBack) {\n const nextPanel = this.state.swipeBackNextPanel;\n const prevPanel = this.state.swipeBackPrevPanel;\n let scrollPosition: undefined | number = undefined;\n\n this.scrolls = {\n ...this.scrolls,\n };\n\n if (prevPanel !== null) {\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n this.scrolls[prevPanel] = prevPanelScrolls;\n }\n if (nextPanel !== null) {\n const newPanelScrolls = [...(this.scrolls[nextPanel] || [])];\n scrollPosition = newPanelScrolls.pop();\n this.scrolls[nextPanel] = newPanelScrolls;\n }\n\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n this.props.scroll?.scrollTo(0, scrollPosition);\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n },\n );\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler,\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === 'fail' &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n const newPanelScrolls = [...(this.scrolls[this.state.activePanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: newPanelScrolls,\n };\n\n this.props.scroll?.scrollTo(0, scrollPosition);\n }\n\n // Закончился Safari свайп\n if (prevProps.activePanel !== this.props.activePanel && this.state.browserSwipe) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate ||\n this.props.platform === 'vkcom'\n );\n }\n\n private transitionDisposer = noop;\n\n private disposeTransition() {\n this.transitionDisposer();\n this.transitionDisposer = noop;\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler,\n ): void {\n if (this.shouldDisableTransitionMotion()) {\n this.disposeTransition();\n this.transitionFinishTimeout = setTimeout(eventHandler);\n } else if (elem) {\n this.disposeTransition();\n elem.addEventListener('transitionend', eventHandler);\n this.transitionDisposer = () => {\n elem.removeEventListener('transitionend', eventHandler);\n };\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === 'android' || this.props.platform === 'vkcom' ? 300 : 600,\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== 'undefined' && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n const newPanelScrolls = [...(this.scrolls[activePanel] || [])];\n const scrollPosition = isBack ? newPanelScrolls.pop() : 0;\n if (isBack) {\n this.scrolls = {\n ...this.scrolls,\n [prevPanel]: prevPanelScrolls,\n [activePanel]: newPanelScrolls,\n };\n }\n\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel: activePanel,\n animated: false,\n isBack,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? scrollPosition : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n },\n );\n }\n\n transitionEndHandler = (): void => {\n if (this.state.prevPanel !== null) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e.propertyName.includes('transform') &&\n e.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case 'fail':\n this.onSwipeBackCancel();\n break;\n case 'success':\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext = (event: CustomTouchEvent) => {\n if (this.state.browserSwipe) {\n return;\n }\n const { swipeBackTriggered, viewportStartEdgeTouched, viewportEndEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, this.window!.innerWidth);\n\n if ((viewportStartEdgeTouched || viewportEndEdgeTouched) && swipeBackTriggered) {\n this.setState({ browserSwipe: true });\n }\n };\n\n handleTouchMoveXForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {\n if (this.swipeBackPrevented || swipeBackExcluded(event)) {\n return;\n }\n\n const { swipedToOpposite, swipeBackTriggered, viewportStartEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, this.window!.innerWidth);\n\n if (this.state.animated && swipeBackTriggered) {\n return;\n }\n\n if (!this.state.swipingBack && this.props.history && this.props.history.length > 1) {\n if (swipedToOpposite) {\n this.swipeBackPrevented = true;\n return;\n }\n\n if (!swipeBackTriggered) {\n return;\n }\n\n if (\n !viewportStartEdgeTouched &&\n hasHorizontalScrollableElementWithScrolledToLeft(event.originalEvent.target as HTMLElement)\n ) {\n this.swipeBackPrevented = true;\n return;\n }\n // Начался свайп назад\n if (this.props.onSwipeBackStart) {\n const payload = this.props.onSwipeBackStart(this.state.activePanel);\n if (payload === 'prevent') {\n this.swipeBackPrevented = true;\n return;\n }\n }\n\n if (this.state.activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n this.blurActiveElement();\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [...prevScrolls, this.props.scroll?.getScroll().y],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipeBackStartX: event.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history.slice(-2)[0],\n });\n }\n\n if (this.state.swipingBack) {\n if (event.shiftX < 0) {\n this.setState({ swipeBackShift: 0 });\n } else if (event.shiftX > this.window!.innerWidth - this.state.swipeBackStartX) {\n this.setState({ swipeBackShift: this.window!.innerWidth });\n } else {\n this.setState({ swipeBackShift: event.shiftX });\n }\n }\n };\n\n handleTouchEndForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {\n this.swipeBackPrevented = false;\n\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / event.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= this.window.innerWidth) {\n this.onSwipeBackSuccess();\n } else if (speed > 250 || this.state.swipeBackShift >= this.window.innerWidth / 2) {\n this.setState({ swipeBackResult: 'success' });\n } else {\n this.setState({ swipeBackResult: 'fail' });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) / this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` } : {};\n }\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n id,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n isBackCheck,\n className,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n isBack,\n animated,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n swipingBack,\n } = this.state;\n\n const panels = this.panels\n .filter((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n })\n .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel = panelId === nextPanel || panelId === swipeBackNextPanel;\n\n if (isNextPanel) {\n return swipingBack || this.state.isBack ? -1 : 1;\n }\n\n if (isPrevPanel) {\n return swipingBack || this.state.isBack ? 1 : -1;\n }\n\n return 0;\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n const iOSSwipeBackSimulationEnabled =\n !disableAnimation && platform === 'ios' && configProvider?.isWebView && Boolean(onSwipeBack);\n\n return (\n <NavViewIdContext.Provider value={id || nav}>\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles.host,\n platform === 'ios' && classNames(styles.ios, 'vkuiInternalView--ios'),\n !disableAnimation && this.state.animated && styles.animated,\n !disableAnimation && this.state.swipingBack && styles.swipingBack,\n disableAnimation && styles.noMotion,\n className,\n )}\n onMoveX={\n iOSSwipeBackSimulationEnabled\n ? this.handleTouchMoveXForIOSSwipeBackSimulation\n : platform === 'ios'\n ? this.handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext\n : undefined\n }\n onEnd={\n iOSSwipeBackSimulationEnabled ? this.handleTouchEndForIOSSwipeBackSimulation : undefined\n }\n >\n <div className={styles.panels}>\n {panels.map((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev || panelId === swipeBackNextPanel || (panelId === nextPanel && isBack);\n const isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);\n const scrollList = (panelId && this.scrolls[panelId]) || [];\n const scroll = scrollList[scrollList.length - 1] || 0;\n\n return (\n <div\n className={classNames(\n styles.panel,\n panelId === activePanel && styles.panelActive,\n panelId === prevPanel && styles.panelPrev,\n panelId === nextPanel && styles.panelNext,\n panelId === swipeBackPrevPanel && styles.panelSwipeBackPrev,\n panelId === swipeBackNextPanel && styles.panelSwipeBackNext,\n swipeBackResult === 'success' && styles.panelSwipeBackSuccess,\n swipeBackResult === 'fail' && styles.panelSwipeBackFailed,\n )}\n onAnimationEnd={isTransitionTarget ? this.transitionEndHandler : undefined}\n ref={(el) => {\n panelId !== undefined && (this.panelNodes[panelId] = el);\n }}\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n className={styles.panelIn}\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionDirectionProvider isBack={swipingBack || isBack}>\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n </NavViewIdContext.Provider>\n );\n }\n}\n\nexport const ViewInfinite: React.FC<ViewInfiniteProps> = withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewInfiniteProps>(ViewInfiniteComponent)),\n SplitColContext,\n 'splitCol',\n ),\n ConfigProviderContext,\n 'configProvider',\n ),\n ScrollContext,\n 'scroll',\n);\n"],"names":["React","classNames","noop","withContext","withPlatform","canUseDOM","withDOM","getNavId","warnOnce","ScrollContext","ConfigProviderContext","NavViewIdContext","NavTransitionProvider","NavTransitionDirectionProvider","SplitColContext","Touch","getSwipeBackPredicates","hasHorizontalScrollableElementWithScrolledToLeft","swipeBackExcluded","styles","warn","scrollsCache","ViewInfiniteComponent","Component","constructor","props","state","animated","visiblePanels","activePanel","isBack","undefined","prevPanel","nextPanel","swipingBack","swipeBackStartX","swipeBackShift","swipeBackNextPanel","swipeBackPrevPanel","swipeBackResult","browserSwipe","defaultProps","history","swipeBackPrevented","scrolls","transitionFinishTimeout","animationFinishTimeout","document","window","panels","Children","toArray","children","panelNodes","componentWillUnmount","id","clearTimeout","componentDidUpdate","prevProps","prevState","isBackCheck","from","to","firstLayerId","map","panel","find","blurActiveElement","prevScrolls","scroll","getScroll","compensateKeyboardHeight","y","shouldDisableTransitionMotion","flushTransition","setState","scrollPosition","prevPanelScrolls","slice","newPanelScrolls","pop","scrollTo","onTransition","waitTransitionFinish","pickPanel","swipingBackTransitionEndHandler","configProvider","transitionMotionEnabled","splitCol","animate","platform","transitionDisposer","disposeTransition","elem","eventHandler","setTimeout","addEventListener","removeEventListener","activeElement","blur","transitionEndHandler","Boolean","e","propertyName","includes","target","onSwipeBackCancel","onSwipeBackSuccess","onSwipeBack","handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext","event","swipeBackTriggered","viewportStartEdgeTouched","viewportEndEdgeTouched","startX","shiftX","innerWidth","handleTouchMoveXForIOSSwipeBackSimulation","swipedToOpposite","length","originalEvent","onSwipeBackStart","payload","handleTouchEndForIOSSwipeBackSimulation","speed","duration","calcPanelSwipeStyles","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","render","_1","nav","className","restProps","filter","sort","isPrevPanel","isNextPanel","disableAnimation","iOSSwipeBackSimulationEnabled","isWebView","Provider","value","host","ios","noMotion","onMoveX","onEnd","div","compensateScroll","isTransitionTarget","scrollList","panelActive","panelPrev","panelNext","panelSwipeBackPrev","panelSwipeBackNext","panelSwipeBackSuccess","panelSwipeBackFailed","onAnimationEnd","ref","el","style","panelIn","marginTop","entering","ViewInfinite"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { canUseDOM, type DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId, type NavIdProps } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasPlatform, HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext, type ScrollContextInterface } from '../AppRoot/ScrollContext';\nimport {\n ConfigProviderContext,\n type ConfigProviderContextInterface,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { NavViewIdContext } from '../NavIdContext/NavIdContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { SplitColContext, type SplitColContextProps } from '../SplitCol/SplitColContext';\nimport { type CustomTouchEvent, Touch } from '../Touch/Touch';\nimport {\n getSwipeBackPredicates,\n hasHorizontalScrollableElementWithScrolledToLeft,\n swipeBackExcluded,\n} from './utils';\nimport styles from './View.module.css';\n\nconst warn = warnOnce('ViewInfinite');\n\ninterface Scrolls {\n [index: string]: Array<number | undefined>;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nexport let scrollsCache: ViewsScrolls = {};\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nexport type TransitionParams = { from: string | null; to: string | null };\n\nexport interface ViewInfiniteProps\n extends HTMLAttributesWithRootRef<HTMLElement>,\n HasPlatform,\n NavIdProps {\n /**\n * `id` активной панели.\n */\n activePanel: string;\n /**\n * Обработчик, который вызывается при завершении анимации смены активной панели.\n */\n onTransition?: (params: TransitionParams & { isBack: boolean }) => void;\n /**\n * Обработчик свайпа назад.\n */\n onSwipeBack?: () => void;\n /**\n * Обработчик начала анимации свайпа назад.\n */\n onSwipeBackStart?: (activePanel: string | null) => void | 'prevent';\n /**\n * Обработчик завершения анимации отмененного пользователем свайпа.\n */\n onSwipeBackCancel?: () => void;\n /**\n * Массив из id панелей в порядке открытия.\n */\n history?: string[];\n /**\n * Функция проверки перехода назад.\n */\n isBackCheck?: (params: TransitionParams) => boolean;\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\n/* eslint-disable jsdoc/require-jsdoc */\nexport interface ViewInfiniteState {\n animated: boolean;\n\n visiblePanels: Array<string | null>;\n activePanel: string | null;\n isBack?: boolean;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack?: boolean;\n swipeBackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: 'success' | 'fail' | null;\n\n browserSwipe: boolean;\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nclass ViewInfiniteComponent extends React.Component<\n ViewInfiniteProps & DOMProps,\n ViewInfiniteState\n> {\n constructor(props: ViewInfiniteProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: undefined,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewInfiniteProps> = {\n history: [],\n };\n\n private swipeBackPrevented = false;\n private scrolls = scrollsCache[getNavId(this.props, warn) as string] || {};\n private transitionFinishTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n private readonly animationFinishTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as Array<React.ReactElement<NavIdProps>>;\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n }\n\n componentDidUpdate(prevProps: ViewInfiniteProps, prevState: ViewInfiniteState) {\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n let isBack = false;\n\n if (this.props.isBackCheck) {\n isBack = this.props.isBackCheck({\n from: prevProps.activePanel,\n to: this.props.activePanel,\n });\n } else {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find((id) => id === prevProps.activePanel || id === this.props.activePanel);\n isBack = firstLayerId === this.props.activePanel;\n }\n\n this.blurActiveElement();\n\n const prevScrolls = this.scrolls[prevProps.activePanel] || [];\n const scrolls = {\n ...this.scrolls,\n [prevProps.activePanel]: [\n ...prevScrolls,\n this.props.scroll?.getScroll({ compensateKeyboardHeight: false }).y,\n ],\n };\n this.scrolls = scrolls;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevProps.activePanel !== this.props.activePanel && prevState.swipingBack) {\n const nextPanel = this.state.swipeBackNextPanel;\n const prevPanel = this.state.swipeBackPrevPanel;\n let scrollPosition: undefined | number = undefined;\n\n this.scrolls = {\n ...this.scrolls,\n };\n\n if (prevPanel !== null) {\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n this.scrolls[prevPanel] = prevPanelScrolls;\n }\n if (nextPanel !== null) {\n const newPanelScrolls = [...(this.scrolls[nextPanel] || [])];\n scrollPosition = newPanelScrolls.pop();\n this.scrolls[nextPanel] = newPanelScrolls;\n }\n\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n this.props.scroll?.scrollTo(0, scrollPosition);\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n },\n );\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler,\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === 'fail' &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n const newPanelScrolls = [...(this.scrolls[this.state.activePanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: newPanelScrolls,\n };\n\n this.props.scroll?.scrollTo(0, scrollPosition);\n }\n\n // Закончился Safari свайп\n if (prevProps.activePanel !== this.props.activePanel && this.state.browserSwipe) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate ||\n this.props.platform === 'vkcom'\n );\n }\n\n private transitionDisposer = noop;\n\n private disposeTransition() {\n this.transitionDisposer();\n this.transitionDisposer = noop;\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler,\n ): void {\n if (this.shouldDisableTransitionMotion()) {\n this.disposeTransition();\n this.transitionFinishTimeout = setTimeout(eventHandler);\n } else if (elem) {\n this.disposeTransition();\n elem.addEventListener('transitionend', eventHandler);\n this.transitionDisposer = () => {\n elem.removeEventListener('transitionend', eventHandler);\n };\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === 'android' || this.props.platform === 'vkcom' ? 300 : 600,\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== 'undefined' && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n const newPanelScrolls = [...(this.scrolls[activePanel] || [])];\n const scrollPosition = isBack ? newPanelScrolls.pop() : 0;\n if (isBack) {\n this.scrolls = {\n ...this.scrolls,\n [prevPanel]: prevPanelScrolls,\n [activePanel]: newPanelScrolls,\n };\n }\n\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel: activePanel,\n animated: false,\n isBack,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? scrollPosition : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n },\n );\n }\n\n transitionEndHandler = (): void => {\n if (this.state.prevPanel !== null) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e.propertyName.includes('transform') &&\n e.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case 'fail':\n this.onSwipeBackCancel();\n break;\n case 'success':\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext = (event: CustomTouchEvent) => {\n if (this.state.browserSwipe) {\n return;\n }\n const { swipeBackTriggered, viewportStartEdgeTouched, viewportEndEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, this.window!.innerWidth);\n\n if ((viewportStartEdgeTouched || viewportEndEdgeTouched) && swipeBackTriggered) {\n this.setState({ browserSwipe: true });\n }\n };\n\n handleTouchMoveXForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {\n if (this.swipeBackPrevented || swipeBackExcluded(event)) {\n return;\n }\n\n const { swipedToOpposite, swipeBackTriggered, viewportStartEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, this.window!.innerWidth);\n\n if (this.state.animated && swipeBackTriggered) {\n return;\n }\n\n if (!this.state.swipingBack && this.props.history && this.props.history.length > 1) {\n if (swipedToOpposite) {\n this.swipeBackPrevented = true;\n return;\n }\n\n if (!swipeBackTriggered) {\n return;\n }\n\n if (\n !viewportStartEdgeTouched &&\n hasHorizontalScrollableElementWithScrolledToLeft(event.originalEvent.target as HTMLElement)\n ) {\n this.swipeBackPrevented = true;\n return;\n }\n // Начался свайп назад\n if (this.props.onSwipeBackStart) {\n const payload = this.props.onSwipeBackStart(this.state.activePanel);\n if (payload === 'prevent') {\n this.swipeBackPrevented = true;\n return;\n }\n }\n\n if (this.state.activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n this.blurActiveElement();\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [...prevScrolls, this.props.scroll?.getScroll().y],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipeBackStartX: event.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history.slice(-2)[0],\n });\n }\n\n if (this.state.swipingBack) {\n if (event.shiftX < 0) {\n this.setState({ swipeBackShift: 0 });\n } else if (event.shiftX > this.window!.innerWidth - this.state.swipeBackStartX) {\n this.setState({ swipeBackShift: this.window!.innerWidth });\n } else {\n this.setState({ swipeBackShift: event.shiftX });\n }\n }\n };\n\n handleTouchEndForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {\n this.swipeBackPrevented = false;\n\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / event.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= this.window.innerWidth) {\n this.onSwipeBackSuccess();\n } else if (speed > 250 || this.state.swipeBackShift >= this.window.innerWidth / 2) {\n this.setState({ swipeBackResult: 'success' });\n } else {\n this.setState({ swipeBackResult: 'fail' });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) / this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` } : {};\n }\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n id,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n isBackCheck,\n className,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n isBack,\n animated,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n swipingBack,\n } = this.state;\n\n const panels = this.panels\n .filter((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n })\n .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel = panelId === nextPanel || panelId === swipeBackNextPanel;\n\n if (isNextPanel) {\n return swipingBack || this.state.isBack ? -1 : 1;\n }\n\n if (isPrevPanel) {\n return swipingBack || this.state.isBack ? 1 : -1;\n }\n\n return 0;\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n const iOSSwipeBackSimulationEnabled =\n !disableAnimation && platform === 'ios' && configProvider?.isWebView && Boolean(onSwipeBack);\n\n return (\n <NavViewIdContext.Provider value={id || nav}>\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles.host,\n platform === 'ios' && classNames(styles.ios, 'vkuiInternalView--ios'),\n !disableAnimation && this.state.animated && styles.animated,\n !disableAnimation && this.state.swipingBack && styles.swipingBack,\n disableAnimation && styles.noMotion,\n className,\n )}\n onMoveX={\n iOSSwipeBackSimulationEnabled\n ? this.handleTouchMoveXForIOSSwipeBackSimulation\n : platform === 'ios'\n ? this.handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext\n : undefined\n }\n onEnd={\n iOSSwipeBackSimulationEnabled ? this.handleTouchEndForIOSSwipeBackSimulation : undefined\n }\n >\n <div className={styles.panels}>\n {panels.map((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev || panelId === swipeBackNextPanel || (panelId === nextPanel && isBack);\n const isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);\n const scrollList = (panelId && this.scrolls[panelId]) || [];\n const scroll = scrollList[scrollList.length - 1] || 0;\n\n return (\n <div\n className={classNames(\n styles.panel,\n panelId === activePanel && styles.panelActive,\n panelId === prevPanel && styles.panelPrev,\n panelId === nextPanel && styles.panelNext,\n panelId === swipeBackPrevPanel && styles.panelSwipeBackPrev,\n panelId === swipeBackNextPanel && styles.panelSwipeBackNext,\n swipeBackResult === 'success' && styles.panelSwipeBackSuccess,\n swipeBackResult === 'fail' && styles.panelSwipeBackFailed,\n )}\n onAnimationEnd={isTransitionTarget ? this.transitionEndHandler : undefined}\n ref={(el) => {\n panelId !== undefined && (this.panelNodes[panelId] = el);\n }}\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n className={styles.panelIn}\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionDirectionProvider isBack={swipingBack || isBack}>\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n </NavViewIdContext.Provider>\n );\n }\n}\n\nexport const ViewInfinite: React.FC<ViewInfiniteProps> = withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewInfiniteProps>(ViewInfiniteComponent)),\n SplitColContext,\n 'splitCol',\n ),\n ConfigProviderContext,\n 'configProvider',\n ),\n ScrollContext,\n 'scroll',\n);\n"],"names":["React","classNames","noop","withContext","withPlatform","canUseDOM","withDOM","getNavId","warnOnce","ScrollContext","ConfigProviderContext","NavViewIdContext","NavTransitionProvider","NavTransitionDirectionProvider","SplitColContext","Touch","getSwipeBackPredicates","hasHorizontalScrollableElementWithScrolledToLeft","swipeBackExcluded","styles","warn","scrollsCache","ViewInfiniteComponent","Component","constructor","props","state","animated","visiblePanels","activePanel","isBack","undefined","prevPanel","nextPanel","swipingBack","swipeBackStartX","swipeBackShift","swipeBackNextPanel","swipeBackPrevPanel","swipeBackResult","browserSwipe","defaultProps","history","swipeBackPrevented","scrolls","transitionFinishTimeout","animationFinishTimeout","document","window","panels","Children","toArray","children","panelNodes","componentWillUnmount","id","clearTimeout","componentDidUpdate","prevProps","prevState","isBackCheck","from","to","firstLayerId","map","panel","find","blurActiveElement","prevScrolls","scroll","getScroll","compensateKeyboardHeight","y","shouldDisableTransitionMotion","flushTransition","setState","scrollPosition","prevPanelScrolls","slice","newPanelScrolls","pop","scrollTo","onTransition","waitTransitionFinish","pickPanel","swipingBackTransitionEndHandler","configProvider","transitionMotionEnabled","splitCol","animate","platform","transitionDisposer","disposeTransition","elem","eventHandler","setTimeout","addEventListener","removeEventListener","activeElement","blur","transitionEndHandler","Boolean","e","propertyName","includes","target","onSwipeBackCancel","onSwipeBackSuccess","onSwipeBack","handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext","event","swipeBackTriggered","viewportStartEdgeTouched","viewportEndEdgeTouched","startX","shiftX","innerWidth","handleTouchMoveXForIOSSwipeBackSimulation","swipedToOpposite","length","originalEvent","onSwipeBackStart","payload","handleTouchEndForIOSSwipeBackSimulation","speed","duration","calcPanelSwipeStyles","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","render","_1","nav","className","restProps","filter","sort","isPrevPanel","isNextPanel","disableAnimation","iOSSwipeBackSimulationEnabled","isWebView","Provider","value","host","ios","noMotion","onMoveX","onEnd","div","compensateScroll","isTransitionTarget","scrollList","panelActive","panelPrev","panelNext","panelSwipeBackPrev","panelSwipeBackNext","panelSwipeBackSuccess","panelSwipeBackFailed","onAnimationEnd","ref","el","style","panelIn","marginTop","entering","ViewInfinite"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect.js";
|
|
3
3
|
/**
|
|
4
4
|
* Возвращает функцию которая вызывает callback после изменения DOM, но до того
|
|
5
|
-
* как пользователь увидит
|
|
5
|
+
* как пользователь увидит изменения.
|
|
6
6
|
*/ export function useLayoutEffectCall() {
|
|
7
7
|
const [fns] = React.useState(()=>[]);
|
|
8
8
|
useIsomorphicLayoutEffect(()=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/View/useLayoutEffectCall.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\n\n/**\n * Возвращает функцию которая вызывает callback после изменения DOM, но до того\n * как пользователь увидит
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/View/useLayoutEffectCall.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\n\n/**\n * Возвращает функцию которая вызывает callback после изменения DOM, но до того\n * как пользователь увидит изменения.\n */\nexport function useLayoutEffectCall() {\n const [fns] = React.useState<Array<() => void>>(() => []);\n\n useIsomorphicLayoutEffect(() => {\n while (fns.length > 0) {\n fns.pop()!();\n }\n });\n\n const add = React.useCallback((fn: () => void) => fns.push(fn), [fns]);\n\n return add;\n}\n"],"names":["React","useIsomorphicLayoutEffect","useLayoutEffectCall","fns","useState","length","pop","add","useCallback","fn","push"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,yCAAsC;AAEhF;;;CAGC,GACD,OAAO,SAASC;IACd,MAAM,CAACC,IAAI,GAAGH,MAAMI,QAAQ,CAAoB,IAAM,EAAE;IAExDH,0BAA0B;QACxB,MAAOE,IAAIE,MAAM,GAAG,EAAG;YACrBF,IAAIG,GAAG;QACT;IACF;IAEA,MAAMC,MAAMP,MAAMQ,WAAW,CAAC,CAACC,KAAmBN,IAAIO,IAAI,CAACD,KAAK;QAACN;KAAI;IAErE,OAAOI;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/WriteBar/WriteBar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport type { HasRef, HasRootRef } from '../../types';\nimport { useResizeTextarea } from '../Textarea/useResizeTextarea';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Title } from '../Typography/Title/Title';\nimport type { TypographyProps } from '../Typography/Typography';\nimport styles from './WriteBar.module.css';\n\nexport interface WriteBarProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLTextAreaElement> {\n /**\n * Содержимое, отображаемое слева от поля ввода.\n */\n before?: React.ReactNode;\n /**\n * Содержимое, отображаемое поверх поля ввода (актуально для iOS)
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/WriteBar/WriteBar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport type { HasRef, HasRootRef } from '../../types';\nimport { useResizeTextarea } from '../Textarea/useResizeTextarea';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Title } from '../Typography/Title/Title';\nimport type { TypographyProps } from '../Typography/Typography';\nimport styles from './WriteBar.module.css';\n\nexport interface WriteBarProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLTextAreaElement> {\n /**\n * Содержимое, отображаемое слева от поля ввода.\n */\n before?: React.ReactNode;\n /**\n * Содержимое, отображаемое поверх поля ввода (актуально для iOS).\n */\n inlineAfter?: React.ReactNode;\n /**\n * Содержимое, отображаемое справа от поля ввода.\n */\n after?: React.ReactNode;\n /**\n * Вызывается при смене высоты поля ввода.\n */\n onHeightChange?: VoidFunction;\n /**\n * Добавляет тень вокруг поля ввода.\n */\n shadow?: boolean;\n /**\n * @deprecated Неиспользуемое свойство.\n */\n children?: never;\n}\n\nconst WriteBarTypography = (props: TypographyProps) => {\n const platform = usePlatform();\n\n if (platform === 'ios') {\n return <Title {...props} level=\"3\" weight=\"3\" />;\n }\n\n return <Headline weight=\"3\" {...props} />;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBar\n */\nexport const WriteBar = ({\n className,\n style,\n before,\n inlineAfter,\n after,\n getRootRef,\n getRef,\n onHeightChange,\n shadow = false,\n onChange,\n ...restProps\n}: WriteBarProps): React.ReactNode => {\n const platform = usePlatform();\n\n const [refResizeTextarea, resize] = useResizeTextarea(onHeightChange, true);\n const textareaRef = useExternRef(getRef, refResizeTextarea);\n\n React.useEffect(resize, [resize, platform]);\n\n return (\n <div\n ref={getRootRef}\n className={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n shadow && styles.shadow,\n className,\n )}\n style={style}\n >\n <div className={styles.form}>\n {hasReactNode(before) && <div className={styles.before}>{before}</div>}\n\n <div className={styles.formIn}>\n <WriteBarTypography\n {...restProps}\n Component=\"textarea\"\n className={styles.textarea}\n onChange={callMultiple(onChange, resize)}\n getRootRef={textareaRef}\n />\n {hasReactNode(inlineAfter) && <div className={styles.inlineAfter}>{inlineAfter}</div>}\n </div>\n\n {hasReactNode(after) && <div className={styles.after}>{after}</div>}\n </div>\n </div>\n );\n};\n"],"names":["React","classNames","hasReactNode","useExternRef","usePlatform","callMultiple","useResizeTextarea","Headline","Title","styles","WriteBarTypography","props","platform","level","weight","WriteBar","className","style","before","inlineAfter","after","getRootRef","getRef","onHeightChange","shadow","onChange","restProps","refResizeTextarea","resize","textareaRef","useEffect","div","ref","host","ios","form","formIn","Component","textarea"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,YAAY,QAAQ,4BAAyB;AAEtD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,KAAK,QAAQ,+BAA4B;AAElD,OAAOC,YAAY,wBAAwB;AAgC3C,MAAMC,qBAAqB,CAACC;IAC1B,MAAMC,WAAWR;IAEjB,IAAIQ,aAAa,OAAO;QACtB,qBAAO,KAACJ;YAAO,GAAGG,KAAK;YAAEE,OAAM;YAAIC,QAAO;;IAC5C;IAEA,qBAAO,KAACP;QAASO,QAAO;QAAK,GAAGH,KAAK;;AACvC;AAEA;;CAEC,GACD,OAAO,MAAMI,WAAW,CAAC,EACvBC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,WAAW,EACXC,KAAK,EACLC,UAAU,EACVC,MAAM,EACNC,cAAc,EACdC,SAAS,KAAK,EACdC,QAAQ,EACR,GAAGC,WACW;IACd,MAAMd,WAAWR;IAEjB,MAAM,CAACuB,mBAAmBC,OAAO,GAAGtB,kBAAkBiB,gBAAgB;IACtE,MAAMM,cAAc1B,aAAamB,QAAQK;IAEzC3B,MAAM8B,SAAS,CAACF,QAAQ;QAACA;QAAQhB;KAAS;IAE1C,qBACE,KAACmB;QACCC,KAAKX;QACLL,WAAWf,WACTQ,OAAOwB,IAAI,EACXrB,aAAa,SAASH,OAAOyB,GAAG,EAChCV,UAAUf,OAAOe,MAAM,EACvBR;QAEFC,OAAOA;kBAEP,cAAA,MAACc;YAAIf,WAAWP,OAAO0B,IAAI;;gBACxBjC,aAAagB,yBAAW,KAACa;oBAAIf,WAAWP,OAAOS,MAAM;8BAAGA;;8BAEzD,MAACa;oBAAIf,WAAWP,OAAO2B,MAAM;;sCAC3B,KAAC1B;4BACE,GAAGgB,SAAS;4BACbW,WAAU;4BACVrB,WAAWP,OAAO6B,QAAQ;4BAC1Bb,UAAUpB,aAAaoB,UAAUG;4BACjCP,YAAYQ;;wBAEb3B,aAAaiB,8BAAgB,KAACY;4BAAIf,WAAWP,OAAOU,WAAW;sCAAGA;;;;gBAGpEjB,aAAakB,wBAAU,KAACW;oBAAIf,WAAWP,OAAOW,KAAK;8BAAGA;;;;;AAI/D,EAAE"}
|
|
@@ -58,10 +58,10 @@ const warn = warnOnce('WriteBarIcon');
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
return /*#__PURE__*/ _jsxs(Tappable, {
|
|
61
|
-
...restProps,
|
|
62
61
|
Component: "button",
|
|
63
62
|
hasHover: false,
|
|
64
63
|
activeMode: styles.active,
|
|
64
|
+
...restProps,
|
|
65
65
|
baseClassName: classNames(styles.host, platform === 'ios' && styles.ios, mode === 'send' && styles.modeSend, mode === 'done' && styles.modeDone),
|
|
66
66
|
children: [
|
|
67
67
|
/*#__PURE__*/ _jsxs("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon24Attach,\n Icon24CheckCircleOutline,\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon28Send,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Counter } from '../Counter/Counter';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './WriteBarIcon.module.css';\n\nconst predefinedLabel = {\n attach: 'Прикрепить файл',\n send: 'Отправить',\n done: 'Готово',\n};\n\nexport interface WriteBarIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки и установки текста кнопки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируются, а для `label` по умолчанию используется текст на \"ru_RU\".\n *\n * Валидные значения:\n * - `attach` – иконка прикрепления, текст по умолчанию — \"Прикрепить файл\";\n * - `send` – иконка отправки, текст по умолчанию — \"Отправить\";\n * - `done` – иконка отправки в режиме редактирования, текст по умолчанию — \"Готово\"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon24Attach,\n Icon24CheckCircleOutline,\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon28Send,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Counter } from '../Counter/Counter';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './WriteBarIcon.module.css';\n\nconst predefinedLabel = {\n attach: 'Прикрепить файл',\n send: 'Отправить',\n done: 'Готово',\n};\n\nexport interface WriteBarIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки и установки текста кнопки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируются, а для `label` по умолчанию используется текст на \"ru_RU\".\n *\n * Валидные значения:\n * - `attach` – иконка прикрепления, текст по умолчанию — \"Прикрепить файл\";\n * - `send` – иконка отправки, текст по умолчанию — \"Отправить\";\n * - `done` – иконка отправки в режиме редактирования, текст по умолчанию — \"Готово\".\n */\n mode?: 'attach' | 'send' | 'done';\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n /**\n * Текст кнопки. Необходим для ассистивных технологий.\n */\n label?: string;\n}\n\nconst warn = warnOnce('WriteBarIcon');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBarIcon\n */\nexport const WriteBarIcon = ({\n mode,\n children,\n count,\n label: labelProp,\n ...restProps\n}: WriteBarIconProps): React.ReactNode => {\n const platform = usePlatform();\n\n let predefinedIcons;\n\n switch (mode) {\n case 'attach':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon28AddCircleOutline : Icon24Attach,\n IconRegular: platform === 'ios' ? Icon28AddCircleOutline : Icon28AttachOutline,\n };\n break;\n\n case 'send':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon48WritebarSend : Icon24Send,\n IconRegular: platform === 'ios' ? Icon48WritebarSend : Icon28Send,\n };\n break;\n\n case 'done':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon48WritebarDone : Icon24CheckCircleOutline,\n IconRegular: platform === 'ios' ? Icon48WritebarDone : Icon28CheckCircleOutline,\n };\n break;\n\n default:\n break;\n }\n\n const label = labelProp ?? (mode && predefinedLabel[mode]);\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['button-name'], 'error');\n }\n }\n\n return (\n <Tappable\n Component=\"button\"\n hasHover={false}\n activeMode={styles.active}\n {...restProps}\n baseClassName={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n mode === 'send' && styles.modeSend,\n mode === 'done' && styles.modeDone,\n )}\n >\n <span className={styles.in}>\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n {predefinedIcons ? <AdaptiveIconRenderer {...predefinedIcons} /> : children}\n </span>\n {hasReactNode(count) && (\n <Counter className={styles.counter} size=\"s\">\n {count}\n </Counter>\n )}\n </Tappable>\n );\n};\n"],"names":["React","Icon24Attach","Icon24CheckCircleOutline","Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon28Send","Icon48WritebarDone","Icon48WritebarSend","classNames","hasReactNode","usePlatform","hasAccessibleName","COMMON_WARNINGS","warnOnce","AdaptiveIconRenderer","Counter","Tappable","VisuallyHidden","styles","predefinedLabel","attach","send","done","warn","WriteBarIcon","mode","children","count","label","labelProp","restProps","platform","predefinedIcons","IconCompact","IconRegular","process","env","NODE_ENV","isAccessible","a11y","Component","hasHover","activeMode","active","baseClassName","host","ios","modeSend","modeDone","span","className","in","counter","size"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,YAAY,EACZC,wBAAwB,EACxBC,UAAU,EACVC,sBAAsB,EACtBC,mBAAmB,EACnBC,wBAAwB,EACxBC,UAAU,EACVC,kBAAkB,EAClBC,kBAAkB,QACb,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/D,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,4BAA4B;AAE/C,MAAMC,kBAAkB;IACtBC,QAAQ;IACRC,MAAM;IACNC,MAAM;AACR;AAuBA,MAAMC,OAAOV,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMW,eAAe,CAAC,EAC3BC,IAAI,EACJC,QAAQ,EACRC,KAAK,EACLC,OAAOC,SAAS,EAChB,GAAGC,WACe;IAClB,MAAMC,WAAWrB;IAEjB,IAAIsB;IAEJ,OAAQP;QACN,KAAK;YACHO,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQ7B,yBAAyBH;gBAC3DmC,aAAaH,aAAa,QAAQ7B,yBAAyBC;YAC7D;YACA;QAEF,KAAK;YACH6B,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQxB,qBAAqBN;gBACvDiC,aAAaH,aAAa,QAAQxB,qBAAqBF;YACzD;YACA;QAEF,KAAK;YACH2B,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQzB,qBAAqBN;gBACvDkC,aAAaH,aAAa,QAAQzB,qBAAqBF;YACzD;YACA;QAEF;YACE;IACJ;IAEA,MAAMwB,QAAQC,aAAcJ,CAAAA,QAAQN,eAAe,CAACM,KAAK,AAAD;IAExD,IAAIU,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAe3B,kBAAkB;YACrCe,UAAU;gBAACA;gBAAUE;aAAM;YAC3B,GAAGE,SAAS;QACd;QAEA,IAAI,CAACQ,cAAc;YACjBf,KAAKX,gBAAgB2B,IAAI,CAAC,cAAc,EAAE;QAC5C;IACF;IAEA,qBACE,MAACvB;QACCwB,WAAU;QACVC,UAAU;QACVC,YAAYxB,OAAOyB,MAAM;QACxB,GAAGb,SAAS;QACbc,eAAepC,WACbU,OAAO2B,IAAI,EACXd,aAAa,SAASb,OAAO4B,GAAG,EAChCrB,SAAS,UAAUP,OAAO6B,QAAQ,EAClCtB,SAAS,UAAUP,OAAO8B,QAAQ;;0BAGpC,MAACC;gBAAKC,WAAWhC,OAAOiC,EAAE;;oBACvBvB,uBAAS,KAACX;kCAAgBW;;oBAC1BI,gCAAkB,KAAClB;wBAAsB,GAAGkB,eAAe;yBAAON;;;YAEpEjB,aAAakB,wBACZ,KAACZ;gBAAQmC,WAAWhC,OAAOkC,OAAO;gBAAEC,MAAK;0BACtC1B;;;;AAKX,EAAE"}
|
|
@@ -3,7 +3,11 @@ import { addMonths, endOfDay, isAfter, isBefore, isSameDay, startOfDay, subMonth
|
|
|
3
3
|
import { DEFAULT_MAX_YEAR, DEFAULT_MIN_YEAR, isDayMinMaxRestricted } from "../lib/calendar.js";
|
|
4
4
|
export function useCalendar({ value, disablePast, disableFuture, shouldDisableDate, onHeaderChange, onNextMonth, onPrevMonth, minDateTime, maxDateTime }) {
|
|
5
5
|
const [viewDate, setViewDate] = React.useState((Array.isArray(value) ? value[0] : value) ?? new Date());
|
|
6
|
+
// соответствует дню, на котором сейчас есть фокус
|
|
7
|
+
// меняется при переключении дней с помощью стрелок
|
|
6
8
|
const [focusedDay, setFocusedDay] = React.useState();
|
|
9
|
+
// соотвествует дню, на котором можно сфокусироваться с помощью Tab
|
|
10
|
+
const [focusableDay, setFocusableDay] = React.useState();
|
|
7
11
|
const setPrevMonth = React.useCallback(()=>{
|
|
8
12
|
onPrevMonth?.();
|
|
9
13
|
setViewDate(subMonths(viewDate, 1));
|
|
@@ -105,6 +109,8 @@ export function useCalendar({ value, disablePast, disableFuture, shouldDisableDa
|
|
|
105
109
|
setNextMonth,
|
|
106
110
|
focusedDay,
|
|
107
111
|
setFocusedDay,
|
|
112
|
+
focusableDay,
|
|
113
|
+
setFocusableDay,
|
|
108
114
|
isDayFocused,
|
|
109
115
|
isDayDisabled,
|
|
110
116
|
resetSelectedDay,
|