@vkontakte/vkui 7.2.0 → 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 +39 -7
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +78 -18
- 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 +68 -3
- 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 +37 -5
- package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.js +21 -8
- 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 +25 -15
- 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/ChipsInputBase.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.js +1 -0
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/components/ChipsInputBase/helpers.d.ts +1 -1
- package/dist/components/ChipsInputBase/helpers.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/helpers.js +4 -0
- package/dist/components/ChipsInputBase/helpers.js.map +1 -1
- package/dist/components/ChipsInputBase/types.d.ts +87 -5
- 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 +11 -4
- 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 +12 -4
- 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 +2 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +62 -10
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/DateInput.js +154 -63
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateInput/hooks.d.ts +7 -6
- package/dist/components/DateInput/hooks.d.ts.map +1 -1
- package/dist/components/DateInput/hooks.js +15 -8
- package/dist/components/DateInput/hooks.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +51 -7
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +13 -3
- 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/ModalCard.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCard.js +4 -12
- package/dist/components/ModalCard/ModalCard.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/ModalPage.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPage.js +5 -12
- package/dist/components/ModalPage/ModalPage.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 +20 -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 +4 -2
- package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
- package/dist/components/ModalRoot/useModalManager.js +12 -3
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/ModalRoot/useModalRootContext.js +1 -0
- package/dist/components/ModalRoot/useModalRootContext.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 +4 -4
- 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 +72 -14
- 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 +20 -7
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js +25 -15
- 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/ChipsInputBase.js +1 -0
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/helpers.js +4 -0
- package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +9 -3
- 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 +12 -3
- 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 +2 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +141 -57
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateInput/hooks.js +15 -8
- package/dist/cssm/components/DateInput/hooks.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +11 -3
- 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/FormItem.module.css +1 -0
- 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/ModalCard.js +2 -11
- package/dist/cssm/components/ModalCard/ModalCard.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/ModalPage.js +3 -11
- package/dist/cssm/components/ModalPage/ModalPage.js.map +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 +12 -3
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalRootContext.js +1 -0
- package/dist/cssm/components/ModalRoot/useModalRootContext.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/Tappable.module.css +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 +4 -4
- 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 +64 -28
- 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/date.js +6 -0
- package/dist/cssm/lib/date.js.map +1 -1
- package/dist/cssm/lib/dom.js +6 -0
- package/dist/cssm/lib/dom.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/cssm/styles/constants.css +2 -2
- package/dist/hooks/useCalendar.d.ts +3 -1
- 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 +6 -4
- package/dist/hooks/useDateInput.d.ts.map +1 -1
- package/dist/hooks/useDateInput.js +65 -29
- 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/date.d.ts.map +1 -1
- package/dist/lib/date.js +6 -0
- package/dist/lib/date.js.map +1 -1
- package/dist/lib/dom.d.ts +1 -0
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/dom.js +6 -0
- package/dist/lib/dom.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 +135 -27
- 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 +166 -49
- 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 +73 -19
- package/src/components/CalendarTime/CalendarTime.module.css.d.ts.map +1 -0
- package/src/components/CalendarTime/CalendarTime.tsx +65 -15
- 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/ChipsInputBase.tsx +1 -0
- package/src/components/ChipsInputBase/helpers.ts +5 -1
- package/src/components/ChipsInputBase/types.ts +87 -7
- package/src/components/ChipsSelect/ChipsSelect.module.css.d.ts.map +1 -0
- package/src/components/ChipsSelect/ChipsSelect.tsx +23 -11
- 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 +59 -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 +5 -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 +221 -72
- package/src/components/DateInput/hooks.ts +34 -23
- package/src/components/DateRangeInput/DateRangeInput.module.css.d.ts.map +1 -0
- package/src/components/DateRangeInput/DateRangeInput.tsx +68 -11
- 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 +1 -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/ModalCard.tsx +2 -9
- 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/ModalPage.tsx +3 -10
- 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 +22 -16
- package/src/components/ModalRoot/useModalManager.tsx +14 -5
- package/src/components/ModalRoot/useModalRootContext.ts +1 -1
- 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 +1 -1
- 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 +152 -7
- 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 +9 -1
- package/src/hooks/useDateInput.ts +66 -33
- 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/date.ts +6 -0
- package/src/lib/dom.tsx +8 -0
- 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 +2 -2
- 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/ContentCard/ContentCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type { HasComponent, HasRef, HasRootRef } from '../../types';\nimport { Card, type CardProps } from '../Card/Card';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './ContentCard.module.css';\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n HasComponent,\n Omit<TappableProps, 'getRootRef' | 'crossOrigin' | 'title'>,\n Omit<React.ImgHTMLAttributes<HTMLImageElement>, keyof React.HTMLAttributes<HTMLImageElement>>,\n HasRef<HTMLImageElement> {\n /**\n Текст над
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type { HasComponent, HasRef, HasRootRef } from '../../types';\nimport { Card, type CardProps } from '../Card/Card';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './ContentCard.module.css';\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n HasComponent,\n Omit<TappableProps, 'getRootRef' | 'crossOrigin' | 'title'>,\n Omit<React.ImgHTMLAttributes<HTMLImageElement>, keyof React.HTMLAttributes<HTMLImageElement>>,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком.\n */\n overTitle?: React.ReactNode;\n /**\n Заголовок.\n */\n title?: React.ReactNode;\n /**\n Позволяет поменять тег используемый для заголовка.\n */\n titleComponent?: React.ElementType;\n /**\n Текст.\n */\n description?: React.ReactNode;\n /**\n Нижний текст.\n */\n caption?: React.ReactNode;\n /**\n Максимальная высота изображения.\n */\n maxHeight?: number;\n /**\n * Внешний вид карточки.\n */\n mode?: CardProps['mode'];\n /**\n * Пользовательское значения стиля `object-fit` для картинки\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit).\n */\n imageObjectFit?: React.CSSProperties['objectFit'];\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ContentCard\n */\nexport const ContentCard = ({\n overTitle,\n title,\n titleComponent = 'span',\n description,\n caption,\n // card props\n className,\n mode = 'shadow',\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n src,\n srcSet,\n alt = '',\n width = '100%',\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n fetchPriority,\n imageObjectFit,\n hasHover = false,\n hasActive = false,\n Component = 'li',\n ...restProps\n}: ContentCardProps): React.ReactNode => {\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n Component={Component}\n style={style}\n className={classNames(restProps.disabled && styles.disabled, className)}\n >\n <Tappable\n hasHover={hasHover}\n hasActive={hasActive}\n {...restProps}\n baseClassName={styles.tappable}\n >\n {(src || srcSet) && (\n <img\n ref={getRef}\n className={styles.img}\n src={src}\n srcSet={srcSet}\n alt={alt}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n useMap={useMap}\n {...getFetchPriorityProp(fetchPriority)}\n height={height}\n width={width}\n style={{ maxHeight, objectFit: imageObjectFit }}\n />\n )}\n <div className={styles.body}>\n {hasReactNode(overTitle) && (\n <Caption\n className={classNames(styles.text, styles.overTitle)}\n weight=\"1\"\n level=\"3\"\n caps\n >\n {overTitle}\n </Caption>\n )}\n {hasReactNode(title) && (\n <Headline className={styles.text} weight=\"2\" level=\"1\" Component={titleComponent}>\n {title}\n </Headline>\n )}\n {hasReactNode(description) && <Text className={styles.text}>{description}</Text>}\n {hasReactNode(caption) && (\n <Footnote className={classNames(styles.text, styles.caption)}>{caption}</Footnote>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n"],"names":["React","classNames","hasReactNode","getFetchPriorityProp","Card","Tappable","Caption","Footnote","Headline","Text","styles","ContentCard","overTitle","title","titleComponent","description","caption","className","mode","style","getRootRef","getRef","maxHeight","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","fetchPriority","imageObjectFit","hasHover","hasActive","Component","restProps","disabled","baseClassName","tappable","img","ref","objectFit","div","body","text","weight","level","caps"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,oBAAoB,QAAQ,qBAAkB;AAEvD,SAASC,IAAI,QAAwB,kBAAe;AACpD,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,IAAI,QAAQ,6BAA0B;AAC/C,OAAOC,YAAY,2BAA2B;AA2C9C;;CAEC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,SAAS,EACTC,KAAK,EACLC,iBAAiB,MAAM,EACvBC,WAAW,EACXC,OAAO,EACP,aAAa;AACbC,SAAS,EACTC,OAAO,QAAQ,EACfC,KAAK,EACLC,UAAU,EACV,YAAY;AACZC,MAAM,EACNC,SAAS,EACTC,GAAG,EACHC,MAAM,EACNC,MAAM,EAAE,EACRC,QAAQ,MAAM,EACdC,MAAM,EACNC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,cAAc,EACdC,KAAK,EACLC,MAAM,EACNC,aAAa,EACbC,cAAc,EACdC,WAAW,KAAK,EAChBC,YAAY,KAAK,EACjBC,YAAY,IAAI,EAChB,GAAGC,WACc;IACjB,qBACE,KAACnC;QACCc,MAAMA;QACNE,YAAYA;QACZkB,WAAWA;QACXnB,OAAOA;QACPF,WAAWhB,WAAWsC,UAAUC,QAAQ,IAAI9B,OAAO8B,QAAQ,EAAEvB;kBAE7D,cAAA,MAACZ;YACC+B,UAAUA;YACVC,WAAWA;YACV,GAAGE,SAAS;YACbE,eAAe/B,OAAOgC,QAAQ;;gBAE5BnB,CAAAA,OAAOC,MAAK,mBACZ,KAACmB;oBACCC,KAAKvB;oBACLJ,WAAWP,OAAOiC,GAAG;oBACrBpB,KAAKA;oBACLC,QAAQA;oBACRC,KAAKA;oBACLG,aAAaA;oBACbC,UAAUA;oBACVC,SAASA;oBACTC,gBAAgBA;oBAChBC,OAAOA;oBACPC,QAAQA;oBACP,GAAG9B,qBAAqB+B,cAAc;oBACvCP,QAAQA;oBACRD,OAAOA;oBACPP,OAAO;wBAAEG;wBAAWuB,WAAWV;oBAAe;;8BAGlD,MAACW;oBAAI7B,WAAWP,OAAOqC,IAAI;;wBACxB7C,aAAaU,4BACZ,KAACN;4BACCW,WAAWhB,WAAWS,OAAOsC,IAAI,EAAEtC,OAAOE,SAAS;4BACnDqC,QAAO;4BACPC,OAAM;4BACNC,IAAI;sCAEHvC;;wBAGJV,aAAaW,wBACZ,KAACL;4BAASS,WAAWP,OAAOsC,IAAI;4BAAEC,QAAO;4BAAIC,OAAM;4BAAIZ,WAAWxB;sCAC/DD;;wBAGJX,aAAaa,8BAAgB,KAACN;4BAAKQ,WAAWP,OAAOsC,IAAI;sCAAGjC;;wBAC5Db,aAAac,0BACZ,KAACT;4BAASU,WAAWhB,WAAWS,OAAOsC,IAAI,EAAEtC,OAAOM,OAAO;sCAAIA;;;;;;;AAM3E,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Counter/Counter.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { type CSSCustomProperties, type HTMLAttributesWithRootRef } from '../../types';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Headline } from '../Typography/Headline/Headline';\nimport styles from './Counter.module.css';\n\nconst modeClassNames = {\n primary: styles.modePrimary,\n contrast: styles.modeContrast,\n tertiary: styles.modeTertiary,\n inherit: styles.modeInherit,\n};\n\nconst appearanceClassNames: Record<string, string> = {\n 'custom': styles.appearanceCustom,\n 'accent': styles.appearanceAccent,\n 'neutral': styles.appearanceNeutral,\n 'accent-green': styles.appearanceAccentGreen,\n 'accent-red': styles.appearanceAccentRed,\n};\n\nconst sizeClassNames = {\n s: styles.sizeS,\n m: styles.sizeM,\n};\n\nexport interface CounterProps extends HTMLAttributesWithRootRef<HTMLSpanElement> {\n /**\n * Режим отображения
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Counter/Counter.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { type CSSCustomProperties, type HTMLAttributesWithRootRef } from '../../types';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Headline } from '../Typography/Headline/Headline';\nimport styles from './Counter.module.css';\n\nconst modeClassNames = {\n primary: styles.modePrimary,\n contrast: styles.modeContrast,\n tertiary: styles.modeTertiary,\n inherit: styles.modeInherit,\n};\n\nconst appearanceClassNames: Record<string, string> = {\n 'custom': styles.appearanceCustom,\n 'accent': styles.appearanceAccent,\n 'neutral': styles.appearanceNeutral,\n 'accent-green': styles.appearanceAccentGreen,\n 'accent-red': styles.appearanceAccentRed,\n};\n\nconst sizeClassNames = {\n s: styles.sizeS,\n m: styles.sizeM,\n};\n\nexport interface CounterProps extends HTMLAttributesWithRootRef<HTMLSpanElement> {\n /**\n * Режим отображения счетчика.\n */\n mode?: 'primary' | 'contrast' | 'tertiary' | 'inherit';\n\n /**\n * Внешний вид счетчика.\n */\n appearance?: 'accent' | 'neutral' | 'accent-green' | 'accent-red' | 'custom';\n\n /**\n * Пользовательский цвет (работает только при appearance=\"custom\")\n * - При mode=\"primary\" - изменяет фон\n * - При mode=\"contrast\" - изменяет цвет текста\n * - При mode=\"tertiary\" - изменяет цвет текста\n * - При mode=\"inherit\" - не работает.\n */\n color?: string;\n /**\n * Размер счетчика.\n */\n size?: 's' | 'm';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Counter\n */\nexport const Counter = ({\n mode = 'inherit',\n appearance: appearanceProp,\n color,\n size = 'm',\n children,\n className,\n style: styleProp,\n ...restProps\n}: CounterProps): React.ReactNode => {\n const appearance = React.useMemo<CounterProps['appearance']>(() => {\n if (mode === 'inherit') {\n return undefined;\n }\n if (appearanceProp) {\n return appearanceProp;\n }\n return 'accent';\n }, [appearanceProp, mode]);\n\n const style: (React.CSSProperties & CSSCustomProperties<string | undefined>) | undefined =\n React.useMemo(() => {\n if (mode === 'inherit' || appearance !== 'custom' || !color) {\n return undefined;\n }\n switch (mode) {\n case 'primary':\n return {\n '--vkui_internal--counter_background': color,\n };\n case 'contrast':\n case 'tertiary':\n return {\n '--vkui_internal--counter_foreground': color,\n };\n }\n }, [appearance, color, mode]);\n\n if (React.Children.count(children) === 0) {\n return null;\n }\n\n const CounterTypography = size === 's' ? Caption : Headline;\n const counterLevel = size === 's' ? '1' : '2';\n\n return (\n <CounterTypography\n {...restProps}\n style={mergeStyle(style, styleProp)}\n Component=\"span\"\n className={classNames(\n 'vkuiInternalCounter',\n styles.host,\n modeClassNames[mode],\n !!appearance && appearanceClassNames[appearance],\n sizeClassNames[size],\n className,\n )}\n level={counterLevel}\n >\n {children}\n </CounterTypography>\n );\n};\n"],"names":["React","classNames","mergeStyle","Caption","Headline","styles","modeClassNames","primary","modePrimary","contrast","modeContrast","tertiary","modeTertiary","inherit","modeInherit","appearanceClassNames","appearanceCustom","appearanceAccent","appearanceNeutral","appearanceAccentGreen","appearanceAccentRed","sizeClassNames","s","sizeS","m","sizeM","Counter","mode","appearance","appearanceProp","color","size","children","className","style","styleProp","restProps","useMemo","undefined","Children","count","CounterTypography","counterLevel","Component","host","level"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AAEtD,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,OAAOC,YAAY,uBAAuB;AAE1C,MAAMC,iBAAiB;IACrBC,SAASF,OAAOG,WAAW;IAC3BC,UAAUJ,OAAOK,YAAY;IAC7BC,UAAUN,OAAOO,YAAY;IAC7BC,SAASR,OAAOS,WAAW;AAC7B;AAEA,MAAMC,uBAA+C;IACnD,UAAUV,OAAOW,gBAAgB;IACjC,UAAUX,OAAOY,gBAAgB;IACjC,WAAWZ,OAAOa,iBAAiB;IACnC,gBAAgBb,OAAOc,qBAAqB;IAC5C,cAAcd,OAAOe,mBAAmB;AAC1C;AAEA,MAAMC,iBAAiB;IACrBC,GAAGjB,OAAOkB,KAAK;IACfC,GAAGnB,OAAOoB,KAAK;AACjB;AA2BA;;CAEC,GACD,OAAO,MAAMC,UAAU,CAAC,EACtBC,OAAO,SAAS,EAChBC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,OAAO,GAAG,EACVC,QAAQ,EACRC,SAAS,EACTC,OAAOC,SAAS,EAChB,GAAGC,WACU;IACb,MAAMR,aAAa5B,MAAMqC,OAAO,CAA6B;QAC3D,IAAIV,SAAS,WAAW;YACtB,OAAOW;QACT;QACA,IAAIT,gBAAgB;YAClB,OAAOA;QACT;QACA,OAAO;IACT,GAAG;QAACA;QAAgBF;KAAK;IAEzB,MAAMO,QACJlC,MAAMqC,OAAO,CAAC;QACZ,IAAIV,SAAS,aAAaC,eAAe,YAAY,CAACE,OAAO;YAC3D,OAAOQ;QACT;QACA,OAAQX;YACN,KAAK;gBACH,OAAO;oBACL,uCAAuCG;gBACzC;YACF,KAAK;YACL,KAAK;gBACH,OAAO;oBACL,uCAAuCA;gBACzC;QACJ;IACF,GAAG;QAACF;QAAYE;QAAOH;KAAK;IAE9B,IAAI3B,MAAMuC,QAAQ,CAACC,KAAK,CAACR,cAAc,GAAG;QACxC,OAAO;IACT;IAEA,MAAMS,oBAAoBV,SAAS,MAAM5B,UAAUC;IACnD,MAAMsC,eAAeX,SAAS,MAAM,MAAM;IAE1C,qBACE,KAACU;QACE,GAAGL,SAAS;QACbF,OAAOhC,WAAWgC,OAAOC;QACzBQ,WAAU;QACVV,WAAWhC,WACT,uBACAI,OAAOuC,IAAI,EACXtC,cAAc,CAACqB,KAAK,EACpB,CAAC,CAACC,cAAcb,oBAAoB,CAACa,WAAW,EAChDP,cAAc,CAACU,KAAK,EACpBE;QAEFY,OAAOH;kBAENV;;AAGP,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport styles from './CustomScrollView.module.css';\n\nconst overscrollBehaviorClassNames = {\n auto: undefined,\n contain: styles.overscrollBehaviorContain,\n none: styles.overscrollBehaviorNone,\n};\n\nconst scrollBehaviorClassNames = {\n auto: undefined,\n smooth: styles.scrollBehaviorSmooth,\n};\n\nexport interface CustomScrollViewProps\n extends React.AllHTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n className?: HTMLDivElement['className'];\n onScroll?: (event: React.UIEvent<HTMLDivElement>) => void;\n children: React.ReactNode;\n /**\n * Поведение overscroll, подробнее можно почитать в [документации](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior)
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport styles from './CustomScrollView.module.css';\n\nconst overscrollBehaviorClassNames = {\n auto: undefined,\n contain: styles.overscrollBehaviorContain,\n none: styles.overscrollBehaviorNone,\n};\n\nconst scrollBehaviorClassNames = {\n auto: undefined,\n smooth: styles.scrollBehaviorSmooth,\n};\n\nexport interface CustomScrollViewProps\n extends React.AllHTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * `className` для компонента.\n */\n className?: HTMLDivElement['className'];\n /**\n * Обработчик события `scroll`.\n */\n onScroll?: (event: React.UIEvent<HTMLDivElement>) => void;\n /**\n * Содержимое.\n */\n children: React.ReactNode;\n /**\n * Поведение overscroll, подробнее можно почитать в [документации](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior).\n */\n overscrollBehavior?: 'auto' | 'contain' | 'none';\n /**\n * Поведение scroll-behavior, подробнее можно почитать в [документации](https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior).\n */\n scrollBehavior?: 'auto' | 'smooth';\n /**\n * Включение отображения горизонтального скролла.\n */\n enableHorizontalScroll?: boolean;\n /**\n * Скрытие скроллбара.\n *\n * > В версии ниже Firefox 64 будет виден скролл.\n */\n scrollbarHidden?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomScrollView\n */\nexport const CustomScrollView = ({\n className,\n children,\n enableHorizontalScroll = false,\n onScroll,\n getRootRef,\n overscrollBehavior = 'auto',\n scrollBehavior = 'auto',\n scrollbarHidden = false,\n ...restProps\n}: CustomScrollViewProps): React.ReactNode => {\n return (\n <div\n className={classNames(\n className,\n styles.host,\n enableHorizontalScroll && styles.horizontalScrollEnabled,\n overscrollBehaviorClassNames[overscrollBehavior],\n scrollBehaviorClassNames[scrollBehavior],\n scrollbarHidden && styles.scrollbarHidden,\n )}\n ref={getRootRef}\n onScroll={onScroll}\n {...restProps}\n >\n {children}\n </div>\n );\n};\n"],"names":["React","classNames","styles","overscrollBehaviorClassNames","auto","undefined","contain","overscrollBehaviorContain","none","overscrollBehaviorNone","scrollBehaviorClassNames","smooth","scrollBehaviorSmooth","CustomScrollView","className","children","enableHorizontalScroll","onScroll","getRootRef","overscrollBehavior","scrollBehavior","scrollbarHidden","restProps","div","host","horizontalScrollEnabled","ref"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,gCAAgC;AAEnD,MAAMC,+BAA+B;IACnCC,MAAMC;IACNC,SAASJ,OAAOK,yBAAyB;IACzCC,MAAMN,OAAOO,sBAAsB;AACrC;AAEA,MAAMC,2BAA2B;IAC/BN,MAAMC;IACNM,QAAQT,OAAOU,oBAAoB;AACrC;AAqCA;;CAEC,GACD,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,SAAS,EACTC,QAAQ,EACRC,yBAAyB,KAAK,EAC9BC,QAAQ,EACRC,UAAU,EACVC,qBAAqB,MAAM,EAC3BC,iBAAiB,MAAM,EACvBC,kBAAkB,KAAK,EACvB,GAAGC,WACmB;IACtB,qBACE,KAACC;QACCT,WAAWb,WACTa,WACAZ,OAAOsB,IAAI,EACXR,0BAA0Bd,OAAOuB,uBAAuB,EACxDtB,4BAA4B,CAACgB,mBAAmB,EAChDT,wBAAwB,CAACU,eAAe,EACxCC,mBAAmBnB,OAAOmB,eAAe;QAE3CK,KAAKR;QACLD,UAAUA;QACT,GAAGK,SAAS;kBAEZP;;AAGP,EAAE"}
|
|
@@ -78,7 +78,7 @@ function findSelectedIndex(options = [], value) {
|
|
|
78
78
|
const filter = (options, inputValue, filterFn)=>{
|
|
79
79
|
return typeof filterFn === 'function' ? options.filter((option)=>filterFn(inputValue, option)) : options;
|
|
80
80
|
};
|
|
81
|
-
function isMousePositionChanged(event, prevPosition) {
|
|
81
|
+
/* eslint-enable jsdoc/require-jsdoc */ function isMousePositionChanged(event, prevPosition) {
|
|
82
82
|
return Math.abs(prevPosition.x - event.clientX) >= 1 || Math.abs(prevPosition.y - event.clientY) >= 1;
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
@@ -442,6 +442,13 @@ function isMousePositionChanged(event, prevPosition) {
|
|
|
442
442
|
selectFocused,
|
|
443
443
|
resetFocusedOption
|
|
444
444
|
]);
|
|
445
|
+
const handleInputKeydown = React.useCallback((event)=>{
|
|
446
|
+
onInputKeyDown?.(event, opened);
|
|
447
|
+
}, [
|
|
448
|
+
opened,
|
|
449
|
+
onInputKeyDown
|
|
450
|
+
]);
|
|
451
|
+
const _onInputKeyDown = callMultiple(handleKeyDownSelect, handleInputKeydown);
|
|
445
452
|
const handleOptionClick = React.useCallback((e)=>{
|
|
446
453
|
const index = Array.prototype.indexOf.call(e.currentTarget.parentNode?.children, e.currentTarget);
|
|
447
454
|
const option = options[index];
|
|
@@ -484,7 +491,8 @@ function isMousePositionChanged(event, prevPosition) {
|
|
|
484
491
|
// а значит нельзя на них опираться, чтобы запретить обработку такого события.
|
|
485
492
|
// C mousemove такой проблемы нет, что позволяет реализовать поведение при наведении с клавиатуры и при наведении мышью идентично `<select>`.
|
|
486
493
|
onMouseMove: (e)=>focusOptionOnMouseMove(e, index),
|
|
487
|
-
id: `${popupAriaId}-${option.value}
|
|
494
|
+
id: `${popupAriaId}-${option.value}`,
|
|
495
|
+
...option
|
|
488
496
|
})
|
|
489
497
|
}, `${typeof option.value}-${option.value}`);
|
|
490
498
|
}, [
|
|
@@ -655,7 +663,7 @@ function isMousePositionChanged(event, prevPosition) {
|
|
|
655
663
|
fetching: fetching,
|
|
656
664
|
value: inputValue,
|
|
657
665
|
onKeyUp: handleKeyUp,
|
|
658
|
-
onKeyDown:
|
|
666
|
+
onKeyDown: _onInputKeyDown,
|
|
659
667
|
onChange: onInputChange,
|
|
660
668
|
onClick: onClick,
|
|
661
669
|
before: before,
|
|
@@ -664,6 +672,7 @@ function isMousePositionChanged(event, prevPosition) {
|
|
|
664
672
|
children: selected?.label
|
|
665
673
|
}),
|
|
666
674
|
/*#__PURE__*/ _jsxs("select", {
|
|
675
|
+
tabIndex: -1,
|
|
667
676
|
ref: selectElRef,
|
|
668
677
|
name: name,
|
|
669
678
|
onChange: onNativeSelectChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelect.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, debounce } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useFocusWithin } from '../../hooks/useFocusWithin';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { useDOM } from '../../lib/dom';\nimport type { Placement } from '../../lib/floating';\nimport { defaultFilterFn, type FilterFn } from '../../lib/select';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport {\n CustomSelectDropdown,\n type CustomSelectDropdownProps,\n} from '../CustomSelectDropdown/CustomSelectDropdown';\nimport {\n CustomSelectOption,\n type CustomSelectOptionProps,\n} from '../CustomSelectOption/CustomSelectOption';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport {\n NOT_SELECTED,\n remapFromNativeValueToSelectValue,\n remapFromSelectValueToNativeValue,\n} from '../NativeSelect/NativeSelect';\nimport type {\n NativeSelectProps,\n NativeSelectValue,\n SelectValue,\n} from '../NativeSelect/NativeSelect';\nimport type { SelectType } from '../Select/Select';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport {\n CustomSelectClearButton,\n type CustomSelectClearButtonProps,\n} from './CustomSelectClearButton';\nimport {\n CustomSelectInput,\n type CustomSelectInputProps,\n} from './CustomSelectInput/CustomSelectInput';\nimport styles from './CustomSelect.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst findIndexAfter = (options: CustomSelectOptionInterface[] = [], startIndex = -1) => {\n if (startIndex >= options.length - 1) {\n return -1;\n }\n return options.findIndex((option, i) => i > startIndex && !option.disabled);\n};\n\nconst findIndexBefore = (\n options: CustomSelectOptionInterface[] = [],\n endIndex: number = options.length,\n) => {\n let result = -1;\n if (endIndex <= 0) {\n return result;\n }\n for (let i = endIndex - 1; i >= 0; i--) {\n let option = options[i];\n\n if (!option.disabled) {\n result = i;\n break;\n }\n }\n return result;\n};\n\nconst warn = warnOnce('CustomSelect');\n\nconst checkOptionsValueType = <T extends CustomSelectOptionInterface>(options: T[]) => {\n if (new Set(options.map((item) => typeof item.value)).size > 1) {\n warn(\n 'Некоторые значения ваших опций имеют разные типы. onChange всегда возвращает строковый тип.',\n 'error',\n );\n }\n};\n\nconst checkMixControlledAndUncontrolledState = (\n oldIsControlled: boolean,\n newIsControlled: boolean,\n) => {\n if (!oldIsControlled && newIsControlled) {\n warn(\n `Похоже, что компонент был переведен из состояния Uncontrolled в Controlled. Пожалуйста, не делайте так. Если вам нужно отобразить невыбранное состояние компонента, используйте value=null вместо undefined`,\n 'error',\n );\n }\n if (oldIsControlled && !newIsControlled) {\n warn(\n `Похоже, что компонент был переведен из состояния Controlled в Uncontrolled. Пожалуйста, не делайте так. Если вам нужно отобразить невыбранное состояние компонента, используйте value=null вместо undefined`,\n 'error',\n );\n }\n};\n\nfunction defaultRenderOptionFn<T extends CustomSelectOptionInterface>({\n option,\n ...props\n}: CustomSelectRenderOption<T>): React.ReactNode {\n return <CustomSelectOption {...props} />;\n}\n\nconst handleOptionDown: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n};\n\nfunction findSelectedIndex<T extends CustomSelectOptionInterface>(\n options: T[] = [],\n value: SelectValue,\n) {\n if (value === NOT_SELECTED.CUSTOM) {\n return -1;\n }\n return (\n options.findIndex((item) => {\n value = typeof item.value === 'number' ? Number(value) : value;\n return item.value === value;\n }) ?? -1\n );\n}\n\nconst filter = <T extends CustomSelectOptionInterface>(\n options: SelectProps<T>['options'],\n inputValue: string,\n filterFn: SelectProps<T>['filterFn'],\n) => {\n return typeof filterFn === 'function'\n ? options.filter((option) => filterFn(inputValue, option))\n : options;\n};\n\ntype MousePosition = {\n x: React.MouseEvent['clientX'];\n y: React.MouseEvent['clientY'];\n};\nfunction isMousePositionChanged(event: React.MouseEvent, prevPosition: MousePosition) {\n return (\n Math.abs(prevPosition.x - event.clientX) >= 1 || Math.abs(prevPosition.y - event.clientY) >= 1\n );\n}\n\nexport interface CustomSelectOptionInterface {\n value: Exclude<SelectValue, null>;\n label: React.ReactElement | string;\n disabled?: boolean;\n [index: string]: any;\n}\n\nexport interface CustomSelectRenderOption<T extends CustomSelectOptionInterface>\n extends CustomSelectOptionProps {\n option: T;\n}\n\nexport type { CustomSelectClearButtonProps };\n\nexport interface SelectProps<\n OptionInterfaceT extends CustomSelectOptionInterface = CustomSelectOptionInterface,\n> extends NativeSelectProps,\n Omit<FormFieldProps, 'maxHeight'>,\n Pick<CustomSelectDropdownProps, 'overscrollBehavior'>,\n Pick<CustomSelectInputProps, 'minLength' | 'maxLength' | 'pattern' | 'readOnly'> {\n /**\n * ref на внутрений компонент input\n */\n getSelectInputRef?: React.Ref<HTMLInputElement>;\n /**\n * Если `true`, то при клике на `CustomSelect` в нём появится текстовое поле для поиска по `options`. По умолчанию поиск\n * производится по `option.label`.\n */\n searchable?: boolean;\n /**\n * Текст, который будет отображен, если приходит пустой `options`.\n */\n emptyText?: string;\n /**\n * Событие изменения текстового поля\n */\n onInputChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n options: OptionInterfaceT[];\n /**\n * Функция для кастомной фильтрации. По умолчанию поиск производится по `option.label`.\n */\n filterFn?: false | FilterFn<OptionInterfaceT>;\n popupDirection?: 'top' | 'bottom';\n /**\n * Рендер-проп для кастомного рендера опции.\n * В объекте аргумента приходят [свойства опции](https://vkcom.github.io/VKUI/#/CustomSelectOption?id=props)\n *\n * > ⚠️ Важно: cвойство опции `disabled` должно выставляться только через проп `options`.\n * > Запрещается выставлять `disabled` проп опциям в обход `options`, иначе `CustomSelect` не будет знать об актуальном состоянии\n * опции.\n */\n renderOption?: (props: CustomSelectRenderOption<OptionInterfaceT>) => React.ReactNode;\n /**\n * Рендер-проп для кастомного рендера содержимого дропдауна.\n * В `defaultDropdownContent` содержится список опций в виде скроллящегося блока.\n */\n renderDropdown?: ({\n defaultDropdownContent,\n }: {\n defaultDropdownContent: React.ReactNode;\n }) => React.ReactNode;\n /**\n * Если `true`, то в дропдауне вместо списка опций рисуется спиннер. При переданных `renderDropdown` и `fetching: true`\n * \"победит\" `renderDropdown`.\n */\n fetching?: boolean;\n onClose?: VoidFunction;\n onOpen?: VoidFunction;\n /**\n * Иконка раскрывающегося списка\n */\n icon?: React.ReactNode;\n /**\n * Кастомная кнопка для очистки значения.\n * Должна принимать обязательное свойство `onClick`\n */\n ClearButton?: React.ComponentType<CustomSelectClearButtonProps>;\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения\n */\n allowClearButton?: boolean;\n /**\n * Передает атрибут `data-testid` для кнопки очистки\n */\n clearButtonTestId?: string;\n /**\n * Отступ от выпадающего списка\n */\n dropdownOffsetDistance?: number;\n /**\n * Ширина раскрывающегося списка зависит от контента\n */\n dropdownAutoWidth?: boolean;\n forceDropdownPortal?: boolean;\n selectType?: SelectType;\n /**\n * Отключает максимальную высоту по умолчанию\n */\n noMaxHeight?: boolean;\n /**\n * Передает атрибут `data-testid` для элемента, внутри которого отображается текст выбранной опции `CustomSelect` или плейсхолдер.\n */\n labelTextTestId?: string;\n /**\n * Передает атрибут `data-testid` для нативного элемента `select`.\n */\n nativeSelectTestId?: string;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\ntype MouseEventHandler = (event: React.MouseEvent<HTMLElement>) => void;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomSelect\n */\nexport function CustomSelect<OptionInterfaceT extends CustomSelectOptionInterface>(\n props: SelectProps<OptionInterfaceT>,\n): React.ReactNode {\n const [opened, setOpened] = React.useState(false);\n const {\n before,\n name,\n className,\n getRef,\n getRootRef,\n popupDirection = 'bottom',\n style,\n onChange,\n children,\n 'onInputChange': onInputChangeProp,\n renderDropdown,\n onOpen,\n onClose,\n fetching,\n forceDropdownPortal,\n selectType = 'default',\n searchable = false,\n 'renderOption': renderOptionProp = defaultRenderOptionFn,\n 'options': optionsProp,\n emptyText = 'Ничего не найдено',\n filterFn = defaultFilterFn,\n 'icon': iconProp,\n ClearButton = CustomSelectClearButton,\n allowClearButton = false,\n dropdownOffsetDistance = 0,\n dropdownAutoWidth = false,\n noMaxHeight = false,\n 'aria-labelledby': ariaLabelledBy,\n clearButtonTestId,\n nativeSelectTestId,\n defaultValue,\n required,\n getSelectInputRef,\n overscrollBehavior,\n onInputKeyDown,\n ...restProps\n } = props;\n\n if (process.env.NODE_ENV === 'development') {\n checkOptionsValueType(optionsProp);\n }\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleRootRef = useExternRef(containerRef, getRootRef);\n const scrollBoxRef = React.useRef<HTMLDivElement | null>(null);\n const selectElRef = useExternRef(getRef);\n const optionsWrapperRef = React.useRef<HTMLDivElement>(null);\n const scrollPerformedRef = React.useRef(false);\n\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | undefined>(-1);\n const [isControlledOutside, setIsControlledOutside] = React.useState(props.value !== undefined);\n const [inputValue, setInputValue] = React.useState('');\n const [[nativeSelectValue, prevNativeSelectValue], setNativeSelectValue] =\n useStateWithPrev<NativeSelectValue>(() => {\n if (props.value !== undefined) {\n return remapFromSelectValueToNativeValue(props.value);\n }\n if (defaultValue !== undefined) {\n return remapFromSelectValueToNativeValue(defaultValue);\n }\n return NOT_SELECTED.NATIVE;\n });\n\n const [popperPlacement, setPopperPlacement] = React.useState<Placement>(popupDirection);\n\n const options = React.useMemo(() => {\n return filter(optionsProp, inputValue, filterFn);\n }, [filterFn, inputValue, optionsProp]);\n\n const [selectedOptionIndex, setSelectedOptionIndex] = React.useState<number | undefined>(\n findSelectedIndex(options, props.value ?? defaultValue ?? null),\n );\n\n React.useEffect(\n function updateOptionsIndexes() {\n const value =\n props.value !== undefined\n ? props.value\n : remapFromNativeValueToSelectValue(nativeSelectValue);\n\n const selectedIndex = findSelectedIndex(options, value);\n setSelectedOptionIndex(selectedIndex);\n setFocusedOptionIndex(selectedIndex);\n },\n [props.value, nativeSelectValue, options, filterFn],\n );\n\n React.useEffect(\n function syncIsControlledState() {\n setIsControlledOutside((oldIsControlled) => {\n const newIsControlled = props.value !== undefined;\n checkMixControlledAndUncontrolledState(oldIsControlled, newIsControlled);\n return newIsControlled;\n });\n },\n [props.value],\n );\n\n React.useEffect(\n function syncNativeSelectValueWithPropValue() {\n if (props.value !== undefined) {\n setNativeSelectValue(remapFromSelectValueToNativeValue(props.value));\n }\n },\n [props.value, setNativeSelectValue],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (\n options.some(({ value }) => nativeSelectValue === value) ||\n (allowClearButton && nativeSelectValue === NOT_SELECTED.NATIVE)\n ) {\n const event = new Event('change', { bubbles: true });\n\n selectElRef.current?.dispatchEvent(event);\n }\n }, [nativeSelectValue]);\n\n const selected = React.useMemo(() => {\n if (!options.length) {\n return null;\n }\n\n return selectedOptionIndex !== undefined ? options[selectedOptionIndex] : undefined;\n }, [options, selectedOptionIndex]);\n\n const openedClassNames = React.useMemo(\n () =>\n (opened &&\n dropdownOffsetDistance === 0 &&\n (popperPlacement.includes('top') ? styles.popUp : styles.popDown)) ||\n undefined,\n [dropdownOffsetDistance, opened, popperPlacement],\n );\n\n const scrollToElement = React.useCallback((index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const optionsWrapper = optionsWrapperRef.current;\n const item =\n dropdown && optionsWrapper ? (optionsWrapper.children[index] as HTMLElement) : null;\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n }, []);\n\n const focusOptionByIndex = React.useCallback(\n (index: number | undefined, scrollTo = true) => {\n if (index === undefined || index < 0 || index > (options.length ?? 0) - 1) {\n return;\n }\n\n const option = options[index];\n\n if (option?.disabled) {\n return;\n }\n\n if (scrollTo) {\n scrollToElement(index);\n }\n\n setFocusedOptionIndex(index);\n },\n [options, scrollToElement],\n );\n\n const isValidIndex = React.useCallback(\n (index: number) => {\n return index >= 0 && index < (options.length ?? 0);\n },\n [options.length],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!opened) {\n scrollPerformedRef.current = false;\n return;\n }\n\n if (scrollPerformedRef.current) {\n return;\n }\n\n const isIndexValid = selectedOptionIndex !== undefined && isValidIndex(selectedOptionIndex);\n\n if (scrollBoxRef.current && isIndexValid) {\n scrollPerformedRef.current = true;\n scrollToElement(selectedOptionIndex, true);\n }\n }, [opened, selectedOptionIndex, scrollToElement, isValidIndex]);\n\n const [keyboardInput, setKeyboardInput] = React.useState('');\n const resetKeyboardInput = React.useCallback(() => {\n setKeyboardInput('');\n }, []);\n\n const resetFocusedOption = React.useCallback(() => {\n setFocusedOptionIndex(-1);\n }, []);\n\n const onKeyboardInput = React.useCallback(\n (key: string) => {\n if (!opened) {\n setOpened(true);\n }\n resetFocusedOption();\n const fullInput = keyboardInput + key;\n\n setKeyboardInput(fullInput);\n },\n [keyboardInput, opened, resetFocusedOption],\n );\n\n const close = React.useCallback(() => {\n resetKeyboardInput();\n\n setInputValue('');\n setOpened(false);\n resetFocusedOption();\n onClose?.();\n }, [onClose, resetKeyboardInput, resetFocusedOption]);\n\n const selectOption = React.useCallback(\n (index: number) => {\n const item = options[index];\n setNativeSelectValue(item?.value ?? NOT_SELECTED.NATIVE);\n close();\n\n const shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync =\n isControlledOutside &&\n props.value !== nativeSelectValue &&\n nativeSelectValue === item?.value;\n\n if (shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync) {\n const event = new Event('change', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }\n },\n [\n close,\n options,\n selectElRef,\n isControlledOutside,\n props.value,\n nativeSelectValue,\n setNativeSelectValue,\n ],\n );\n\n const selectFocused = React.useCallback(() => {\n if (focusedOptionIndex === undefined || !isValidIndex(focusedOptionIndex)) {\n return;\n }\n\n selectOption(focusedOptionIndex);\n }, [focusedOptionIndex, isValidIndex, selectOption]);\n\n const open = React.useCallback(() => {\n setOpened(true);\n setFocusedOptionIndex(selectedOptionIndex);\n\n if (typeof onOpen === 'function') {\n onOpen();\n }\n }, [onOpen, selectedOptionIndex]);\n\n const onBlur = React.useCallback(() => {\n close();\n const event = new Event('focusout', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }, [close, selectElRef]);\n\n const onFocus = React.useCallback(() => {\n const event = new Event('focusin', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }, [selectElRef]);\n\n const onClick = React.useCallback(() => {\n if (opened) {\n close();\n } else {\n open();\n }\n }, [close, open, opened]);\n\n const handleKeyUp = React.useMemo(() => debounce(resetKeyboardInput, 1000), [resetKeyboardInput]);\n\n const focusOption = React.useCallback(\n (type: 'next' | 'prev') => {\n let index = focusedOptionIndex;\n\n if (type === 'next') {\n const nextIndex = findIndexAfter(options, index);\n index = nextIndex === -1 ? findIndexAfter(options) : nextIndex; // Следующий за index или первый валидный до index\n } else if (type === 'prev') {\n const beforeIndex = findIndexBefore(options, index);\n index = beforeIndex === -1 ? findIndexBefore(options) : beforeIndex; // Предшествующий index или последний валидный после index\n }\n\n focusOptionByIndex(index);\n },\n [focusOptionByIndex, focusedOptionIndex, options],\n );\n\n const onNativeSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n // для ситуаций, когда в опциях value это string а value/defaultValue это number\n // и наоборот, приводим значение nativeSelectValue из стейта к строке.\n // ведь nativeSelect всегда возвращает string в onChange, а пользователь\n // может использовать number для опций\n //\n // native select всегда возвращает string в качестве value в onChange\n // Когда селект контролируемый, то пользователь, в onChange может сохранить в свой стейт строку (например '3'), хотя\n // в качестве value опции может использовать число (3),\n // тогда строчное значение value ('3') из стейта пользователя\n // будет передано в CustomSelect, и после синхронизации nativeSelectValue (3) и props.value ('3') и после клика на уже выбранную опцию (3),\n // когда nativeSelectValue обновится на значение опции (число 3),\n // сравнение nativeSelectValue (3) и prevNativeSelectValue ('3') может не сработать лишь из-за того, что они в разных типах.\n const convertedNativeSelectValue =\n typeof nativeSelectValue === 'number' &&\n (typeof props.value === 'string' || typeof prevNativeSelectValue === 'string')\n ? String(nativeSelectValue)\n : nativeSelectValue;\n\n const isCalledWithSameControlledOptionValue =\n isControlledOutside &&\n props.value === remapFromNativeValueToSelectValue(convertedNativeSelectValue);\n\n const isNativeValueChanged =\n convertedNativeSelectValue !== prevNativeSelectValue && prevNativeSelectValue !== undefined;\n\n const isTriggeredByClearButton = allowClearButton && nativeSelectValue === NOT_SELECTED.NATIVE;\n\n const shouldCallOnChange =\n !isCalledWithSameControlledOptionValue && (isNativeValueChanged || isTriggeredByClearButton);\n\n if (!shouldCallOnChange) {\n return;\n }\n\n const remappedNativeValue = remapFromNativeValueToSelectValue(e.currentTarget.value);\n\n if (e.target.value === NOT_SELECTED.NATIVE) {\n e.target.value = '';\n }\n if (e.currentTarget.value === NOT_SELECTED.NATIVE) {\n e.currentTarget.value = '';\n }\n\n onChange?.(e, remappedNativeValue);\n };\n\n const onInputChange: React.ChangeEventHandler<HTMLInputElement> = React.useCallback(\n (e) => {\n onInputChangeProp && onInputChangeProp(e);\n setInputValue(e.target.value);\n },\n [onInputChangeProp],\n );\n\n const areOptionsShown = React.useCallback(() => {\n return scrollBoxRef.current !== null;\n }, []);\n\n const handleKeyDownSelect = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key.length === 1 && event.key !== ' ') {\n onKeyboardInput(event.key);\n return;\n }\n\n ['ArrowUp', 'ArrowDown', 'Escape', 'Enter'].includes(event.key) &&\n areOptionsShown() &&\n event.preventDefault();\n\n switch (event.key) {\n case 'ArrowUp':\n if (opened) {\n areOptionsShown() && focusOption('prev');\n } else {\n open();\n }\n break;\n case 'ArrowDown':\n if (opened) {\n areOptionsShown() && focusOption('next');\n } else {\n open();\n }\n break;\n case 'Escape':\n close();\n break;\n case 'Backspace':\n case 'Delete': {\n if (!opened) {\n setOpened(true);\n }\n resetFocusedOption();\n\n break;\n }\n case 'Enter':\n case 'Spacebar':\n case ' ':\n if (opened) {\n areOptionsShown() && selectFocused();\n } else {\n open();\n }\n break;\n }\n },\n [\n areOptionsShown,\n close,\n focusOption,\n onKeyboardInput,\n open,\n opened,\n selectFocused,\n resetFocusedOption,\n ],\n );\n\n const handleOptionClick = React.useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n const index = Array.prototype.indexOf.call(\n e.currentTarget.parentNode?.children,\n e.currentTarget,\n );\n const option = options[index];\n\n if (option && !option.disabled) {\n selectOption(index);\n }\n },\n [options, selectOption],\n );\n\n const lastMousePositionRef = React.useRef<MousePosition>({ x: 0, y: 0 });\n const focusOptionOnMouseMove = React.useCallback(\n (e: React.MouseEvent<HTMLElement>, index: number) => {\n if (isMousePositionChanged(e, lastMousePositionRef.current)) {\n focusOptionByIndex(index, false);\n }\n },\n [focusOptionByIndex],\n );\n\n const popupAriaId = React.useId();\n const renderOption = React.useCallback(\n (option: OptionInterfaceT, index: number) => {\n const hovered = index === focusedOptionIndex;\n const selected = index === selectedOptionIndex;\n\n return (\n <React.Fragment key={`${typeof option.value}-${option.value}`}>\n {renderOptionProp({\n option,\n hovered,\n children: option.label,\n selected,\n disabled: option.disabled,\n onClick: handleOptionClick,\n onMouseDown: handleOptionDown,\n // Используем `onMouseMove` вместо `onMouseEnter/onMouseOver`.\n // Потому что если при навигации с клавиатуры курсор наведён на\n // список, то при первом автоматическом скролле списка вызывается событие MouseOver/MouseEnter\n // обработчик которого фокусирует опцию под курсором, хотя при навигация с клавиатуры пользователь мог уйти дальше по списку, это путает.\n // Причём координаты события меняются на пару пикселей по сравнению с прошлым вызовом,\n // а значит нельзя на них опираться, чтобы запретить обработку такого события.\n // C mousemove такой проблемы нет, что позволяет реализовать поведение при наведении с клавиатуры и при наведении мышью идентично `<select>`.\n onMouseMove: (e) => focusOptionOnMouseMove(e, index),\n id: `${popupAriaId}-${option.value}`,\n })}\n </React.Fragment>\n );\n },\n [\n focusedOptionIndex,\n handleOptionClick,\n focusOptionOnMouseMove,\n renderOptionProp,\n selectedOptionIndex,\n popupAriaId,\n ],\n );\n\n const resolvedContent = React.useMemo(() => {\n const defaultDropdownContent =\n options.length > 0 ? (\n <div ref={optionsWrapperRef}>{options.map(renderOption)}</div>\n ) : (\n <Footnote className={styles.empty}>{emptyText}</Footnote>\n );\n\n if (typeof renderDropdown === 'function') {\n return renderDropdown({ defaultDropdownContent });\n } else {\n return defaultDropdownContent;\n }\n }, [emptyText, options, renderDropdown, renderOption]);\n\n const selectInputRef = useExternRef(getSelectInputRef);\n\n const controlledValueSet = isControlledOutside && props.value !== NOT_SELECTED.CUSTOM;\n const uncontrolledValueSet = !isControlledOutside && nativeSelectValue !== NOT_SELECTED.NATIVE;\n const clearButtonShown =\n allowClearButton && !opened && (controlledValueSet || uncontrolledValueSet);\n\n const clearButton = React.useMemo(() => {\n if (!clearButtonShown) {\n return null;\n }\n\n return (\n <ClearButton\n className={iconProp === undefined ? styles.clearIcon : undefined}\n onClick={function clearSelectState() {\n setNativeSelectValue(NOT_SELECTED.NATIVE);\n setInputValue('');\n selectInputRef.current && selectInputRef.current.focus();\n }}\n disabled={restProps.disabled}\n data-testid={clearButtonTestId}\n />\n );\n }, [\n clearButtonShown,\n ClearButton,\n iconProp,\n restProps.disabled,\n clearButtonTestId,\n setNativeSelectValue,\n selectInputRef,\n ]);\n\n const icon = React.useMemo(() => {\n if (iconProp !== undefined) {\n return iconProp;\n }\n\n return (\n <DropdownIcon\n className={clearButtonShown ? styles.dropdownIcon : undefined}\n opened={opened}\n />\n );\n }, [clearButtonShown, iconProp, opened]);\n\n const afterIcons = (icon || clearButtonShown) && (\n <React.Fragment>\n {clearButton}\n {icon}\n </React.Fragment>\n );\n\n const { document } = useDOM();\n const passClickAndFocusToInputOnClick = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n // Раньше внешней оберткой CustomSelect был <label>, что позволяло по клику в любую область CustomSelect,\n // даже где нету интерактивного элемента, фокусировать <input> и передавать на него событие клика.\n // Так как мы больше не оборачиваем CustomSelect в <label>, то для обертки CustomSelect мы симулируем работу <label>.\n // передаем фокус и клик по <input>, если пользователь кликнул в зоне обертки.\n // В <label> мы не больше не оборачиваем, потому что это заставляет скринридер\n // дважды произносить текст выбранной опции при фокусе, если CustomSelect связан с внешним <label>.\n // Воспроизводится в некоторых версиях Chrome, при навигации по странице с помощью стрелок.\n // Договорились со специалистом по доступности убрать <label>-обёртки из Select и CustomSelect\n\n if (!selectInputRef.current || !document) {\n return;\n }\n\n const clickTargetIsNotAnInput = e.target !== selectInputRef.current;\n if (clickTargetIsNotAnInput) {\n selectInputRef.current.click();\n\n const inputIsNotFocused = document.activeElement !== selectInputRef.current;\n if (inputIsNotFocused) {\n selectInputRef.current.focus();\n }\n }\n },\n [document, selectInputRef],\n );\n\n const preventInputBlurWhenClickInsideFocusedSelectArea = (\n e: React.MouseEvent<HTMLDivElement>,\n ) => {\n // Так как инпут больше не оборачивается пустым лэйблом, то клик внутри обертки,\n // но вне инпута (например по иконке дропдауна), будет убирать фокус с инпута.\n // Чтобы в такой ситуации отключить blur инпута мы превентим mousedown событие обёртки\n const isInputFocused = document && document.activeElement === selectInputRef.current;\n if (isInputFocused) {\n e.preventDefault();\n }\n };\n\n const ariaActiveDescendantOptionIndex: undefined | number =\n focusedOptionIndex !== -1 ? focusedOptionIndex : undefined;\n const ariaActiveDescendantId =\n ariaActiveDescendantOptionIndex !== undefined\n ? options[ariaActiveDescendantOptionIndex] && options[ariaActiveDescendantOptionIndex].value\n : null;\n\n const selectInputAriaProps: React.HTMLAttributes<HTMLElement> = {\n 'role': 'combobox',\n 'aria-controls': popupAriaId,\n 'aria-owns': popupAriaId,\n 'aria-expanded': opened,\n 'aria-activedescendant':\n ariaActiveDescendantId && opened ? `${popupAriaId}-${ariaActiveDescendantId}` : undefined,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-haspopup': 'listbox',\n 'aria-autocomplete': 'none',\n };\n\n const focusWithin = useFocusWithin(handleRootRef);\n\n const resetOptionFocusOnMouseLeave = React.useCallback(\n (event: React.MouseEvent) => {\n // В Хроме eсли мышка пользователя находится над инпутом селекта,\n // и он с клавиатуры открывает опции, причём одна из опций\n // уже выбрана, то видно, как выбранная опция получает фокус,\n // но потом сразу же его теряет.\n // Связано это с тем, что в этот момент вызывается onMouseLeave, на который у нас\n // завязан сброс состония фокуса у опции. По хорошему фокус должен оставаться.\n // Нам не интересен вызов onMouseLeave если мышка при этом не двигалась.\n if (isMousePositionChanged(event, lastMousePositionRef.current)) {\n resetFocusedOption();\n }\n },\n [resetFocusedOption],\n );\n\n return (\n <div\n className={classNames(styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY], className)}\n style={style}\n ref={handleRootRef}\n onClick={passClickAndFocusToInputOnClick}\n onMouseDown={preventInputBlurWhenClickInsideFocusedSelectArea}\n onMouseMove={function updateLastMousePosition(e) {\n lastMousePositionRef.current = { x: e.clientX, y: e.clientY };\n }}\n >\n {focusWithin && selected && !opened && (\n <VisuallyHidden aria-live=\"polite\">{selected.label}</VisuallyHidden>\n )}\n <CustomSelectInput\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n {...restProps}\n {...selectInputAriaProps}\n getRef={selectInputRef}\n onFocus={onFocus}\n onBlur={onBlur}\n className={openedClassNames}\n readOnly={!searchable}\n fetching={fetching}\n value={inputValue}\n onKeyUp={handleKeyUp}\n onKeyDown={callMultiple(handleKeyDownSelect, onInputKeyDown)}\n onChange={onInputChange}\n onClick={onClick}\n before={before}\n after={afterIcons}\n selectType={selectType}\n >\n {selected?.label}\n </CustomSelectInput>\n <select\n ref={selectElRef}\n name={name}\n onChange={onNativeSelectChange}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n onClick={props.onClick}\n value={nativeSelectValue}\n aria-hidden\n className={styles.control}\n data-testid={nativeSelectTestId}\n required={required}\n >\n {(allowClearButton || nativeSelectValue === NOT_SELECTED.NATIVE) && (\n <option key={NOT_SELECTED.NATIVE} value={NOT_SELECTED.NATIVE} />\n )}\n {optionsProp.map((item) => (\n <option key={`${item.value}`} value={item.value} />\n ))}\n </select>\n {opened && (\n <CustomSelectDropdown\n targetRef={containerRef}\n placement={popperPlacement}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={setPopperPlacement}\n onMouseLeave={resetOptionFocusOnMouseLeave}\n fetching={fetching}\n overscrollBehavior={overscrollBehavior}\n offsetDistance={dropdownOffsetDistance}\n autoWidth={dropdownAutoWidth}\n forcePortal={forceDropdownPortal}\n noMaxHeight={noMaxHeight}\n role=\"listbox\"\n id={popupAriaId}\n aria-labelledby={ariaLabelledBy}\n tabIndex={-1}\n >\n {resolvedContent}\n </CustomSelectDropdown>\n )}\n </div>\n );\n}\n"],"names":["React","classNames","debounce","useAdaptivity","useExternRef","useFocusWithin","useStateWithPrev","callMultiple","useDOM","defaultFilterFn","useIsomorphicLayoutEffect","warnOnce","CustomSelectDropdown","CustomSelectOption","DropdownIcon","NOT_SELECTED","remapFromNativeValueToSelectValue","remapFromSelectValueToNativeValue","Footnote","VisuallyHidden","CustomSelectClearButton","CustomSelectInput","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","findIndexAfter","options","startIndex","length","findIndex","option","i","disabled","findIndexBefore","endIndex","result","warn","checkOptionsValueType","Set","map","item","value","size","checkMixControlledAndUncontrolledState","oldIsControlled","newIsControlled","defaultRenderOptionFn","props","handleOptionDown","e","preventDefault","findSelectedIndex","CUSTOM","Number","filter","inputValue","filterFn","isMousePositionChanged","event","prevPosition","Math","abs","x","clientX","y","clientY","CustomSelect","opened","setOpened","useState","before","name","className","getRef","getRootRef","popupDirection","style","onChange","children","onInputChangeProp","renderDropdown","onOpen","onClose","fetching","forceDropdownPortal","selectType","searchable","renderOptionProp","optionsProp","emptyText","iconProp","ClearButton","allowClearButton","dropdownOffsetDistance","dropdownAutoWidth","noMaxHeight","ariaLabelledBy","clearButtonTestId","nativeSelectTestId","defaultValue","required","getSelectInputRef","overscrollBehavior","onInputKeyDown","restProps","process","env","NODE_ENV","sizeY","containerRef","useRef","handleRootRef","scrollBoxRef","selectElRef","optionsWrapperRef","scrollPerformedRef","focusedOptionIndex","setFocusedOptionIndex","isControlledOutside","setIsControlledOutside","undefined","setInputValue","nativeSelectValue","prevNativeSelectValue","setNativeSelectValue","NATIVE","popperPlacement","setPopperPlacement","useMemo","selectedOptionIndex","setSelectedOptionIndex","useEffect","updateOptionsIndexes","selectedIndex","syncIsControlledState","syncNativeSelectValueWithPropValue","some","Event","bubbles","current","dispatchEvent","selected","openedClassNames","includes","popUp","popDown","scrollToElement","useCallback","index","center","dropdown","optionsWrapper","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","scrollTo","isValidIndex","isIndexValid","keyboardInput","setKeyboardInput","resetKeyboardInput","resetFocusedOption","onKeyboardInput","key","fullInput","close","selectOption","shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync","selectFocused","open","onBlur","onFocus","onClick","handleKeyUp","focusOption","type","nextIndex","beforeIndex","onNativeSelectChange","convertedNativeSelectValue","String","isCalledWithSameControlledOptionValue","isNativeValueChanged","isTriggeredByClearButton","shouldCallOnChange","remappedNativeValue","currentTarget","target","onInputChange","areOptionsShown","handleKeyDownSelect","handleOptionClick","Array","prototype","indexOf","call","parentNode","lastMousePositionRef","focusOptionOnMouseMove","popupAriaId","useId","renderOption","hovered","Fragment","label","onMouseDown","onMouseMove","id","resolvedContent","defaultDropdownContent","div","ref","empty","selectInputRef","controlledValueSet","uncontrolledValueSet","clearButtonShown","clearButton","clearIcon","clearSelectState","focus","data-testid","icon","dropdownIcon","afterIcons","document","passClickAndFocusToInputOnClick","clickTargetIsNotAnInput","click","inputIsNotFocused","activeElement","preventInputBlurWhenClickInsideFocusedSelectArea","isInputFocused","ariaActiveDescendantOptionIndex","ariaActiveDescendantId","selectInputAriaProps","focusWithin","resetOptionFocusOnMouseLeave","host","updateLastMousePosition","aria-live","autoComplete","autoCapitalize","autoCorrect","spellCheck","readOnly","onKeyUp","onKeyDown","after","select","aria-hidden","control","targetRef","placement","onPlacementChange","onMouseLeave","offsetDistance","autoWidth","forcePortal","role","aria-labelledby","tabIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelect.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, debounce } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useFocusWithin } from '../../hooks/useFocusWithin';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { useDOM } from '../../lib/dom';\nimport type { Placement } from '../../lib/floating';\nimport { defaultFilterFn, type FilterFn } from '../../lib/select';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport {\n CustomSelectDropdown,\n type CustomSelectDropdownProps,\n} from '../CustomSelectDropdown/CustomSelectDropdown';\nimport {\n CustomSelectOption,\n type CustomSelectOptionProps,\n} from '../CustomSelectOption/CustomSelectOption';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport {\n NOT_SELECTED,\n remapFromNativeValueToSelectValue,\n remapFromSelectValueToNativeValue,\n} from '../NativeSelect/NativeSelect';\nimport type {\n NativeSelectProps,\n NativeSelectValue,\n SelectValue,\n} from '../NativeSelect/NativeSelect';\nimport type { SelectType } from '../Select/Select';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport {\n CustomSelectClearButton,\n type CustomSelectClearButtonProps,\n} from './CustomSelectClearButton';\nimport {\n CustomSelectInput,\n type CustomSelectInputProps,\n} from './CustomSelectInput/CustomSelectInput';\nimport styles from './CustomSelect.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst findIndexAfter = (options: CustomSelectOptionInterface[] = [], startIndex = -1) => {\n if (startIndex >= options.length - 1) {\n return -1;\n }\n return options.findIndex((option, i) => i > startIndex && !option.disabled);\n};\n\nconst findIndexBefore = (\n options: CustomSelectOptionInterface[] = [],\n endIndex: number = options.length,\n) => {\n let result = -1;\n if (endIndex <= 0) {\n return result;\n }\n for (let i = endIndex - 1; i >= 0; i--) {\n let option = options[i];\n\n if (!option.disabled) {\n result = i;\n break;\n }\n }\n return result;\n};\n\nconst warn = warnOnce('CustomSelect');\n\nconst checkOptionsValueType = <T extends CustomSelectOptionInterface>(options: T[]) => {\n if (new Set(options.map((item) => typeof item.value)).size > 1) {\n warn(\n 'Некоторые значения ваших опций имеют разные типы. onChange всегда возвращает строковый тип.',\n 'error',\n );\n }\n};\n\nconst checkMixControlledAndUncontrolledState = (\n oldIsControlled: boolean,\n newIsControlled: boolean,\n) => {\n if (!oldIsControlled && newIsControlled) {\n warn(\n `Похоже, что компонент был переведен из состояния Uncontrolled в Controlled. Пожалуйста, не делайте так. Если вам нужно отобразить невыбранное состояние компонента, используйте value=null вместо undefined`,\n 'error',\n );\n }\n if (oldIsControlled && !newIsControlled) {\n warn(\n `Похоже, что компонент был переведен из состояния Controlled в Uncontrolled. Пожалуйста, не делайте так. Если вам нужно отобразить невыбранное состояние компонента, используйте value=null вместо undefined`,\n 'error',\n );\n }\n};\n\nfunction defaultRenderOptionFn<T extends CustomSelectOptionInterface>({\n option,\n ...props\n}: CustomSelectRenderOption<T>): React.ReactNode {\n return <CustomSelectOption {...props} />;\n}\n\nconst handleOptionDown: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n};\n\nfunction findSelectedIndex<T extends CustomSelectOptionInterface>(\n options: T[] = [],\n value: SelectValue,\n) {\n if (value === NOT_SELECTED.CUSTOM) {\n return -1;\n }\n return (\n options.findIndex((item) => {\n value = typeof item.value === 'number' ? Number(value) : value;\n return item.value === value;\n }) ?? -1\n );\n}\n\nconst filter = <T extends CustomSelectOptionInterface>(\n options: SelectProps<T>['options'],\n inputValue: string,\n filterFn: SelectProps<T>['filterFn'],\n) => {\n return typeof filterFn === 'function'\n ? options.filter((option) => filterFn(inputValue, option))\n : options;\n};\n\n/* eslint-disable jsdoc/require-jsdoc */\ntype MousePosition = {\n x: React.MouseEvent['clientX'];\n y: React.MouseEvent['clientY'];\n};\n/* eslint-enable jsdoc/require-jsdoc */\n\nfunction isMousePositionChanged(event: React.MouseEvent, prevPosition: MousePosition) {\n return (\n Math.abs(prevPosition.x - event.clientX) >= 1 || Math.abs(prevPosition.y - event.clientY) >= 1\n );\n}\n\nexport interface CustomSelectOptionInterface {\n /**\n * Значение.\n */\n value: Exclude<SelectValue, null>;\n /**\n * Отображаемый текст.\n */\n label: React.ReactElement | string;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n [index: string]: any;\n}\n\nexport interface CustomSelectRenderOption<T extends CustomSelectOptionInterface>\n extends CustomSelectOptionProps {\n /**\n * Данные об опции.\n */\n option: T;\n}\n\nexport type { CustomSelectClearButtonProps };\n\nexport interface SelectProps<\n OptionInterfaceT extends CustomSelectOptionInterface = CustomSelectOptionInterface,\n> extends NativeSelectProps,\n Omit<FormFieldProps, 'maxHeight'>,\n Pick<CustomSelectDropdownProps, 'overscrollBehavior'>,\n Pick<CustomSelectInputProps, 'minLength' | 'maxLength' | 'pattern' | 'readOnly'> {\n /**\n * Ref на внутрений компонент input.\n */\n getSelectInputRef?: React.Ref<HTMLInputElement>;\n /**\n * Если `true`, то при нажатии на `CustomSelect` в нём появится текстовое поле для поиска по `options`. По умолчанию поиск\n * производится по `option.label`.\n */\n searchable?: boolean;\n /**\n * Текст, который будет отображен, если приходит пустой `options`.\n */\n emptyText?: string;\n /**\n * Событие изменения текстового поля.\n */\n onInputChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /**\n * Список опций в списке.\n */\n options: OptionInterfaceT[];\n /**\n * Функция для кастомной фильтрации. По умолчанию поиск производится по `option.label`.\n */\n filterFn?: false | FilterFn<OptionInterfaceT>;\n /**\n * Направление раскрытия выпадающего списка.\n */\n popupDirection?: 'top' | 'bottom';\n /**\n * Рендер-проп для кастомного рендера опции.\n * В объекте аргумента приходят [свойства опции](https://vkcom.github.io/VKUI/#/CustomSelectOption?id=props).\n *\n * > ⚠️ Важно: cвойство опции `disabled` должно выставляться только через проп `options`.\n * > Запрещается выставлять `disabled` проп опциям в обход `options`, иначе `CustomSelect` не будет знать об актуальном состоянии\n * опции.\n */\n renderOption?: (props: CustomSelectRenderOption<OptionInterfaceT>) => React.ReactNode;\n /**\n * Рендер-проп для кастомного рендера содержимого дропдауна.\n * В `defaultDropdownContent` содержится список опций в виде скроллящегося блока.\n */\n renderDropdown?: ({\n defaultDropdownContent,\n }: {\n defaultDropdownContent: React.ReactNode;\n }) => React.ReactNode;\n /**\n * Если `true`, то в дропдауне вместо списка опций рисуется спиннер. При переданных `renderDropdown` и `fetching: true`\n * \"победит\" `renderDropdown`.\n */\n fetching?: boolean;\n /**\n * Обработчик закрытия выпадающего списка.\n */\n onClose?: VoidFunction;\n /**\n * Обработчик открытия выпадающего списка.\n */\n onOpen?: VoidFunction;\n /**\n * Иконка раскрывающегося списка.\n */\n icon?: React.ReactNode;\n /**\n * Кастомная кнопка для очистки значения.\n * Должна принимать обязательное свойство `onClick`.\n */\n ClearButton?: React.ComponentType<CustomSelectClearButtonProps>;\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения.\n */\n allowClearButton?: boolean;\n /**\n * Передает атрибут `data-testid` для кнопки очистки.\n */\n clearButtonTestId?: string;\n /**\n * Отступ от выпадающего списка.\n */\n dropdownOffsetDistance?: number;\n /**\n * Ширина раскрывающегося списка зависит от контента.\n */\n dropdownAutoWidth?: boolean;\n /**\n * Использовать Portal для рендеринга выпадающего списка.\n */\n forceDropdownPortal?: boolean;\n /**\n * Тип отображения компонента.\n */\n selectType?: SelectType;\n /**\n * Отключает максимальную высоту по умолчанию.\n */\n noMaxHeight?: boolean;\n /**\n * Передает атрибут `data-testid` для элемента, внутри которого отображается текст выбранной опции `CustomSelect` или плейсхолдер.\n */\n labelTextTestId?: string;\n /**\n * Передает атрибут `data-testid` для нативного элемента `select`.\n */\n nativeSelectTestId?: string;\n /**\n * Обработчик события `keyDown` в поле ввода.\n */\n onInputKeyDown?: (e: React.KeyboardEvent, isOpen: boolean) => void;\n}\n\ntype MouseEventHandler = (event: React.MouseEvent<HTMLElement>) => void;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomSelect\n */\nexport function CustomSelect<OptionInterfaceT extends CustomSelectOptionInterface>(\n props: SelectProps<OptionInterfaceT>,\n): React.ReactNode {\n const [opened, setOpened] = React.useState(false);\n const {\n before,\n name,\n className,\n getRef,\n getRootRef,\n popupDirection = 'bottom',\n style,\n onChange,\n children,\n 'onInputChange': onInputChangeProp,\n renderDropdown,\n onOpen,\n onClose,\n fetching,\n forceDropdownPortal,\n selectType = 'default',\n searchable = false,\n 'renderOption': renderOptionProp = defaultRenderOptionFn,\n 'options': optionsProp,\n emptyText = 'Ничего не найдено',\n filterFn = defaultFilterFn,\n 'icon': iconProp,\n ClearButton = CustomSelectClearButton,\n allowClearButton = false,\n dropdownOffsetDistance = 0,\n dropdownAutoWidth = false,\n noMaxHeight = false,\n 'aria-labelledby': ariaLabelledBy,\n clearButtonTestId,\n nativeSelectTestId,\n defaultValue,\n required,\n getSelectInputRef,\n overscrollBehavior,\n onInputKeyDown,\n ...restProps\n } = props;\n\n if (process.env.NODE_ENV === 'development') {\n checkOptionsValueType(optionsProp);\n }\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleRootRef = useExternRef(containerRef, getRootRef);\n const scrollBoxRef = React.useRef<HTMLDivElement | null>(null);\n const selectElRef = useExternRef(getRef);\n const optionsWrapperRef = React.useRef<HTMLDivElement>(null);\n const scrollPerformedRef = React.useRef(false);\n\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | undefined>(-1);\n const [isControlledOutside, setIsControlledOutside] = React.useState(props.value !== undefined);\n const [inputValue, setInputValue] = React.useState('');\n const [[nativeSelectValue, prevNativeSelectValue], setNativeSelectValue] =\n useStateWithPrev<NativeSelectValue>(() => {\n if (props.value !== undefined) {\n return remapFromSelectValueToNativeValue(props.value);\n }\n if (defaultValue !== undefined) {\n return remapFromSelectValueToNativeValue(defaultValue);\n }\n return NOT_SELECTED.NATIVE;\n });\n\n const [popperPlacement, setPopperPlacement] = React.useState<Placement>(popupDirection);\n\n const options = React.useMemo(() => {\n return filter(optionsProp, inputValue, filterFn);\n }, [filterFn, inputValue, optionsProp]);\n\n const [selectedOptionIndex, setSelectedOptionIndex] = React.useState<number | undefined>(\n findSelectedIndex(options, props.value ?? defaultValue ?? null),\n );\n\n React.useEffect(\n function updateOptionsIndexes() {\n const value =\n props.value !== undefined\n ? props.value\n : remapFromNativeValueToSelectValue(nativeSelectValue);\n\n const selectedIndex = findSelectedIndex(options, value);\n setSelectedOptionIndex(selectedIndex);\n setFocusedOptionIndex(selectedIndex);\n },\n [props.value, nativeSelectValue, options, filterFn],\n );\n\n React.useEffect(\n function syncIsControlledState() {\n setIsControlledOutside((oldIsControlled) => {\n const newIsControlled = props.value !== undefined;\n checkMixControlledAndUncontrolledState(oldIsControlled, newIsControlled);\n return newIsControlled;\n });\n },\n [props.value],\n );\n\n React.useEffect(\n function syncNativeSelectValueWithPropValue() {\n if (props.value !== undefined) {\n setNativeSelectValue(remapFromSelectValueToNativeValue(props.value));\n }\n },\n [props.value, setNativeSelectValue],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (\n options.some(({ value }) => nativeSelectValue === value) ||\n (allowClearButton && nativeSelectValue === NOT_SELECTED.NATIVE)\n ) {\n const event = new Event('change', { bubbles: true });\n\n selectElRef.current?.dispatchEvent(event);\n }\n }, [nativeSelectValue]);\n\n const selected = React.useMemo(() => {\n if (!options.length) {\n return null;\n }\n\n return selectedOptionIndex !== undefined ? options[selectedOptionIndex] : undefined;\n }, [options, selectedOptionIndex]);\n\n const openedClassNames = React.useMemo(\n () =>\n (opened &&\n dropdownOffsetDistance === 0 &&\n (popperPlacement.includes('top') ? styles.popUp : styles.popDown)) ||\n undefined,\n [dropdownOffsetDistance, opened, popperPlacement],\n );\n\n const scrollToElement = React.useCallback((index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const optionsWrapper = optionsWrapperRef.current;\n const item =\n dropdown && optionsWrapper ? (optionsWrapper.children[index] as HTMLElement) : null;\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n }, []);\n\n const focusOptionByIndex = React.useCallback(\n (index: number | undefined, scrollTo = true) => {\n if (index === undefined || index < 0 || index > (options.length ?? 0) - 1) {\n return;\n }\n\n const option = options[index];\n\n if (option?.disabled) {\n return;\n }\n\n if (scrollTo) {\n scrollToElement(index);\n }\n\n setFocusedOptionIndex(index);\n },\n [options, scrollToElement],\n );\n\n const isValidIndex = React.useCallback(\n (index: number) => {\n return index >= 0 && index < (options.length ?? 0);\n },\n [options.length],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!opened) {\n scrollPerformedRef.current = false;\n return;\n }\n\n if (scrollPerformedRef.current) {\n return;\n }\n\n const isIndexValid = selectedOptionIndex !== undefined && isValidIndex(selectedOptionIndex);\n\n if (scrollBoxRef.current && isIndexValid) {\n scrollPerformedRef.current = true;\n scrollToElement(selectedOptionIndex, true);\n }\n }, [opened, selectedOptionIndex, scrollToElement, isValidIndex]);\n\n const [keyboardInput, setKeyboardInput] = React.useState('');\n const resetKeyboardInput = React.useCallback(() => {\n setKeyboardInput('');\n }, []);\n\n const resetFocusedOption = React.useCallback(() => {\n setFocusedOptionIndex(-1);\n }, []);\n\n const onKeyboardInput = React.useCallback(\n (key: string) => {\n if (!opened) {\n setOpened(true);\n }\n resetFocusedOption();\n const fullInput = keyboardInput + key;\n\n setKeyboardInput(fullInput);\n },\n [keyboardInput, opened, resetFocusedOption],\n );\n\n const close = React.useCallback(() => {\n resetKeyboardInput();\n\n setInputValue('');\n setOpened(false);\n resetFocusedOption();\n onClose?.();\n }, [onClose, resetKeyboardInput, resetFocusedOption]);\n\n const selectOption = React.useCallback(\n (index: number) => {\n const item = options[index];\n setNativeSelectValue(item?.value ?? NOT_SELECTED.NATIVE);\n close();\n\n const shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync =\n isControlledOutside &&\n props.value !== nativeSelectValue &&\n nativeSelectValue === item?.value;\n\n if (shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync) {\n const event = new Event('change', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }\n },\n [\n close,\n options,\n selectElRef,\n isControlledOutside,\n props.value,\n nativeSelectValue,\n setNativeSelectValue,\n ],\n );\n\n const selectFocused = React.useCallback(() => {\n if (focusedOptionIndex === undefined || !isValidIndex(focusedOptionIndex)) {\n return;\n }\n\n selectOption(focusedOptionIndex);\n }, [focusedOptionIndex, isValidIndex, selectOption]);\n\n const open = React.useCallback(() => {\n setOpened(true);\n setFocusedOptionIndex(selectedOptionIndex);\n\n if (typeof onOpen === 'function') {\n onOpen();\n }\n }, [onOpen, selectedOptionIndex]);\n\n const onBlur = React.useCallback(() => {\n close();\n const event = new Event('focusout', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }, [close, selectElRef]);\n\n const onFocus = React.useCallback(() => {\n const event = new Event('focusin', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }, [selectElRef]);\n\n const onClick = React.useCallback(() => {\n if (opened) {\n close();\n } else {\n open();\n }\n }, [close, open, opened]);\n\n const handleKeyUp = React.useMemo(() => debounce(resetKeyboardInput, 1000), [resetKeyboardInput]);\n\n const focusOption = React.useCallback(\n (type: 'next' | 'prev') => {\n let index = focusedOptionIndex;\n\n if (type === 'next') {\n const nextIndex = findIndexAfter(options, index);\n index = nextIndex === -1 ? findIndexAfter(options) : nextIndex; // Следующий за index или первый валидный до index\n } else if (type === 'prev') {\n const beforeIndex = findIndexBefore(options, index);\n index = beforeIndex === -1 ? findIndexBefore(options) : beforeIndex; // Предшествующий index или последний валидный после index\n }\n\n focusOptionByIndex(index);\n },\n [focusOptionByIndex, focusedOptionIndex, options],\n );\n\n const onNativeSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n // для ситуаций, когда в опциях value это string а value/defaultValue это number\n // и наоборот, приводим значение nativeSelectValue из стейта к строке.\n // ведь nativeSelect всегда возвращает string в onChange, а пользователь\n // может использовать number для опций\n //\n // native select всегда возвращает string в качестве value в onChange\n // Когда селект контролируемый, то пользователь, в onChange может сохранить в свой стейт строку (например '3'), хотя\n // в качестве value опции может использовать число (3),\n // тогда строчное значение value ('3') из стейта пользователя\n // будет передано в CustomSelect, и после синхронизации nativeSelectValue (3) и props.value ('3') и после клика на уже выбранную опцию (3),\n // когда nativeSelectValue обновится на значение опции (число 3),\n // сравнение nativeSelectValue (3) и prevNativeSelectValue ('3') может не сработать лишь из-за того, что они в разных типах.\n const convertedNativeSelectValue =\n typeof nativeSelectValue === 'number' &&\n (typeof props.value === 'string' || typeof prevNativeSelectValue === 'string')\n ? String(nativeSelectValue)\n : nativeSelectValue;\n\n const isCalledWithSameControlledOptionValue =\n isControlledOutside &&\n props.value === remapFromNativeValueToSelectValue(convertedNativeSelectValue);\n\n const isNativeValueChanged =\n convertedNativeSelectValue !== prevNativeSelectValue && prevNativeSelectValue !== undefined;\n\n const isTriggeredByClearButton = allowClearButton && nativeSelectValue === NOT_SELECTED.NATIVE;\n\n const shouldCallOnChange =\n !isCalledWithSameControlledOptionValue && (isNativeValueChanged || isTriggeredByClearButton);\n\n if (!shouldCallOnChange) {\n return;\n }\n\n const remappedNativeValue = remapFromNativeValueToSelectValue(e.currentTarget.value);\n\n if (e.target.value === NOT_SELECTED.NATIVE) {\n e.target.value = '';\n }\n if (e.currentTarget.value === NOT_SELECTED.NATIVE) {\n e.currentTarget.value = '';\n }\n\n onChange?.(e, remappedNativeValue);\n };\n\n const onInputChange: React.ChangeEventHandler<HTMLInputElement> = React.useCallback(\n (e) => {\n onInputChangeProp && onInputChangeProp(e);\n setInputValue(e.target.value);\n },\n [onInputChangeProp],\n );\n\n const areOptionsShown = React.useCallback(() => {\n return scrollBoxRef.current !== null;\n }, []);\n\n const handleKeyDownSelect = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key.length === 1 && event.key !== ' ') {\n onKeyboardInput(event.key);\n return;\n }\n\n ['ArrowUp', 'ArrowDown', 'Escape', 'Enter'].includes(event.key) &&\n areOptionsShown() &&\n event.preventDefault();\n\n switch (event.key) {\n case 'ArrowUp':\n if (opened) {\n areOptionsShown() && focusOption('prev');\n } else {\n open();\n }\n break;\n case 'ArrowDown':\n if (opened) {\n areOptionsShown() && focusOption('next');\n } else {\n open();\n }\n break;\n case 'Escape':\n close();\n break;\n case 'Backspace':\n case 'Delete': {\n if (!opened) {\n setOpened(true);\n }\n resetFocusedOption();\n\n break;\n }\n case 'Enter':\n case 'Spacebar':\n case ' ':\n if (opened) {\n areOptionsShown() && selectFocused();\n } else {\n open();\n }\n break;\n }\n },\n [\n areOptionsShown,\n close,\n focusOption,\n onKeyboardInput,\n open,\n opened,\n selectFocused,\n resetFocusedOption,\n ],\n );\n\n const handleInputKeydown = React.useCallback(\n (event: React.KeyboardEvent) => {\n onInputKeyDown?.(event, opened);\n },\n [opened, onInputKeyDown],\n );\n const _onInputKeyDown = callMultiple(handleKeyDownSelect, handleInputKeydown);\n\n const handleOptionClick = React.useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n const index = Array.prototype.indexOf.call(\n e.currentTarget.parentNode?.children,\n e.currentTarget,\n );\n const option = options[index];\n\n if (option && !option.disabled) {\n selectOption(index);\n }\n },\n [options, selectOption],\n );\n\n const lastMousePositionRef = React.useRef<MousePosition>({ x: 0, y: 0 });\n const focusOptionOnMouseMove = React.useCallback(\n (e: React.MouseEvent<HTMLElement>, index: number) => {\n if (isMousePositionChanged(e, lastMousePositionRef.current)) {\n focusOptionByIndex(index, false);\n }\n },\n [focusOptionByIndex],\n );\n\n const popupAriaId = React.useId();\n const renderOption = React.useCallback(\n (option: OptionInterfaceT, index: number) => {\n const hovered = index === focusedOptionIndex;\n const selected = index === selectedOptionIndex;\n\n return (\n <React.Fragment key={`${typeof option.value}-${option.value}`}>\n {renderOptionProp({\n option,\n hovered,\n children: option.label,\n selected,\n disabled: option.disabled,\n onClick: handleOptionClick,\n onMouseDown: handleOptionDown,\n // Используем `onMouseMove` вместо `onMouseEnter/onMouseOver`.\n // Потому что если при навигации с клавиатуры курсор наведён на\n // список, то при первом автоматическом скролле списка вызывается событие MouseOver/MouseEnter\n // обработчик которого фокусирует опцию под курсором, хотя при навигация с клавиатуры пользователь мог уйти дальше по списку, это путает.\n // Причём координаты события меняются на пару пикселей по сравнению с прошлым вызовом,\n // а значит нельзя на них опираться, чтобы запретить обработку такого события.\n // C mousemove такой проблемы нет, что позволяет реализовать поведение при наведении с клавиатуры и при наведении мышью идентично `<select>`.\n onMouseMove: (e) => focusOptionOnMouseMove(e, index),\n id: `${popupAriaId}-${option.value}`,\n ...option,\n })}\n </React.Fragment>\n );\n },\n [\n focusedOptionIndex,\n handleOptionClick,\n focusOptionOnMouseMove,\n renderOptionProp,\n selectedOptionIndex,\n popupAriaId,\n ],\n );\n\n const resolvedContent = React.useMemo(() => {\n const defaultDropdownContent =\n options.length > 0 ? (\n <div ref={optionsWrapperRef}>{options.map(renderOption)}</div>\n ) : (\n <Footnote className={styles.empty}>{emptyText}</Footnote>\n );\n\n if (typeof renderDropdown === 'function') {\n return renderDropdown({ defaultDropdownContent });\n } else {\n return defaultDropdownContent;\n }\n }, [emptyText, options, renderDropdown, renderOption]);\n\n const selectInputRef = useExternRef(getSelectInputRef);\n\n const controlledValueSet = isControlledOutside && props.value !== NOT_SELECTED.CUSTOM;\n const uncontrolledValueSet = !isControlledOutside && nativeSelectValue !== NOT_SELECTED.NATIVE;\n const clearButtonShown =\n allowClearButton && !opened && (controlledValueSet || uncontrolledValueSet);\n\n const clearButton = React.useMemo(() => {\n if (!clearButtonShown) {\n return null;\n }\n\n return (\n <ClearButton\n className={iconProp === undefined ? styles.clearIcon : undefined}\n onClick={function clearSelectState() {\n setNativeSelectValue(NOT_SELECTED.NATIVE);\n setInputValue('');\n selectInputRef.current && selectInputRef.current.focus();\n }}\n disabled={restProps.disabled}\n data-testid={clearButtonTestId}\n />\n );\n }, [\n clearButtonShown,\n ClearButton,\n iconProp,\n restProps.disabled,\n clearButtonTestId,\n setNativeSelectValue,\n selectInputRef,\n ]);\n\n const icon = React.useMemo(() => {\n if (iconProp !== undefined) {\n return iconProp;\n }\n\n return (\n <DropdownIcon\n className={clearButtonShown ? styles.dropdownIcon : undefined}\n opened={opened}\n />\n );\n }, [clearButtonShown, iconProp, opened]);\n\n const afterIcons = (icon || clearButtonShown) && (\n <React.Fragment>\n {clearButton}\n {icon}\n </React.Fragment>\n );\n\n const { document } = useDOM();\n const passClickAndFocusToInputOnClick = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n // Раньше внешней оберткой CustomSelect был <label>, что позволяло по клику в любую область CustomSelect,\n // даже где нету интерактивного элемента, фокусировать <input> и передавать на него событие клика.\n // Так как мы больше не оборачиваем CustomSelect в <label>, то для обертки CustomSelect мы симулируем работу <label>.\n // передаем фокус и клик по <input>, если пользователь кликнул в зоне обертки.\n // В <label> мы не больше не оборачиваем, потому что это заставляет скринридер\n // дважды произносить текст выбранной опции при фокусе, если CustomSelect связан с внешним <label>.\n // Воспроизводится в некоторых версиях Chrome, при навигации по странице с помощью стрелок.\n // Договорились со специалистом по доступности убрать <label>-обёртки из Select и CustomSelect\n\n if (!selectInputRef.current || !document) {\n return;\n }\n\n const clickTargetIsNotAnInput = e.target !== selectInputRef.current;\n if (clickTargetIsNotAnInput) {\n selectInputRef.current.click();\n\n const inputIsNotFocused = document.activeElement !== selectInputRef.current;\n if (inputIsNotFocused) {\n selectInputRef.current.focus();\n }\n }\n },\n [document, selectInputRef],\n );\n\n const preventInputBlurWhenClickInsideFocusedSelectArea = (\n e: React.MouseEvent<HTMLDivElement>,\n ) => {\n // Так как инпут больше не оборачивается пустым лэйблом, то клик внутри обертки,\n // но вне инпута (например по иконке дропдауна), будет убирать фокус с инпута.\n // Чтобы в такой ситуации отключить blur инпута мы превентим mousedown событие обёртки\n const isInputFocused = document && document.activeElement === selectInputRef.current;\n if (isInputFocused) {\n e.preventDefault();\n }\n };\n\n const ariaActiveDescendantOptionIndex: undefined | number =\n focusedOptionIndex !== -1 ? focusedOptionIndex : undefined;\n const ariaActiveDescendantId =\n ariaActiveDescendantOptionIndex !== undefined\n ? options[ariaActiveDescendantOptionIndex] && options[ariaActiveDescendantOptionIndex].value\n : null;\n\n const selectInputAriaProps: React.HTMLAttributes<HTMLElement> = {\n 'role': 'combobox',\n 'aria-controls': popupAriaId,\n 'aria-owns': popupAriaId,\n 'aria-expanded': opened,\n 'aria-activedescendant':\n ariaActiveDescendantId && opened ? `${popupAriaId}-${ariaActiveDescendantId}` : undefined,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-haspopup': 'listbox',\n 'aria-autocomplete': 'none',\n };\n\n const focusWithin = useFocusWithin(handleRootRef);\n\n const resetOptionFocusOnMouseLeave = React.useCallback(\n (event: React.MouseEvent) => {\n // В Хроме eсли мышка пользователя находится над инпутом селекта,\n // и он с клавиатуры открывает опции, причём одна из опций\n // уже выбрана, то видно, как выбранная опция получает фокус,\n // но потом сразу же его теряет.\n // Связано это с тем, что в этот момент вызывается onMouseLeave, на который у нас\n // завязан сброс состония фокуса у опции. По хорошему фокус должен оставаться.\n // Нам не интересен вызов onMouseLeave если мышка при этом не двигалась.\n if (isMousePositionChanged(event, lastMousePositionRef.current)) {\n resetFocusedOption();\n }\n },\n [resetFocusedOption],\n );\n\n return (\n <div\n className={classNames(styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY], className)}\n style={style}\n ref={handleRootRef}\n onClick={passClickAndFocusToInputOnClick}\n onMouseDown={preventInputBlurWhenClickInsideFocusedSelectArea}\n onMouseMove={function updateLastMousePosition(e) {\n lastMousePositionRef.current = { x: e.clientX, y: e.clientY };\n }}\n >\n {focusWithin && selected && !opened && (\n <VisuallyHidden aria-live=\"polite\">{selected.label}</VisuallyHidden>\n )}\n <CustomSelectInput\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n {...restProps}\n {...selectInputAriaProps}\n getRef={selectInputRef}\n onFocus={onFocus}\n onBlur={onBlur}\n className={openedClassNames}\n readOnly={!searchable}\n fetching={fetching}\n value={inputValue}\n onKeyUp={handleKeyUp}\n onKeyDown={_onInputKeyDown}\n onChange={onInputChange}\n onClick={onClick}\n before={before}\n after={afterIcons}\n selectType={selectType}\n >\n {selected?.label}\n </CustomSelectInput>\n <select\n tabIndex={-1}\n ref={selectElRef}\n name={name}\n onChange={onNativeSelectChange}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n onClick={props.onClick}\n value={nativeSelectValue}\n aria-hidden\n className={styles.control}\n data-testid={nativeSelectTestId}\n required={required}\n >\n {(allowClearButton || nativeSelectValue === NOT_SELECTED.NATIVE) && (\n <option key={NOT_SELECTED.NATIVE} value={NOT_SELECTED.NATIVE} />\n )}\n {optionsProp.map((item) => (\n <option key={`${item.value}`} value={item.value} />\n ))}\n </select>\n {opened && (\n <CustomSelectDropdown\n targetRef={containerRef}\n placement={popperPlacement}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={setPopperPlacement}\n onMouseLeave={resetOptionFocusOnMouseLeave}\n fetching={fetching}\n overscrollBehavior={overscrollBehavior}\n offsetDistance={dropdownOffsetDistance}\n autoWidth={dropdownAutoWidth}\n forcePortal={forceDropdownPortal}\n noMaxHeight={noMaxHeight}\n role=\"listbox\"\n id={popupAriaId}\n aria-labelledby={ariaLabelledBy}\n tabIndex={-1}\n >\n {resolvedContent}\n </CustomSelectDropdown>\n )}\n </div>\n );\n}\n"],"names":["React","classNames","debounce","useAdaptivity","useExternRef","useFocusWithin","useStateWithPrev","callMultiple","useDOM","defaultFilterFn","useIsomorphicLayoutEffect","warnOnce","CustomSelectDropdown","CustomSelectOption","DropdownIcon","NOT_SELECTED","remapFromNativeValueToSelectValue","remapFromSelectValueToNativeValue","Footnote","VisuallyHidden","CustomSelectClearButton","CustomSelectInput","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","findIndexAfter","options","startIndex","length","findIndex","option","i","disabled","findIndexBefore","endIndex","result","warn","checkOptionsValueType","Set","map","item","value","size","checkMixControlledAndUncontrolledState","oldIsControlled","newIsControlled","defaultRenderOptionFn","props","handleOptionDown","e","preventDefault","findSelectedIndex","CUSTOM","Number","filter","inputValue","filterFn","isMousePositionChanged","event","prevPosition","Math","abs","x","clientX","y","clientY","CustomSelect","opened","setOpened","useState","before","name","className","getRef","getRootRef","popupDirection","style","onChange","children","onInputChangeProp","renderDropdown","onOpen","onClose","fetching","forceDropdownPortal","selectType","searchable","renderOptionProp","optionsProp","emptyText","iconProp","ClearButton","allowClearButton","dropdownOffsetDistance","dropdownAutoWidth","noMaxHeight","ariaLabelledBy","clearButtonTestId","nativeSelectTestId","defaultValue","required","getSelectInputRef","overscrollBehavior","onInputKeyDown","restProps","process","env","NODE_ENV","sizeY","containerRef","useRef","handleRootRef","scrollBoxRef","selectElRef","optionsWrapperRef","scrollPerformedRef","focusedOptionIndex","setFocusedOptionIndex","isControlledOutside","setIsControlledOutside","undefined","setInputValue","nativeSelectValue","prevNativeSelectValue","setNativeSelectValue","NATIVE","popperPlacement","setPopperPlacement","useMemo","selectedOptionIndex","setSelectedOptionIndex","useEffect","updateOptionsIndexes","selectedIndex","syncIsControlledState","syncNativeSelectValueWithPropValue","some","Event","bubbles","current","dispatchEvent","selected","openedClassNames","includes","popUp","popDown","scrollToElement","useCallback","index","center","dropdown","optionsWrapper","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","scrollTo","isValidIndex","isIndexValid","keyboardInput","setKeyboardInput","resetKeyboardInput","resetFocusedOption","onKeyboardInput","key","fullInput","close","selectOption","shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync","selectFocused","open","onBlur","onFocus","onClick","handleKeyUp","focusOption","type","nextIndex","beforeIndex","onNativeSelectChange","convertedNativeSelectValue","String","isCalledWithSameControlledOptionValue","isNativeValueChanged","isTriggeredByClearButton","shouldCallOnChange","remappedNativeValue","currentTarget","target","onInputChange","areOptionsShown","handleKeyDownSelect","handleInputKeydown","_onInputKeyDown","handleOptionClick","Array","prototype","indexOf","call","parentNode","lastMousePositionRef","focusOptionOnMouseMove","popupAriaId","useId","renderOption","hovered","Fragment","label","onMouseDown","onMouseMove","id","resolvedContent","defaultDropdownContent","div","ref","empty","selectInputRef","controlledValueSet","uncontrolledValueSet","clearButtonShown","clearButton","clearIcon","clearSelectState","focus","data-testid","icon","dropdownIcon","afterIcons","document","passClickAndFocusToInputOnClick","clickTargetIsNotAnInput","click","inputIsNotFocused","activeElement","preventInputBlurWhenClickInsideFocusedSelectArea","isInputFocused","ariaActiveDescendantOptionIndex","ariaActiveDescendantId","selectInputAriaProps","focusWithin","resetOptionFocusOnMouseLeave","host","updateLastMousePosition","aria-live","autoComplete","autoCapitalize","autoCorrect","spellCheck","readOnly","onKeyUp","onKeyDown","after","select","tabIndex","aria-hidden","control","targetRef","placement","onPlacementChange","onMouseLeave","offsetDistance","autoWidth","forcePortal","role","aria-labelledby"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelectClearButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { stopPropagation } from '../../lib/utils';\nimport type { HasDataAttribute } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport interface CustomSelectClearButtonProps extends HasDataAttribute {\n className?: string;\n onClick: () => void;\n disabled?: boolean;\n}\n\nexport const CustomSelectClearButton = ({\n className,\n onClick,\n ...restProps\n}: CustomSelectClearButtonProps): React.ReactNode => {\n return (\n <IconButton\n Component=\"button\"\n label=\"Очистить поле\"\n onKeyDown={stopPropagation}\n type=\"button\"\n activeMode=\"opacity\"\n hoverMode=\"opacity\"\n {...restProps}\n className={className}\n onClick={(e) => {\n stopPropagation(e);\n e.preventDefault();\n onClick();\n }}\n >\n <Icon16Cancel />\n </IconButton>\n );\n};\n"],"names":["React","Icon16Cancel","stopPropagation","IconButton","CustomSelectClearButton","className","onClick","restProps","Component","label","onKeyDown","type","activeMode","hoverMode","e","preventDefault"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,eAAe,QAAQ,qBAAkB;AAElD,SAASC,UAAU,QAAQ,8BAA2B;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelectClearButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { stopPropagation } from '../../lib/utils';\nimport type { HasDataAttribute } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport interface CustomSelectClearButtonProps extends HasDataAttribute {\n /**\n * `className` для компонента.\n */\n className?: string;\n /**\n * Обработчик нажатия на кнопку.\n */\n onClick: () => void;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n}\n\nexport const CustomSelectClearButton = ({\n className,\n onClick,\n ...restProps\n}: CustomSelectClearButtonProps): React.ReactNode => {\n return (\n <IconButton\n Component=\"button\"\n label=\"Очистить поле\"\n onKeyDown={stopPropagation}\n type=\"button\"\n activeMode=\"opacity\"\n hoverMode=\"opacity\"\n {...restProps}\n className={className}\n onClick={(e) => {\n stopPropagation(e);\n e.preventDefault();\n onClick();\n }}\n >\n <Icon16Cancel />\n </IconButton>\n );\n};\n"],"names":["React","Icon16Cancel","stopPropagation","IconButton","CustomSelectClearButton","className","onClick","restProps","Component","label","onKeyDown","type","activeMode","hoverMode","e","preventDefault"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,eAAe,QAAQ,qBAAkB;AAElD,SAASC,UAAU,QAAQ,8BAA2B;AAiBtD,OAAO,MAAMC,0BAA0B,CAAC,EACtCC,SAAS,EACTC,OAAO,EACP,GAAGC,WAC0B;IAC7B,qBACE,KAACJ;QACCK,WAAU;QACVC,OAAM;QACNC,WAAWR;QACXS,MAAK;QACLC,YAAW;QACXC,WAAU;QACT,GAAGN,SAAS;QACbF,WAAWA;QACXC,SAAS,CAACQ;YACRZ,gBAAgBY;YAChBA,EAAEC,cAAc;YAChBT;QACF;kBAEA,cAAA,KAACL;;AAGP,EAAE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import * as React from "react";
|
|
3
|
+
/* eslint-disable jsdoc/require-jsdoc */ import * as React from "react";
|
|
4
4
|
import { classNames } from "@vkontakte/vkjs";
|
|
5
5
|
import { useAdaptivity } from "../../../hooks/useAdaptivity.js";
|
|
6
6
|
import { useExternRef } from "../../../hooks/useExternRef.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useFocusWithin } from '../../../hooks/useFocusWithin';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { getFormFieldModeFromSelectType } from '../../../lib/select';\nimport type { HasAlign, HasRef, HasRootRef } from '../../../types';\nimport { FormField, type FormFieldProps } from '../../FormField/FormField';\nimport type { SelectType } from '../../Select/Select';\nimport { SelectTypography } from '../../SelectTypography/SelectTypography';\nimport { Text } from '../../Typography/Text/Text';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CustomSelectInput.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface CustomSelectInputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLDivElement>,\n HasAlign,\n Omit<FormFieldProps, 'mode' | 'type' | 'maxHeight'> {\n selectType?: SelectType;\n multiline?: boolean;\n labelTextTestId?: string;\n fetching?: boolean;\n}\n\n/**\n * @since 5.10.0\n * @private\n */\nexport const CustomSelectInput = ({\n align = 'left',\n getRef,\n className,\n getRootRef,\n style,\n before,\n after,\n status,\n children,\n placeholder,\n selectType = 'default',\n multiline,\n disabled,\n fetching,\n labelTextTestId,\n ...restProps\n}: CustomSelectInputProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const title = children || placeholder;\n const showLabelOrPlaceholder = !Boolean(restProps.value);\n\n const handleRootRef = useExternRef(getRootRef);\n const focusWithin = useFocusWithin(handleRootRef);\n\n const input = (\n <Text\n type=\"text\"\n {...restProps}\n disabled={disabled && !fetching}\n readOnly={restProps.readOnly || (disabled && fetching)}\n Component=\"input\"\n normalize={false}\n className={classNames(\n styles.el,\n (restProps.readOnly || (showLabelOrPlaceholder && !focusWithin)) && styles.elCursorPointer,\n )}\n getRootRef={getRef}\n placeholder={children ? '' : placeholder}\n />\n );\n\n const platform = usePlatform();\n return (\n <FormField\n Component=\"div\"\n style={style}\n className={classNames(\n styles.host,\n align === 'right' && styles.alignRight,\n align === 'center' && styles.alignCenter,\n !children && styles.empty,\n multiline && styles.multiline,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n before && styles.hasBefore,\n after && styles.hasAfter,\n className,\n )}\n getRootRef={handleRootRef}\n before={before}\n after={after}\n disabled={disabled}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles.inputGroup}>\n <div\n className={classNames(styles.container, className)}\n tabIndex={-1}\n aria-hidden\n data-testid={labelTextTestId}\n >\n <SelectTypography selectType={selectType} className={styles.title}>\n {showLabelOrPlaceholder && title}\n </SelectTypography>\n </div>\n {/* Чтобы отключить autosuggestion в iOS, тултипы которого начинают всплывать даже когда input\n * в режиме readonly, мы оборачиваем инпут в VisuallyHidden.\n * Тултипы появляются при каждом клике на input.\n * смотри: https://github.com/VKCOM/VKUI/issues/6205\n *\n * Достаточно не дать пользователю кликнуть по инпуту.\n * Делаем это только для режима read-only. Потому что проблема именно в режиме read-only.\n * Обертка вокруг инпута обрабатывает клики и передаёт фокус, так что на взаимодействии с инпутом это никак не скажется.\n **/}\n {restProps.readOnly && platform === 'ios' ? (\n <VisuallyHidden>{input}</VisuallyHidden>\n ) : (\n input\n )}\n </div>\n </FormField>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useFocusWithin","usePlatform","getFormFieldModeFromSelectType","FormField","SelectTypography","Text","VisuallyHidden","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","CustomSelectInput","align","getRef","className","getRootRef","style","before","after","status","children","placeholder","selectType","multiline","disabled","fetching","labelTextTestId","restProps","sizeY","title","showLabelOrPlaceholder","Boolean","value","handleRootRef","focusWithin","input","type","readOnly","Component","normalize","el","elCursorPointer","platform","host","alignRight","alignCenter","empty","hasBefore","hasAfter","mode","div","inputGroup","container","tabIndex","aria-hidden","data-testid"],"mappings":"AAAA;;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useFocusWithin } from '../../../hooks/useFocusWithin';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { getFormFieldModeFromSelectType } from '../../../lib/select';\nimport type { HasAlign, HasRef, HasRootRef } from '../../../types';\nimport { FormField, type FormFieldProps } from '../../FormField/FormField';\nimport type { SelectType } from '../../Select/Select';\nimport { SelectTypography } from '../../SelectTypography/SelectTypography';\nimport { Text } from '../../Typography/Text/Text';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CustomSelectInput.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface CustomSelectInputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLDivElement>,\n HasAlign,\n Omit<FormFieldProps, 'mode' | 'type' | 'maxHeight'> {\n selectType?: SelectType;\n multiline?: boolean;\n labelTextTestId?: string;\n fetching?: boolean;\n}\n\n/**\n * @since 5.10.0\n * @private\n */\nexport const CustomSelectInput = ({\n align = 'left',\n getRef,\n className,\n getRootRef,\n style,\n before,\n after,\n status,\n children,\n placeholder,\n selectType = 'default',\n multiline,\n disabled,\n fetching,\n labelTextTestId,\n ...restProps\n}: CustomSelectInputProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const title = children || placeholder;\n const showLabelOrPlaceholder = !Boolean(restProps.value);\n\n const handleRootRef = useExternRef(getRootRef);\n const focusWithin = useFocusWithin(handleRootRef);\n\n const input = (\n <Text\n type=\"text\"\n {...restProps}\n disabled={disabled && !fetching}\n readOnly={restProps.readOnly || (disabled && fetching)}\n Component=\"input\"\n normalize={false}\n className={classNames(\n styles.el,\n (restProps.readOnly || (showLabelOrPlaceholder && !focusWithin)) && styles.elCursorPointer,\n )}\n getRootRef={getRef}\n placeholder={children ? '' : placeholder}\n />\n );\n\n const platform = usePlatform();\n return (\n <FormField\n Component=\"div\"\n style={style}\n className={classNames(\n styles.host,\n align === 'right' && styles.alignRight,\n align === 'center' && styles.alignCenter,\n !children && styles.empty,\n multiline && styles.multiline,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n before && styles.hasBefore,\n after && styles.hasAfter,\n className,\n )}\n getRootRef={handleRootRef}\n before={before}\n after={after}\n disabled={disabled}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles.inputGroup}>\n <div\n className={classNames(styles.container, className)}\n tabIndex={-1}\n aria-hidden\n data-testid={labelTextTestId}\n >\n <SelectTypography selectType={selectType} className={styles.title}>\n {showLabelOrPlaceholder && title}\n </SelectTypography>\n </div>\n {/* Чтобы отключить autosuggestion в iOS, тултипы которого начинают всплывать даже когда input\n * в режиме readonly, мы оборачиваем инпут в VisuallyHidden.\n * Тултипы появляются при каждом клике на input.\n * смотри: https://github.com/VKCOM/VKUI/issues/6205\n *\n * Достаточно не дать пользователю кликнуть по инпуту.\n * Делаем это только для режима read-only. Потому что проблема именно в режиме read-only.\n * Обертка вокруг инпута обрабатывает клики и передаёт фокус, так что на взаимодействии с инпутом это никак не скажется.\n **/}\n {restProps.readOnly && platform === 'ios' ? (\n <VisuallyHidden>{input}</VisuallyHidden>\n ) : (\n input\n )}\n </div>\n </FormField>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useFocusWithin","usePlatform","getFormFieldModeFromSelectType","FormField","SelectTypography","Text","VisuallyHidden","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","CustomSelectInput","align","getRef","className","getRootRef","style","before","after","status","children","placeholder","selectType","multiline","disabled","fetching","labelTextTestId","restProps","sizeY","title","showLabelOrPlaceholder","Boolean","value","handleRootRef","focusWithin","input","type","readOnly","Component","normalize","el","elCursorPointer","platform","host","alignRight","alignCenter","empty","hasBefore","hasAfter","mode","div","inputGroup","container","tabIndex","aria-hidden","data-testid"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,WAAW,QAAQ,gCAA6B;AACzD,SAASC,8BAA8B,QAAQ,yBAAsB;AAErE,SAASC,SAAS,QAA6B,+BAA4B;AAE3E,SAASC,gBAAgB,QAAQ,6CAA0C;AAC3E,SAASC,IAAI,QAAQ,gCAA6B;AAClD,SAASC,cAAc,QAAQ,yCAAsC;AACrE,OAAOC,YAAY,iCAAiC;AAEpD,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAcA;;;CAGC,GACD,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,QAAQ,MAAM,EACdC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,WAAW,EACXC,aAAa,SAAS,EACtBC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,eAAe,EACf,GAAGC,WACoB;IACvB,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGhC;IAE3B,MAAMiC,QAAQT,YAAYC;IAC1B,MAAMS,yBAAyB,CAACC,QAAQJ,UAAUK,KAAK;IAEvD,MAAMC,gBAAgBpC,aAAakB;IACnC,MAAMmB,cAAcpC,eAAemC;IAEnC,MAAME,sBACJ,KAAChC;QACCiC,MAAK;QACJ,GAAGT,SAAS;QACbH,UAAUA,YAAY,CAACC;QACvBY,UAAUV,UAAUU,QAAQ,IAAKb,YAAYC;QAC7Ca,WAAU;QACVC,WAAW;QACXzB,WAAWnB,WACTU,OAAOmC,EAAE,EACT,AAACb,CAAAA,UAAUU,QAAQ,IAAKP,0BAA0B,CAACI,WAAW,KAAM7B,OAAOoC,eAAe;QAE5F1B,YAAYF;QACZQ,aAAaD,WAAW,KAAKC;;IAIjC,MAAMqB,WAAW3C;IACjB,qBACE,KAACE;QACCqC,WAAU;QACVtB,OAAOA;QACPF,WAAWnB,WACTU,OAAOsC,IAAI,EACX/B,UAAU,WAAWP,OAAOuC,UAAU,EACtChC,UAAU,YAAYP,OAAOwC,WAAW,EACxC,CAACzB,YAAYf,OAAOyC,KAAK,EACzBvB,aAAalB,OAAOkB,SAAS,EAC7BK,UAAU,aAAatB,eAAe,CAACsB,MAAM,EAC7CX,UAAUZ,OAAO0C,SAAS,EAC1B7B,SAASb,OAAO2C,QAAQ,EACxBlC;QAEFC,YAAYkB;QACZhB,QAAQA;QACRC,OAAOA;QACPM,UAAUA;QACVyB,MAAMjD,+BAA+BsB;QACrCH,QAAQA;kBAER,cAAA,MAAC+B;YAAIpC,WAAWT,OAAO8C,UAAU;;8BAC/B,KAACD;oBACCpC,WAAWnB,WAAWU,OAAO+C,SAAS,EAAEtC;oBACxCuC,UAAU,CAAC;oBACXC,aAAW;oBACXC,eAAa7B;8BAEb,cAAA,KAACxB;wBAAiBoB,YAAYA;wBAAYR,WAAWT,OAAOwB,KAAK;kCAC9DC,0BAA0BD;;;gBAY9BF,UAAUU,QAAQ,IAAIK,aAAa,sBAClC,KAACtC;8BAAgB+B;qBAEjBA;;;;AAKV,EAAE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { classNames } from "@vkontakte/vkjs";
|
|
4
4
|
import { CustomScrollView } from "../CustomScrollView/CustomScrollView.js";
|
|
@@ -21,6 +21,7 @@ overscrollBehavior, ...restProps })=>{
|
|
|
21
21
|
getRootRef: scrollBoxRef,
|
|
22
22
|
className: noMaxHeight ? undefined : styles.inWithMaxHeight,
|
|
23
23
|
overscrollBehavior: overscrollBehavior,
|
|
24
|
+
tabIndex: -1,
|
|
24
25
|
children: fetching ? /*#__PURE__*/ _jsx("div", {
|
|
25
26
|
className: styles.fetching,
|
|
26
27
|
children: /*#__PURE__*/ _jsx(Spinner, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CustomSelectDropdown/CustomSelectDropdown.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CustomSelectDropdown/CustomSelectDropdown.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { Placement } from '../../lib/floating';\nimport type { HasDataAttribute, HTMLAttributesWithRootRef } from '../../types';\nimport { CustomScrollView, type CustomScrollViewProps } from '../CustomScrollView/CustomScrollView';\nimport { Popper } from '../Popper/Popper';\nimport { Spinner } from '../Spinner/Spinner';\nimport styles from './CustomSelectDropdown.module.css';\n\nexport interface CustomSelectDropdownProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n Pick<CustomScrollViewProps, 'overscrollBehavior'>,\n HasDataAttribute {\n targetRef: React.RefObject<HTMLElement | null>;\n placement?: Placement;\n scrollBoxRef?: React.Ref<HTMLDivElement>;\n fetching?: boolean;\n offsetDistance?: number;\n /**\n * Ширина раскрывающегося списка зависит от контента.\n */\n autoWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (placement: Placement) => void;\n /**\n * Отключает максимальную высоту по умолчанию.\n */\n noMaxHeight?: boolean;\n}\n\nexport const CustomSelectDropdown = ({\n children,\n targetRef,\n scrollBoxRef,\n placement = 'bottom',\n fetching,\n offsetDistance = 0,\n autoWidth = false,\n forcePortal = true,\n className,\n noMaxHeight = false,\n // CustomScrollView\n overscrollBehavior,\n ...restProps\n}: CustomSelectDropdownProps): React.ReactNode => {\n return (\n <Popper\n targetRef={targetRef}\n offsetByMainAxis={offsetDistance}\n sameWidth={!autoWidth}\n placement={placement}\n className={classNames(\n styles.host,\n 'vkuiInternalCustomSelectDropdown',\n offsetDistance === 0 && (placement.includes('top') ? styles.top : styles.bottom),\n autoWidth && classNames(styles.wide, 'vkuiInternalCustomSelectDropdown--wide'),\n className,\n )}\n usePortal={forcePortal}\n autoUpdateOnTargetResize\n flipMiddlewareFallbackAxisSideDirection=\"none\"\n {...restProps}\n >\n <CustomScrollView\n getRootRef={scrollBoxRef}\n className={noMaxHeight ? undefined : styles.inWithMaxHeight}\n overscrollBehavior={overscrollBehavior}\n tabIndex={-1}\n >\n {fetching ? (\n <div className={styles.fetching}>\n <Spinner size=\"s\" />\n </div>\n ) : (\n children\n )}\n </CustomScrollView>\n </Popper>\n );\n};\n"],"names":["React","classNames","CustomScrollView","Popper","Spinner","styles","CustomSelectDropdown","children","targetRef","scrollBoxRef","placement","fetching","offsetDistance","autoWidth","forcePortal","className","noMaxHeight","overscrollBehavior","restProps","offsetByMainAxis","sameWidth","host","includes","top","bottom","wide","usePortal","autoUpdateOnTargetResize","flipMiddlewareFallbackAxisSideDirection","getRootRef","undefined","inWithMaxHeight","tabIndex","div","size"],"mappings":"AAAA,sCAAsC;AAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAG7C,SAASC,gBAAgB,QAAoC,0CAAuC;AACpG,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,OAAOC,YAAY,oCAAoC;AAuBvD,OAAO,MAAMC,uBAAuB,CAAC,EACnCC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,YAAY,QAAQ,EACpBC,QAAQ,EACRC,iBAAiB,CAAC,EAClBC,YAAY,KAAK,EACjBC,cAAc,IAAI,EAClBC,SAAS,EACTC,cAAc,KAAK,EACnB,mBAAmB;AACnBC,kBAAkB,EAClB,GAAGC,WACuB;IAC1B,qBACE,KAACf;QACCK,WAAWA;QACXW,kBAAkBP;QAClBQ,WAAW,CAACP;QACZH,WAAWA;QACXK,WAAWd,WACTI,OAAOgB,IAAI,EACX,oCACAT,mBAAmB,KAAMF,CAAAA,UAAUY,QAAQ,CAAC,SAASjB,OAAOkB,GAAG,GAAGlB,OAAOmB,MAAM,AAAD,GAC9EX,aAAaZ,WAAWI,OAAOoB,IAAI,EAAE,2CACrCV;QAEFW,WAAWZ;QACXa,wBAAwB;QACxBC,yCAAwC;QACvC,GAAGV,SAAS;kBAEb,cAAA,KAAChB;YACC2B,YAAYpB;YACZM,WAAWC,cAAcc,YAAYzB,OAAO0B,eAAe;YAC3Dd,oBAAoBA;YACpBe,UAAU,CAAC;sBAEVrB,yBACC,KAACsB;gBAAIlB,WAAWV,OAAOM,QAAQ;0BAC7B,cAAA,KAACP;oBAAQ8B,MAAK;;iBAGhB3B;;;AAKV,EAAE"}
|