@vkontakte/vkui 8.0.1 → 8.1.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 +8 -6
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js +3 -0
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/AccordionIcon.d.ts +14 -0
- package/dist/components/Accordion/AccordionIcon.d.ts.map +1 -0
- package/dist/components/Accordion/AccordionIcon.js +16 -0
- package/dist/components/Accordion/AccordionIcon.js.map +1 -0
- package/dist/components/Accordion/AccordionSummary.d.ts +3 -3
- package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionSummary.js +4 -6
- package/dist/components/Accordion/AccordionSummary.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.d.ts +9 -9
- 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 +3 -3
- package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/components/ActionSheet/types.d.ts +8 -8
- 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 +15 -15
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts +1 -1
- package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts.map +1 -1
- package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +7 -7
- 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 +18 -18
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Alert/AlertBase.d.ts +2 -2
- 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 +1 -1
- package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
- package/dist/components/Alert/AlertTypography.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +9 -9
- 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 +4 -4
- package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts +2 -2
- 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.map +1 -1
- package/dist/components/AppRoot/types.d.ts +4 -4
- package/dist/components/AppRoot/types.d.ts.map +1 -1
- package/dist/components/AppRoot/types.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.d.ts +2 -2
- 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 +2 -2
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/components/Badge/Badge.d.ts +1 -1
- 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 +12 -12
- package/dist/components/Banner/Banner.d.ts.map +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Box/Box.d.ts +1 -1
- package/dist/components/Box/Box.d.ts.map +1 -1
- package/dist/components/Box/Box.js.map +1 -1
- package/dist/components/Button/Button.d.ts +11 -11
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +1 -1
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -4
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +17 -17
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.d.ts +18 -18
- package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.d.ts +14 -14
- package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.d.ts +19 -19
- package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +12 -12
- package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.d.ts +14 -14
- package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTimePicker.d.ts +3 -3
- package/dist/components/CalendarTime/CalendarTimePicker.d.ts.map +1 -1
- package/dist/components/CalendarTime/CalendarTimePicker.js.map +1 -1
- package/dist/components/Card/Card.d.ts +1 -1
- 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 +2 -2
- 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 +3 -3
- package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/CarouselBase/Bullets.d.ts +1 -1
- package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
- package/dist/components/CarouselBase/Bullets.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.map +1 -1
- package/dist/components/CarouselBase/ScrollArrows.d.ts +2 -2
- package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
- package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
- package/dist/components/CarouselBase/helpers.d.ts +4 -4
- package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
- package/dist/components/CarouselBase/helpers.js.map +1 -1
- package/dist/components/CarouselBase/types.d.ts +23 -23
- package/dist/components/CarouselBase/types.d.ts.map +1 -1
- package/dist/components/CarouselBase/types.js.map +1 -1
- package/dist/components/Cell/Cell.d.ts +8 -8
- package/dist/components/Cell/Cell.d.ts.map +1 -1
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -2
- package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/components/CellButton/CellButton.d.ts +16 -16
- 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 +2 -2
- package/dist/components/Checkbox/Checkbox.d.ts +6 -6
- 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 +11 -11
- 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 +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
- package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/Chip/Chip.d.ts +9 -9
- package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInputBase/types.d.ts +19 -19
- 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 +13 -13
- package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
- package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/components/Clickable/Clickable.d.ts +1 -1
- package/dist/components/Clickable/Clickable.d.ts.map +1 -1
- package/dist/components/Clickable/Clickable.js.map +1 -1
- package/dist/components/Clickable/useState.d.ts +13 -13
- package/dist/components/Clickable/useState.d.ts.map +1 -1
- package/dist/components/Clickable/useState.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ContentBadge/ContentBadge.d.ts +4 -4
- package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
- package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts +8 -8
- package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/Counter/Counter.d.ts +4 -4
- 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 +6 -6
- 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 +36 -27
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +2 -2
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +2 -2
- 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 +9 -9
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts +2 -2
- package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts.map +1 -1
- package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
- package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts +1 -1
- package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts.map +1 -1
- package/dist/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
- package/dist/components/CustomSelect/types.d.ts +1 -1
- package/dist/components/CustomSelect/types.d.ts.map +1 -1
- package/dist/components/CustomSelect/types.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +8 -8
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +9 -9
- package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +23 -23
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/DateInput.js +3 -12
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateInput/hooks.d.ts +4 -4
- package/dist/components/DateInput/hooks.d.ts.map +1 -1
- package/dist/components/DateInput/hooks.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +25 -25
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +2 -11
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/DropZone/DropZone.d.ts +2 -2
- package/dist/components/DropZone/DropZone.d.ts.map +1 -1
- package/dist/components/DropZone/DropZone.js +1 -1
- package/dist/components/DropZone/DropZone.js.map +1 -1
- package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.d.ts +1 -1
- package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.d.ts.map +1 -0
- package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +3 -3
- package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
- package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts +1 -1
- 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 +1 -1
- package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/File/File.d.ts +4 -4
- package/dist/components/File/File.d.ts.map +1 -1
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.d.ts +3 -3
- package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/Flex/Flex.d.ts +8 -8
- package/dist/components/Flex/Flex.d.ts.map +1 -1
- package/dist/components/Flex/Flex.js.map +1 -1
- package/dist/components/Flex/FlexItem/FlexItem.d.ts +1 -1
- package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
- package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
- package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -9
- 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 +2 -4
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/FormField/FormField.d.ts +8 -8
- 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 +2 -2
- 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 +10 -10
- package/dist/components/FormItem/FormItem.d.ts.map +1 -1
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormItem/context.d.ts +2 -2
- package/dist/components/FormItem/context.d.ts.map +1 -1
- package/dist/components/FormItem/context.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +4 -4
- 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 +2 -2
- 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 +2 -2
- package/dist/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/Gradient/Gradient.d.ts +2 -2
- package/dist/components/Gradient/Gradient.d.ts.map +1 -1
- package/dist/components/Gradient/Gradient.js.map +1 -1
- package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
- package/dist/components/GridAvatar/GridAvatar.d.ts.map +1 -1
- package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/components/Group/Group.d.ts +2 -2
- package/dist/components/Group/Group.d.ts.map +1 -1
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Group/GroupContainer.d.ts +3 -3
- package/dist/components/Group/GroupContainer.d.ts.map +1 -1
- package/dist/components/Group/GroupContainer.js.map +1 -1
- package/dist/components/Group/GroupExpandedContent.d.ts +1 -1
- package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
- package/dist/components/Group/GroupExpandedContent.js.map +1 -1
- package/dist/components/Header/Header.d.ts +11 -11
- 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 +7 -7
- package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +4 -4
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +30 -15
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -6
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Image/Image.d.ts +5 -5
- package/dist/components/Image/Image.d.ts.map +1 -1
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/ImageBase/ImageBase.d.ts +17 -15
- package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBase.js +9 -5
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +3 -3
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +3 -3
- 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/types.d.ts +3 -3
- package/dist/components/ImageBase/types.d.ts.map +1 -1
- package/dist/components/ImageBase/types.js.map +1 -1
- package/dist/components/Input/Input.d.ts +4 -4
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/InputLike/InputLike.d.ts +3 -3
- package/dist/components/InputLike/InputLike.d.ts.map +1 -1
- package/dist/components/InputLike/InputLike.js.map +1 -1
- package/dist/components/Link/Link.d.ts +4 -4
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/List/List.d.ts +1 -1
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +5 -5
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
- package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
- package/dist/components/ModalCard/types.d.ts +13 -13
- package/dist/components/ModalCard/types.d.ts.map +1 -1
- package/dist/components/ModalCard/types.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +14 -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 +1 -1
- 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 +3 -3
- package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
- package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
- package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
- package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -1
- package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
- package/dist/components/ModalOverlay/ModalOverlay.d.ts +7 -7
- package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
- package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.d.ts +2 -2
- package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
- package/dist/components/ModalPage/ModalPageInternal.d.ts +2 -2
- package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
- package/dist/components/ModalPage/types.d.ts +27 -27
- 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 +2 -2
- 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 +1 -1
- 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 +15 -15
- package/dist/components/ModalRoot/types.d.ts.map +1 -1
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalRootManager.d.ts +19 -19
- package/dist/components/ModalRoot/useModalRootManager.d.ts.map +1 -1
- package/dist/components/ModalRoot/useModalRootManager.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +11 -11
- package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/NumberInputLike/NumberInputLike.d.ts +3 -3
- package/dist/components/NumberInputLike/NumberInputLike.d.ts.map +1 -1
- package/dist/components/NumberInputLike/NumberInputLike.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +6 -6
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts +19 -19
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +14 -6
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts +3 -3
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +3 -3
- package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
- package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +3 -3
- package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +3 -3
- 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 +8 -8
- package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
- 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 +2 -2
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -3
- package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.d.ts +5 -5
- package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +6 -6
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +5 -5
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +4 -4
- package/dist/components/Popper/Popper.d.ts.map +1 -1
- package/dist/components/Popper/Popper.js +13 -7
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/Progress/Progress.d.ts +4 -4
- 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.d.ts.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +4 -4
- package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
- package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +7 -7
- package/dist/components/Radio/Radio.d.ts.map +1 -1
- package/dist/components/Radio/Radio.js +2 -2
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Radio/RadioInput/RadioInput.d.ts +4 -4
- package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
- package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- 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 +9 -9
- package/dist/components/Removable/Removable.d.ts.map +1 -1
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/Removable/RemovableIos.d.ts +3 -3
- package/dist/components/Removable/RemovableIos.d.ts.map +1 -1
- package/dist/components/Removable/RemovableIos.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +15 -15
- package/dist/components/RichCell/RichCell.d.ts.map +1 -1
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/Root/Root.d.ts +4 -4
- package/dist/components/Root/Root.d.ts.map +1 -1
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/RootComponent/RootComponent.d.ts +2 -2
- package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
- package/dist/components/RootComponent/RootComponent.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
- package/dist/components/ScreenSpinner/context.d.ts +2 -2
- 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 +5 -5
- 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 +10 -4
- package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
- package/dist/components/ScrollArrow/ScrollArrow.js +14 -4
- package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/components/Search/Search.d.ts +17 -17
- 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 +6 -6
- 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 +3 -3
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
- 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 +1 -1
- package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
- package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
- package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +2 -2
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
- package/dist/components/Separator/Separator.d.ts +5 -5
- package/dist/components/Separator/Separator.d.ts.map +1 -1
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/SimpleCell/Chevron/Chevron.d.ts +1 -1
- package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
- package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +14 -14
- package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.d.ts +6 -6
- package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +5 -5
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +17 -17
- 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 +5 -5
- package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +10 -10
- package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
- package/dist/components/Snackbar/utils.d.ts +1 -1
- package/dist/components/Snackbar/utils.d.ts.map +1 -1
- package/dist/components/Snackbar/utils.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +2 -2
- package/dist/components/Spacing/Spacing.d.ts.map +1 -1
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/Spinner/Spinner.d.ts +4 -4
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts +7 -7
- package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts +8 -8
- 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 +2 -2
- 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 +8 -8
- package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +4 -4
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.d.ts +2 -2
- package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.d.ts +3 -3
- 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 +7 -7
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/TabsModeContext.d.ts +1 -1
- package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
- package/dist/components/Tabs/TabsModeContext.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts +5 -5
- package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +3 -3
- 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 +2 -2
- package/dist/components/Tappable/state.d.ts.map +1 -1
- package/dist/components/Tappable/state.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +6 -6
- 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 +4 -4
- 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 +6 -6
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/TooltipBase/TooltipBase.d.ts +10 -10
- package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
- package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
- package/dist/components/Touch/Touch.d.ts +16 -16
- package/dist/components/Touch/Touch.d.ts.map +1 -1
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +1 -1
- 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 +1 -1
- 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.d.ts.map +1 -1
- package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts +1 -1
- 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 +1 -1
- 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 -6
- 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 +1 -1
- 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 +6 -6
- 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 +4 -4
- 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 +12 -12
- package/dist/components/View/ViewInfinite.d.ts.map +1 -1
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +10 -10
- 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 +3 -3
- package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
- 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 +3 -0
- package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
- package/dist/cssm/components/Accordion/AccordionIcon.js +17 -0
- package/dist/cssm/components/Accordion/AccordionIcon.js.map +1 -0
- package/dist/cssm/components/Accordion/AccordionSummary.js +4 -7
- 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/types.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
- package/dist/cssm/components/ActionSheetItem/subcomponents/Radio/Radio.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/AlertBase.js.map +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.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +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.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.module.css +0 -5
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.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/Box/Box.js.map +1 -1
- package/dist/cssm/components/Button/Button.js +1 -1
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
- package/dist/cssm/components/Card/Card.js.map +1 -1
- 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.map +1 -1
- package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
- package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
- package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
- package/dist/cssm/components/CarouselBase/types.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +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/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
- package/dist/cssm/components/Clickable/useState.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
- 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 +2 -2
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.module.css +0 -6
- package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
- package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
- package/dist/cssm/components/CustomSelect/types.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +3 -12
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateInput/hooks.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -11
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/DropZone/DropZone.js +1 -1
- package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
- package/dist/cssm/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
- 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.map +1 -1
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/Flex/Flex.js.map +1 -1
- package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
- package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.js +2 -4
- 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.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.module.css +1 -2
- 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/Gradient/Gradient.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
- package/dist/cssm/components/Group/GroupExpandedContent.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.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -6
- 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.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js +9 -5
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.module.css +11 -3
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
- package/dist/cssm/components/ImageBase/types.js.map +1 -1
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +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/ModalCardBase/ModalCardBase.module.css +0 -4
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +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/ModalPage/ModalPageBase.js.map +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.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalRootManager.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/NumberInputLike/NumberInputLike.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.js +14 -6
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +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.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -5
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +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/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.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/Popper/Popper.js +13 -7
- 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/PullToRefreshSpinner.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +2 -2
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.module.css +0 -4
- package/dist/cssm/components/Removable/RemovableIos.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.js.map +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/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 +14 -4
- 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/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControl.js.map +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.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.map +1 -1
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.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/subcomponents/Basic/Basic.module.css +2 -4
- package/dist/cssm/components/Snackbar/utils.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.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.map +1 -1
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- 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.map +1 -1
- package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- 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/TooltipBase/TooltipBase.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.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 -3
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/helpers/math.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/cssm/hooks/useAutoDetectColorScheme.js +8 -27
- package/dist/cssm/hooks/useAutoDetectColorScheme.js.map +1 -1
- package/dist/cssm/hooks/useCalendar.js.map +1 -1
- package/dist/cssm/hooks/useDateInput.js.map +1 -1
- package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
- package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
- package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
- package/dist/cssm/hooks/useFocusTrap/FocusGuard.js.map +1 -1
- package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +10 -2
- package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
- package/dist/cssm/hooks/useFocusVisibleClassName.js.map +1 -1
- package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
- package/dist/cssm/hooks/useMediaQueryMatch.js +25 -0
- package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -0
- package/dist/cssm/hooks/useMergeProps.js.map +1 -1
- package/dist/cssm/hooks/useModalManager/types.js.map +1 -1
- package/dist/cssm/hooks/usePagination.js.map +1 -1
- package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
- package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +2 -2
- package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
- package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
- package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
- package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +3 -3
- package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
- package/dist/cssm/hooks/useSnackbarManager/types.js.map +1 -1
- package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/accessibility.js.map +1 -1
- package/dist/cssm/lib/adaptivity/functions.js +6 -0
- package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
- package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
- package/dist/cssm/lib/animation/useCSSTransition.js +4 -2
- package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/cssm/lib/animation/useReducedMotion.js +2 -20
- package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
- package/dist/cssm/lib/calendar.js.map +1 -1
- package/dist/cssm/lib/date.js.map +1 -1
- package/dist/cssm/lib/dom.js.map +1 -1
- package/dist/cssm/lib/floating/functions.js.map +1 -1
- package/dist/cssm/lib/floating/types/component.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
- package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/cssm/lib/getNavId.js.map +1 -1
- package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
- package/dist/cssm/lib/layouts/types.js.map +1 -1
- package/dist/cssm/lib/select.js.map +1 -1
- package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -1
- package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -1
- package/dist/cssm/lib/tokens/types.js.map +1 -1
- package/dist/cssm/lib/utils.js +3 -0
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/types.js +4 -1
- package/dist/cssm/types.js.map +1 -1
- package/dist/helpers/math.d.ts +1 -1
- package/dist/helpers/math.d.ts.map +1 -1
- package/dist/helpers/math.js.map +1 -1
- package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts +5 -1
- package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts.map +1 -1
- package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
- package/dist/hooks/useAutoDetectColorScheme.js +8 -27
- package/dist/hooks/useAutoDetectColorScheme.js.map +1 -1
- package/dist/hooks/useCalendar.d.ts +1 -1
- package/dist/hooks/useCalendar.d.ts.map +1 -1
- package/dist/hooks/useCalendar.js.map +1 -1
- package/dist/hooks/useDateInput.d.ts +5 -5
- package/dist/hooks/useDateInput.d.ts.map +1 -1
- package/dist/hooks/useDateInput.js.map +1 -1
- package/dist/hooks/useDraggableWithDomApi/types.d.ts +1 -1
- package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
- package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
- package/dist/hooks/useEnsuredControl.d.ts +4 -4
- package/dist/hooks/useEnsuredControl.d.ts.map +1 -1
- package/dist/hooks/useEnsuredControl.js.map +1 -1
- package/dist/hooks/useFloatingElement.d.ts +4 -4
- package/dist/hooks/useFloatingElement.d.ts.map +1 -1
- package/dist/hooks/useFloatingElement.js.map +1 -1
- package/dist/hooks/useFocusTrap/FocusGuard.d.ts +1 -1
- package/dist/hooks/useFocusTrap/FocusGuard.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap/FocusGuard.js.map +1 -1
- package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +6 -10
- package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap/useFocusTrap.js +10 -2
- package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
- package/dist/hooks/useFocusVisibleClassName.d.ts +3 -3
- package/dist/hooks/useFocusVisibleClassName.d.ts.map +1 -1
- package/dist/hooks/useFocusVisibleClassName.js.map +1 -1
- package/dist/hooks/useGlobalEscKeyDown.d.ts +1 -1
- package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
- package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
- package/dist/hooks/useMediaQueryMatch.d.ts +6 -0
- package/dist/hooks/useMediaQueryMatch.d.ts.map +1 -0
- package/dist/hooks/useMediaQueryMatch.js +25 -0
- package/dist/hooks/useMediaQueryMatch.js.map +1 -0
- package/dist/hooks/useMergeProps.d.ts +1 -1
- package/dist/hooks/useMergeProps.d.ts.map +1 -1
- package/dist/hooks/useMergeProps.js.map +1 -1
- package/dist/hooks/useModalManager/types.d.ts +8 -8
- package/dist/hooks/useModalManager/types.d.ts.map +1 -1
- package/dist/hooks/useModalManager/types.js.map +1 -1
- package/dist/hooks/usePagination.d.ts +4 -4
- package/dist/hooks/usePagination.d.ts.map +1 -1
- package/dist/hooks/usePagination.js.map +1 -1
- package/dist/hooks/usePatchChildren.d.ts +1 -1
- package/dist/hooks/usePatchChildren.d.ts.map +1 -1
- package/dist/hooks/usePatchChildren.js.map +1 -1
- package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.d.ts → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts} +1 -1
- package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts.map +1 -0
- package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +10 -10
- package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
- package/dist/hooks/useSnackbarManager/components/SnackbarHolder.d.ts.map +1 -1
- package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
- package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
- package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.d.ts → SnackbarsContainer/SnackbarsContainer.d.ts} +2 -2
- package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.d.ts.map +1 -0
- package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +10 -10
- package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
- package/dist/hooks/useSnackbarManager/types.d.ts +11 -11
- package/dist/hooks/useSnackbarManager/types.d.ts.map +1 -1
- package/dist/hooks/useSnackbarManager/types.js.map +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/SSR.d.ts +4 -4
- package/dist/lib/SSR.d.ts.map +1 -1
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/accessibility.d.ts +1 -1
- package/dist/lib/accessibility.d.ts.map +1 -1
- package/dist/lib/accessibility.js.map +1 -1
- package/dist/lib/adaptivity/functions.d.ts.map +1 -1
- package/dist/lib/adaptivity/functions.js +6 -0
- package/dist/lib/adaptivity/functions.js.map +1 -1
- package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts +6 -6
- package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
- package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
- package/dist/lib/animation/useCSSTransition.d.ts +11 -11
- package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
- package/dist/lib/animation/useCSSTransition.js +4 -2
- package/dist/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/lib/animation/useReducedMotion.d.ts.map +1 -1
- package/dist/lib/animation/useReducedMotion.js +2 -20
- package/dist/lib/animation/useReducedMotion.js.map +1 -1
- package/dist/lib/calendar.d.ts +5 -5
- package/dist/lib/calendar.d.ts.map +1 -1
- package/dist/lib/calendar.js.map +1 -1
- package/dist/lib/date.d.ts +10 -10
- package/dist/lib/date.d.ts.map +1 -1
- package/dist/lib/date.js.map +1 -1
- package/dist/lib/dom.d.ts +2 -2
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/dom.js.map +1 -1
- package/dist/lib/floating/functions.d.ts +2 -2
- package/dist/lib/floating/functions.d.ts.map +1 -1
- package/dist/lib/floating/functions.js.map +1 -1
- package/dist/lib/floating/types/component.d.ts +9 -9
- package/dist/lib/floating/types/component.d.ts.map +1 -1
- package/dist/lib/floating/types/component.js.map +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +14 -14
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +15 -15
- package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/lib/getNavId.d.ts +2 -2
- package/dist/lib/getNavId.d.ts.map +1 -1
- package/dist/lib/getNavId.js.map +1 -1
- package/dist/lib/layouts/resolveLayoutProps.d.ts +6 -6
- package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
- package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
- package/dist/lib/layouts/types.d.ts +29 -29
- package/dist/lib/layouts/types.d.ts.map +1 -1
- package/dist/lib/layouts/types.js.map +1 -1
- package/dist/lib/select.d.ts +2 -2
- package/dist/lib/select.d.ts.map +1 -1
- package/dist/lib/select.js.map +1 -1
- package/dist/lib/sheet/useBottomSheet.d.ts +4 -4
- package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
- package/dist/lib/sheet/useBottomSheet.js.map +1 -1
- package/dist/lib/tokens/TokensClassProvider.js.map +1 -1
- package/dist/lib/tokens/types.d.ts +2 -2
- package/dist/lib/tokens/types.d.ts.map +1 -1
- package/dist/lib/tokens/types.js.map +1 -1
- package/dist/lib/utils.d.ts +3 -3
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +3 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/types.d.ts +17 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +3 -3
- package/src/components/Accordion/Accordion.tsx +10 -6
- package/src/components/Accordion/AccordionIcon.tsx +31 -0
- package/src/components/Accordion/AccordionSummary.tsx +5 -9
- package/src/components/ActionSheet/ActionSheet.tsx +14 -10
- package/src/components/ActionSheet/ActionSheetContext.ts +3 -3
- package/src/components/ActionSheet/types.ts +8 -8
- package/src/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
- package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -1
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +15 -15
- package/src/components/ActionSheetItem/subcomponents/Radio/Radio.tsx +1 -1
- package/src/components/AdaptivityProvider/AdaptivityContext.tsx +7 -7
- package/src/components/Alert/Alert.tsx +17 -17
- package/src/components/Alert/AlertBase.tsx +2 -2
- package/src/components/Alert/AlertTypography.tsx +1 -1
- package/src/components/AppRoot/AppRoot.tsx +9 -9
- package/src/components/AppRoot/AppRootContext.ts +4 -4
- package/src/components/AppRoot/AppRootPortal.tsx +2 -2
- package/src/components/AppRoot/ScrollContext.tsx +5 -5
- package/src/components/AppRoot/types.ts +4 -4
- package/src/components/AspectRatio/AspectRatio.tsx +2 -2
- package/src/components/Avatar/Avatar.module.css +0 -5
- package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -1
- package/src/components/Avatar/Avatar.tsx +6 -2
- package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -1
- package/src/components/Badge/Badge.tsx +1 -1
- package/src/components/Banner/Banner.tsx +12 -12
- package/src/components/Box/Box.tsx +1 -1
- package/src/components/Button/Button.tsx +19 -12
- package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
- package/src/components/Calendar/Calendar.tsx +17 -17
- package/src/components/CalendarDay/CalendarDay.tsx +18 -18
- package/src/components/CalendarDays/CalendarDays.tsx +14 -14
- package/src/components/CalendarHeader/CalendarHeader.tsx +19 -19
- package/src/components/CalendarRange/CalendarRange.tsx +12 -12
- package/src/components/CalendarTime/CalendarTime.tsx +14 -14
- package/src/components/CalendarTime/CalendarTimePicker.tsx +3 -3
- package/src/components/Card/Card.tsx +1 -1
- package/src/components/CardGrid/CardGrid.tsx +2 -2
- package/src/components/CardScroll/CardScroll.tsx +3 -3
- package/src/components/CarouselBase/Bullets.tsx +1 -1
- package/src/components/CarouselBase/CarouselViewPort.tsx +1 -1
- package/src/components/CarouselBase/ScrollArrows.tsx +2 -2
- package/src/components/CarouselBase/helpers.ts +4 -4
- package/src/components/CarouselBase/types.ts +23 -23
- package/src/components/Cell/Cell.tsx +8 -8
- package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +1 -1
- package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
- package/src/components/CellButton/CellButton.tsx +16 -16
- package/src/components/Checkbox/Checkbox.tsx +16 -9
- package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +20 -14
- package/src/components/ChipsInput/ChipsInput.tsx +1 -1
- package/src/components/ChipsInput/useChipsInput.ts +3 -3
- package/src/components/ChipsInputBase/Chip/Chip.tsx +9 -9
- package/src/components/ChipsInputBase/types.ts +28 -22
- package/src/components/ChipsSelect/ChipsSelect.tsx +13 -13
- package/src/components/ChipsSelect/useChipsSelect.ts +22 -21
- package/src/components/Clickable/Clickable.tsx +1 -1
- package/src/components/Clickable/useState.tsx +13 -13
- package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
- package/src/components/ContentBadge/ContentBadge.tsx +4 -4
- package/src/components/ContentCard/ContentCard.tsx +8 -8
- package/src/components/Counter/Counter.tsx +4 -4
- package/src/components/CustomScrollView/CustomScrollView.tsx +6 -6
- package/src/components/CustomSelect/CustomSelect.module.css +0 -6
- package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -1
- package/src/components/CustomSelect/CustomSelect.tsx +45 -31
- package/src/components/CustomSelect/CustomSelectClearButton.tsx +2 -2
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +20 -14
- package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +2 -2
- package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +1 -1
- package/src/components/CustomSelect/types.ts +1 -1
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +8 -8
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +9 -9
- package/src/components/DateInput/DateInput.tsx +27 -35
- package/src/components/DateInput/hooks.ts +7 -7
- package/src/components/DateRangeInput/DateRangeInput.tsx +28 -36
- package/src/components/DropZone/DropZone.tsx +5 -2
- package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.tsx +1 -1
- package/src/components/DropdownIcon/DropdownIcon.tsx +1 -1
- package/src/components/Epic/Epic.tsx +1 -1
- package/src/components/Epic/ScrollSaver.tsx +1 -1
- package/src/components/File/File.tsx +15 -9
- package/src/components/FixedLayout/FixedLayout.tsx +3 -3
- package/src/components/Flex/Flex.tsx +8 -8
- package/src/components/Flex/FlexItem/FlexItem.tsx +1 -1
- package/src/components/FloatingArrow/FloatingArrow.tsx +9 -9
- package/src/components/FocusTrap/FocusTrap.tsx +0 -3
- package/src/components/FormField/FormField.tsx +8 -8
- package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +2 -2
- package/src/components/FormItem/FormItem.module.css +1 -2
- package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -1
- package/src/components/FormItem/FormItem.tsx +10 -10
- package/src/components/FormItem/context.ts +2 -2
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +4 -4
- package/src/components/FormStatus/FormStatus.tsx +2 -2
- package/src/components/Gallery/Gallery.tsx +2 -2
- package/src/components/Gradient/Gradient.tsx +2 -2
- package/src/components/GridAvatar/GridAvatar.tsx +1 -1
- package/src/components/Group/Group.tsx +2 -2
- package/src/components/Group/GroupContainer.tsx +3 -3
- package/src/components/Group/GroupExpandedContent.tsx +1 -1
- package/src/components/Header/Header.tsx +11 -11
- package/src/components/HorizontalCell/HorizontalCell.tsx +7 -7
- package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +4 -4
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +63 -18
- package/src/components/IconButton/IconButton.tsx +1 -1
- package/src/components/Image/Image.tsx +5 -5
- package/src/components/ImageBase/ImageBase.module.css +11 -3
- package/src/components/ImageBase/ImageBase.module.css.d.ts.map +1 -1
- package/src/components/ImageBase/ImageBase.tsx +27 -17
- package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
- package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +3 -3
- package/src/components/ImageBase/ImageBaseOverlay/types.ts +3 -3
- package/src/components/ImageBase/types.ts +3 -3
- package/src/components/Input/Input.tsx +13 -7
- package/src/components/InputLike/InputLike.tsx +3 -3
- package/src/components/Link/Link.tsx +4 -4
- package/src/components/List/List.tsx +1 -1
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +5 -5
- package/src/components/ModalCard/ModalCardInternal.tsx +1 -1
- package/src/components/ModalCard/types.ts +13 -13
- package/src/components/ModalCardBase/ModalCardBase.module.css +0 -4
- package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -1
- package/src/components/ModalCardBase/ModalCardBase.tsx +14 -14
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
- package/src/components/ModalOutlet/ModalOutlet.tsx +3 -3
- package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
- package/src/components/ModalOverlay/ModalOverlay.tsx +7 -7
- package/src/components/ModalPage/ModalPageBase.tsx +2 -2
- package/src/components/ModalPage/ModalPageInternal.tsx +2 -2
- package/src/components/ModalPage/types.ts +27 -27
- package/src/components/ModalPageFooter/ModalPageFooter.tsx +2 -2
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
- package/src/components/ModalRoot/types.ts +15 -15
- package/src/components/ModalRoot/useModalRootManager.tsx +19 -19
- package/src/components/NativeSelect/NativeSelect.tsx +20 -14
- package/src/components/NumberInputLike/NumberInputLike.tsx +3 -3
- package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +16 -8
- package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +1 -1
- package/src/components/Pagination/Pagination.tsx +27 -25
- package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +5 -3
- package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +3 -3
- package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -1
- package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +3 -3
- package/src/components/Panel/Panel.tsx +3 -3
- package/src/components/PanelHeader/PanelHeader.module.css +0 -5
- package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -1
- package/src/components/PanelHeader/PanelHeader.tsx +14 -12
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +2 -2
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +3 -3
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +3 -3
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
- package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
- package/src/components/Placeholder/Placeholder.tsx +5 -5
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +6 -6
- package/src/components/Popover/Popover.tsx +5 -5
- package/src/components/Popper/Popper.tsx +17 -15
- package/src/components/Progress/Progress.tsx +4 -4
- package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
- package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +4 -4
- package/src/components/Radio/Radio.tsx +18 -12
- package/src/components/Radio/RadioInput/RadioInput.tsx +15 -9
- package/src/components/RadioGroup/RadioGroup.tsx +1 -1
- package/src/components/Removable/Removable.module.css +0 -4
- package/src/components/Removable/Removable.module.css.d.ts.map +1 -1
- package/src/components/Removable/Removable.tsx +13 -10
- package/src/components/Removable/RemovableIos.tsx +6 -3
- package/src/components/RichCell/RichCell.tsx +15 -15
- package/src/components/Root/Root.tsx +3 -3
- package/src/components/RootComponent/RootComponent.tsx +2 -2
- package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +1 -1
- package/src/components/ScreenSpinner/context.ts +2 -2
- package/src/components/ScreenSpinner/types.tsx +5 -5
- package/src/components/ScrollArrow/ScrollArrow.tsx +27 -4
- package/src/components/Search/Search.tsx +28 -22
- package/src/components/SegmentedControl/SegmentedControl.tsx +6 -6
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +3 -3
- package/src/components/SelectMimicry/SelectMimicry.tsx +3 -3
- package/src/components/SelectTypography/SelectTypography.tsx +1 -1
- package/src/components/SelectionControl/SelectionControl.tsx +1 -1
- package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +2 -2
- package/src/components/Separator/Separator.tsx +5 -5
- package/src/components/SimpleCell/Chevron/Chevron.tsx +1 -1
- package/src/components/SimpleCell/SimpleCell.tsx +14 -14
- package/src/components/SimpleGrid/SimpleGrid.tsx +6 -6
- package/src/components/Skeleton/Skeleton.tsx +5 -5
- package/src/components/Slider/Slider.tsx +19 -17
- package/src/components/Slider/SliderThumb/SliderThumb.tsx +9 -7
- package/src/components/Snackbar/Snackbar.tsx +19 -13
- package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
- package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -1
- package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
- package/src/components/Snackbar/utils.ts +1 -1
- package/src/components/Spacing/Spacing.tsx +2 -2
- package/src/components/Spinner/Spinner.tsx +4 -4
- package/src/components/SplitCol/SplitCol.tsx +7 -7
- package/src/components/SplitLayout/SplitLayout.tsx +15 -9
- package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -2
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +8 -8
- package/src/components/Switch/Switch.tsx +15 -9
- package/src/components/Tabbar/Tabbar.tsx +2 -2
- package/src/components/TabbarItem/TabbarItem.tsx +3 -3
- package/src/components/Tabs/Tabs.tsx +7 -7
- package/src/components/Tabs/TabsModeContext.ts +1 -1
- package/src/components/TabsItem/TabsItem.tsx +5 -5
- package/src/components/Tappable/Tappable.tsx +3 -3
- package/src/components/Tappable/state.tsx +2 -2
- package/src/components/Textarea/Textarea.tsx +14 -10
- package/src/components/ToolButton/ToolButton.tsx +4 -4
- package/src/components/Tooltip/Tooltip.tsx +6 -6
- package/src/components/TooltipBase/TooltipBase.tsx +10 -10
- package/src/components/Touch/Touch.tsx +16 -16
- package/src/components/Typography/Caption/Caption.tsx +1 -1
- package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
- package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
- package/src/components/Typography/Headline/Headline.tsx +1 -1
- package/src/components/Typography/Title/Title.tsx +1 -1
- package/src/components/Typography/Typography.tsx +6 -6
- package/src/components/UnstyledTextField/UnstyledTextField.tsx +1 -1
- package/src/components/UsersStack/UsersStack.tsx +6 -6
- package/src/components/View/View.module.css +1 -3
- package/src/components/View/View.module.css.d.ts.map +1 -1
- package/src/components/View/View.tsx +4 -4
- package/src/components/View/ViewInfinite.tsx +11 -11
- package/src/components/WriteBar/WriteBar.tsx +21 -15
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -3
- package/src/helpers/math.ts +1 -1
- package/src/hooks/useAdaptivityWithJSMediaQueries.ts +3 -1
- package/src/hooks/useAutoDetectColorScheme.ts +8 -30
- package/src/hooks/useCalendar.ts +2 -2
- package/src/hooks/useDateInput.ts +5 -5
- package/src/hooks/useDraggableWithDomApi/types.ts +1 -1
- package/src/hooks/useEnsuredControl.ts +4 -4
- package/src/hooks/useFloatingElement.tsx +4 -4
- package/src/hooks/useFocusTrap/FocusGuard.tsx +1 -1
- package/src/hooks/useFocusTrap/useFocusTrap.tsx +17 -15
- package/src/hooks/useFocusVisibleClassName.ts +3 -3
- package/src/hooks/useGlobalEscKeyDown.ts +2 -2
- package/src/hooks/useMediaQueryMatch.ts +34 -0
- package/src/hooks/useMergeProps.ts +2 -2
- package/src/hooks/useModalManager/types.ts +8 -8
- package/src/hooks/usePagination.ts +4 -4
- package/src/hooks/usePatchChildren.ts +1 -1
- package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.tsx → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.tsx} +3 -3
- package/src/hooks/useSnackbarManager/components/SnackbarHolder.tsx +6 -2
- package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.tsx → SnackbarsContainer/SnackbarsContainer.tsx} +6 -6
- package/src/hooks/useSnackbarManager/types.ts +11 -11
- package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
- package/src/index.ts +6 -2
- package/src/lib/SSR.tsx +4 -4
- package/src/lib/accessibility.ts +1 -1
- package/src/lib/adaptivity/functions.ts +10 -1
- package/src/lib/animation/useCSSKeyframesAnimationController.ts +6 -6
- package/src/lib/animation/useCSSTransition.ts +15 -13
- package/src/lib/animation/useReducedMotion.ts +2 -25
- package/src/lib/calendar.ts +5 -2
- package/src/lib/date.ts +11 -11
- package/src/lib/dom.tsx +2 -2
- package/src/lib/floating/functions.ts +2 -2
- package/src/lib/floating/types/component.ts +9 -9
- package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +26 -19
- package/src/lib/floating/useFloatingWithInteractions/types.ts +15 -15
- package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -2
- package/src/lib/getNavId.ts +2 -2
- package/src/lib/layouts/resolveLayoutProps.ts +3 -3
- package/src/lib/layouts/types.ts +29 -29
- package/src/lib/select.ts +2 -2
- package/src/lib/sheet/useBottomSheet.ts +4 -4
- package/src/lib/tokens/TokensClassProvider.tsx +1 -1
- package/src/lib/tokens/types.ts +2 -2
- package/src/lib/utils.ts +8 -3
- package/src/types.ts +18 -10
- package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +0 -1
- package/dist/components/DropZone/components/DropZoneGrid.js.map +0 -1
- package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +0 -1
- package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
- package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
- package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.d.ts.map +0 -1
- package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
- package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.d.ts.map +0 -1
- package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
- /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +0 -0
- /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
- /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
- /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
- /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
- /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css.d.ts.map +0 -0
- /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
- /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css.d.ts.map → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css.d.ts.map} +0 -0
- /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
- /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css.d.ts.map → SnackbarsContainer/SnackbarsContainer.module.css.d.ts.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CarouselBase/helpers.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { getRequiredValueByKey } from '../../helpers/getValueByKey';\nimport type { AlignType } from '../../types';\nimport { SLIDE_THRESHOLD } from './constants';\nimport type { GallerySlidesState, LayoutState, LoopPoint, SlidesManagerState } from './types';\n\nexport const revertRtlValue = (n: number, isRtl: boolean) => {\n return isRtl ? -n : n;\n};\n\nexport const isBigger = (a: number, b: number, isRtl: boolean) => (isRtl ? a < b : a > b);\nexport const isBiggerOrEqual = (a: number, b: number, isRtl: boolean) => (isRtl ? a <= b : a >= b);\n\nexport const isLower = (a: number, b: number, isRtl: boolean) => (isRtl ? a > b : a < b);\nexport const isLowerOrEqual = (a: number, b: number, isRtl: boolean) => (isRtl ? a >= b : a <= b);\n\n/*\n * Считает отступ слоя галереи во время драга\n * Используется только для looped=false галереи\n * так как только у нее есть пределы по краям\n */\nexport const validateIndent = (\n slidesManager: SlidesManagerState,\n value: number,\n isRtl: boolean,\n bounded = true,\n) => {\n const localMax = slidesManager.max ?? 0;\n const localMin = slidesManager.min ?? 0;\n\n const moreThanMax = isBigger(value, localMax, isRtl);\n if (moreThanMax) {\n if (bounded) {\n return localMax;\n } else {\n return localMax + Number((value - localMax) / 3);\n }\n }\n\n const lessThanMin = isLower(value, localMin, isRtl);\n if (lessThanMin) {\n if (bounded) {\n return localMin;\n } else {\n return localMin + Number((value - localMin) / 3);\n }\n }\n\n return value;\n};\n\n/*\n * Считает отступ слоя галереи\n */\nexport function calculateIndent({\n targetIndex,\n slidesManager,\n isCenter,\n looped = false,\n isRtl = false,\n}: {\n targetIndex: number;\n slidesManager: SlidesManagerState;\n isCenter: boolean;\n looped: boolean;\n isRtl: boolean;\n}): number {\n if (!slidesManager.slides.length) {\n return 0;\n }\n\n const targetSlide = slidesManager.slides[targetIndex];\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenter) {\n return revertRtlValue(slidesManager.containerWidth / 2 - coordX - width / 2, isRtl);\n }\n const indent = revertRtlValue(-1 * coordX, isRtl);\n return looped ? indent : validateIndent(slidesManager, indent, isRtl);\n }\n\n return 0;\n}\n\n/**\n * Вычисляем индексы слайдов, которые необходимо смещать.\n */\nexport function getShiftedIndexes(\n direction: 1 | -1,\n slides: GallerySlidesState[],\n availableWidth: number,\n): number[] {\n let gap = availableWidth;\n const shiftedSlideIndexes = [];\n const startIndex = direction === 1 ? 0 : slides.length - 1;\n const endIndex = direction === 1 ? slides.length - 1 : 0;\n\n for (\n let i = startIndex;\n (direction === 1 ? i <= endIndex : i >= endIndex) && gap > 0;\n i += direction\n ) {\n const slideWidth = slides[i].width;\n\n if (gap > 0) {\n shiftedSlideIndexes.push(i);\n }\n gap -= slideWidth;\n }\n\n return shiftedSlideIndexes;\n}\n\nfunction calculateLoopPoints(\n indexes: number[],\n edge: 'start' | 'end',\n slidesManager: SlidesManagerState,\n containerWidth: number,\n isRtl: boolean,\n): LoopPoint[] {\n const { contentSize, slides, snaps } = slidesManager;\n const isStartEdge = edge === 'start';\n const offset = isStartEdge ? -contentSize : contentSize;\n\n return indexes.map((index) => {\n const initial = revertRtlValue(isStartEdge ? 0 : -contentSize, isRtl);\n const altered = revertRtlValue(isStartEdge ? contentSize : 0, isRtl);\n\n const snap = revertRtlValue(snaps[index], isRtl);\n const firstSnap = revertRtlValue(snaps[0], isRtl);\n const loopPoint = revertRtlValue(\n isStartEdge\n ? snap + containerWidth + offset\n : snap - slides[index].width + offset - firstSnap,\n isRtl,\n );\n\n return {\n index,\n target: (currentLocation) =>\n isBiggerOrEqual(currentLocation, loopPoint, isRtl) ? initial : altered,\n };\n });\n}\n\n/**\n * Вычисляем \"ключевые\" точки, на которых должно происходить смещение слайдов.\n */\nexport function getLoopPoints(\n slidesManager: SlidesManagerState,\n containerWidth: number,\n isRtl = false,\n): LoopPoint[] {\n const { slides, snaps } = slidesManager;\n const firstSnap = revertRtlValue(snaps[0], isRtl);\n const startShiftedIndexes = getShiftedIndexes(-1, slides, firstSnap);\n const endShiftedIndexes = getShiftedIndexes(1, slides, containerWidth - firstSnap);\n\n return [\n ...calculateLoopPoints(endShiftedIndexes, 'start', slidesManager, containerWidth, isRtl),\n ...calculateLoopPoints(startShiftedIndexes, 'end', slidesManager, containerWidth, isRtl),\n ];\n}\n\n/*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\nexport function getTargetIndex({\n slides,\n slideIndex,\n currentShiftX,\n currentShiftXDelta,\n looped = false,\n max = null,\n isRtl = false,\n}: {\n slides: GallerySlidesState[];\n slideIndex: number;\n currentShiftX: number;\n currentShiftXDelta: number;\n looped: boolean;\n max?: number | null;\n isRtl?: boolean;\n}): number {\n max = max ?? 0;\n // Инвертируем значения смещения для RTL режима\n const shift = revertRtlValue(currentShiftX + currentShiftXDelta - max, isRtl);\n\n // Инвертируем направление для RTL режима\n const direction = isLower(currentShiftXDelta, 0, isRtl) ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = slides.reduce((val: number, item: GallerySlidesState, index: number) => {\n // Инвертируем координаты для RTL режима\n const previousCoordX = slides[val].coordX;\n const currentCoordX = item.coordX;\n\n const previousValue = Math.abs(previousCoordX + shift);\n const currentValue = Math.abs(currentCoordX + shift);\n\n return previousValue < currentValue ? val : index;\n }, slideIndex);\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < slides.length) {\n if (Math.abs(currentShiftXDelta) > slides[targetSlide].width * SLIDE_THRESHOLD) {\n return targetSlide;\n }\n return targetIndex;\n }\n if (!looped) {\n return direction < 0 ? Math.max(targetIndex, 0) : Math.min(targetIndex, slides.length - 1);\n }\n\n return direction < 0\n ? (targetSlide + slides.length) % slides.length\n : targetSlide % slides.length;\n }\n\n return targetIndex;\n}\n\ninterface CalcMin extends Partial<LayoutState> {\n isRtl?: boolean;\n align: AlignType;\n}\n\nexport const calcMin = ({\n containerWidth = 0,\n layerWidth = 0,\n slides = [],\n viewportOffsetWidth = 0,\n isFullyVisible,\n align,\n isRtl = false,\n}: CalcMin): number => {\n if (align !== 'center' && isFullyVisible) {\n return 0;\n }\n const result = getRequiredValueByKey(align, {\n left: () => containerWidth - layerWidth,\n right: () => viewportOffsetWidth - layerWidth,\n center: () => {\n const { coordX, width } = slides[slides.length - 1];\n return containerWidth / 2 - coordX - width / 2;\n },\n })();\n return revertRtlValue(result, isRtl);\n};\n\ninterface CalcMax extends Partial<LayoutState> {\n isRtl?: boolean;\n isCenterAlign: boolean;\n}\n\nexport const calcMax = ({\n slides = [],\n containerWidth = 0,\n isCenterAlign,\n isRtl = false,\n}: CalcMax): number => {\n if (isCenterAlign && slides.length) {\n const { width, coordX } = slides[0];\n const result = containerWidth / 2 - coordX - width / 2;\n return revertRtlValue(result, isRtl);\n }\n return 0;\n};\n"],"names":["getRequiredValueByKey","SLIDE_THRESHOLD","revertRtlValue","n","isRtl","isBigger","a","b","isBiggerOrEqual","isLower","isLowerOrEqual","validateIndent","slidesManager","value","bounded","localMax","max","localMin","min","moreThanMax","Number","lessThanMin","calculateIndent","targetIndex","isCenter","looped","slides","length","targetSlide","coordX","width","containerWidth","indent","getShiftedIndexes","direction","availableWidth","gap","shiftedSlideIndexes","startIndex","endIndex","i","slideWidth","push","calculateLoopPoints","indexes","edge","contentSize","snaps","isStartEdge","offset","map","index","initial","altered","snap","firstSnap","loopPoint","target","currentLocation","getLoopPoints","startShiftedIndexes","endShiftedIndexes","getTargetIndex","slideIndex","currentShiftX","currentShiftXDelta","shift","reduce","val","item","previousCoordX","currentCoordX","previousValue","Math","abs","currentValue","calcMin","layerWidth","viewportOffsetWidth","isFullyVisible","align","result","left","right","center","calcMax","isCenterAlign"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CarouselBase/helpers.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { getRequiredValueByKey } from '../../helpers/getValueByKey';\nimport type { AlignType } from '../../types';\nimport { SLIDE_THRESHOLD } from './constants';\nimport type { GallerySlidesState, LayoutState, LoopPoint, SlidesManagerState } from './types';\n\nexport const revertRtlValue = (n: number, isRtl: boolean) => {\n return isRtl ? -n : n;\n};\n\nexport const isBigger = (a: number, b: number, isRtl: boolean) => (isRtl ? a < b : a > b);\nexport const isBiggerOrEqual = (a: number, b: number, isRtl: boolean) => (isRtl ? a <= b : a >= b);\n\nexport const isLower = (a: number, b: number, isRtl: boolean) => (isRtl ? a > b : a < b);\nexport const isLowerOrEqual = (a: number, b: number, isRtl: boolean) => (isRtl ? a >= b : a <= b);\n\n/*\n * Считает отступ слоя галереи во время драга\n * Используется только для looped=false галереи\n * так как только у нее есть пределы по краям\n */\nexport const validateIndent = (\n slidesManager: SlidesManagerState,\n value: number,\n isRtl: boolean,\n bounded = true,\n) => {\n const localMax = slidesManager.max ?? 0;\n const localMin = slidesManager.min ?? 0;\n\n const moreThanMax = isBigger(value, localMax, isRtl);\n if (moreThanMax) {\n if (bounded) {\n return localMax;\n } else {\n return localMax + Number((value - localMax) / 3);\n }\n }\n\n const lessThanMin = isLower(value, localMin, isRtl);\n if (lessThanMin) {\n if (bounded) {\n return localMin;\n } else {\n return localMin + Number((value - localMin) / 3);\n }\n }\n\n return value;\n};\n\n/*\n * Считает отступ слоя галереи\n */\nexport function calculateIndent({\n targetIndex,\n slidesManager,\n isCenter,\n looped = false,\n isRtl = false,\n}: {\n targetIndex: number;\n slidesManager: SlidesManagerState;\n isCenter: boolean;\n looped: boolean;\n isRtl: boolean;\n}): number {\n if (!slidesManager.slides.length) {\n return 0;\n }\n\n const targetSlide = slidesManager.slides[targetIndex];\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenter) {\n return revertRtlValue(slidesManager.containerWidth / 2 - coordX - width / 2, isRtl);\n }\n const indent = revertRtlValue(-1 * coordX, isRtl);\n return looped ? indent : validateIndent(slidesManager, indent, isRtl);\n }\n\n return 0;\n}\n\n/**\n * Вычисляем индексы слайдов, которые необходимо смещать.\n */\nexport function getShiftedIndexes(\n direction: 1 | -1,\n slides: GallerySlidesState[],\n availableWidth: number,\n): number[] {\n let gap = availableWidth;\n const shiftedSlideIndexes = [];\n const startIndex = direction === 1 ? 0 : slides.length - 1;\n const endIndex = direction === 1 ? slides.length - 1 : 0;\n\n for (\n let i = startIndex;\n (direction === 1 ? i <= endIndex : i >= endIndex) && gap > 0;\n i += direction\n ) {\n const slideWidth = slides[i].width;\n\n if (gap > 0) {\n shiftedSlideIndexes.push(i);\n }\n gap -= slideWidth;\n }\n\n return shiftedSlideIndexes;\n}\n\nfunction calculateLoopPoints(\n indexes: number[],\n edge: 'start' | 'end',\n slidesManager: SlidesManagerState,\n containerWidth: number,\n isRtl: boolean,\n): LoopPoint[] {\n const { contentSize, slides, snaps } = slidesManager;\n const isStartEdge = edge === 'start';\n const offset = isStartEdge ? -contentSize : contentSize;\n\n return indexes.map((index) => {\n const initial = revertRtlValue(isStartEdge ? 0 : -contentSize, isRtl);\n const altered = revertRtlValue(isStartEdge ? contentSize : 0, isRtl);\n\n const snap = revertRtlValue(snaps[index], isRtl);\n const firstSnap = revertRtlValue(snaps[0], isRtl);\n const loopPoint = revertRtlValue(\n isStartEdge\n ? snap + containerWidth + offset\n : snap - slides[index].width + offset - firstSnap,\n isRtl,\n );\n\n return {\n index,\n target: (currentLocation) =>\n isBiggerOrEqual(currentLocation, loopPoint, isRtl) ? initial : altered,\n };\n });\n}\n\n/**\n * Вычисляем \"ключевые\" точки, на которых должно происходить смещение слайдов.\n */\nexport function getLoopPoints(\n slidesManager: SlidesManagerState,\n containerWidth: number,\n isRtl = false,\n): LoopPoint[] {\n const { slides, snaps } = slidesManager;\n const firstSnap = revertRtlValue(snaps[0], isRtl);\n const startShiftedIndexes = getShiftedIndexes(-1, slides, firstSnap);\n const endShiftedIndexes = getShiftedIndexes(1, slides, containerWidth - firstSnap);\n\n return [\n ...calculateLoopPoints(endShiftedIndexes, 'start', slidesManager, containerWidth, isRtl),\n ...calculateLoopPoints(startShiftedIndexes, 'end', slidesManager, containerWidth, isRtl),\n ];\n}\n\n/*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\nexport function getTargetIndex({\n slides,\n slideIndex,\n currentShiftX,\n currentShiftXDelta,\n looped = false,\n max = null,\n isRtl = false,\n}: {\n slides: GallerySlidesState[];\n slideIndex: number;\n currentShiftX: number;\n currentShiftXDelta: number;\n looped: boolean;\n max?: number | null | undefined;\n isRtl?: boolean | undefined;\n}): number {\n max = max ?? 0;\n // Инвертируем значения смещения для RTL режима\n const shift = revertRtlValue(currentShiftX + currentShiftXDelta - max, isRtl);\n\n // Инвертируем направление для RTL режима\n const direction = isLower(currentShiftXDelta, 0, isRtl) ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = slides.reduce((val: number, item: GallerySlidesState, index: number) => {\n // Инвертируем координаты для RTL режима\n const previousCoordX = slides[val].coordX;\n const currentCoordX = item.coordX;\n\n const previousValue = Math.abs(previousCoordX + shift);\n const currentValue = Math.abs(currentCoordX + shift);\n\n return previousValue < currentValue ? val : index;\n }, slideIndex);\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < slides.length) {\n if (Math.abs(currentShiftXDelta) > slides[targetSlide].width * SLIDE_THRESHOLD) {\n return targetSlide;\n }\n return targetIndex;\n }\n if (!looped) {\n return direction < 0 ? Math.max(targetIndex, 0) : Math.min(targetIndex, slides.length - 1);\n }\n\n return direction < 0\n ? (targetSlide + slides.length) % slides.length\n : targetSlide % slides.length;\n }\n\n return targetIndex;\n}\n\ninterface CalcMin extends Partial<LayoutState> {\n isRtl?: boolean | undefined;\n align: AlignType;\n}\n\nexport const calcMin = ({\n containerWidth = 0,\n layerWidth = 0,\n slides = [],\n viewportOffsetWidth = 0,\n isFullyVisible,\n align,\n isRtl = false,\n}: CalcMin): number => {\n if (align !== 'center' && isFullyVisible) {\n return 0;\n }\n const result = getRequiredValueByKey(align, {\n left: () => containerWidth - layerWidth,\n right: () => viewportOffsetWidth - layerWidth,\n center: () => {\n const { coordX, width } = slides[slides.length - 1];\n return containerWidth / 2 - coordX - width / 2;\n },\n })();\n return revertRtlValue(result, isRtl);\n};\n\ninterface CalcMax extends Partial<LayoutState> {\n isRtl?: boolean | undefined;\n isCenterAlign: boolean;\n}\n\nexport const calcMax = ({\n slides = [],\n containerWidth = 0,\n isCenterAlign,\n isRtl = false,\n}: CalcMax): number => {\n if (isCenterAlign && slides.length) {\n const { width, coordX } = slides[0];\n const result = containerWidth / 2 - coordX - width / 2;\n return revertRtlValue(result, isRtl);\n }\n return 0;\n};\n"],"names":["getRequiredValueByKey","SLIDE_THRESHOLD","revertRtlValue","n","isRtl","isBigger","a","b","isBiggerOrEqual","isLower","isLowerOrEqual","validateIndent","slidesManager","value","bounded","localMax","max","localMin","min","moreThanMax","Number","lessThanMin","calculateIndent","targetIndex","isCenter","looped","slides","length","targetSlide","coordX","width","containerWidth","indent","getShiftedIndexes","direction","availableWidth","gap","shiftedSlideIndexes","startIndex","endIndex","i","slideWidth","push","calculateLoopPoints","indexes","edge","contentSize","snaps","isStartEdge","offset","map","index","initial","altered","snap","firstSnap","loopPoint","target","currentLocation","getLoopPoints","startShiftedIndexes","endShiftedIndexes","getTargetIndex","slideIndex","currentShiftX","currentShiftXDelta","shift","reduce","val","item","previousCoordX","currentCoordX","previousValue","Math","abs","currentValue","calcMin","layerWidth","viewportOffsetWidth","isFullyVisible","align","result","left","right","center","calcMax","isCenterAlign"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CarouselBase/types.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type * as React from 'react';\nimport type { HasAlign, HasRef, HTMLAttributesWithRootRef, LiteralUnion } from '../../types';\nimport type { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport type { CustomTouchEvent, CustomTouchEventHandler } from '../Touch/Touch';\nimport type { BulletsTestIds } from './Bullets';\nimport type { ScrollArrowsTestIds } from './ScrollArrows';\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\nexport interface LayoutState {\n containerWidth: number;\n viewportOffsetWidth: number;\n layerWidth: number;\n min?: number;\n max: number;\n slides: GallerySlidesState[];\n isFullyVisible: boolean;\n}\n\nexport interface LoopPoint {\n /**\n * Индекс слайда.\n */\n index: number;\n /**\n * Функция, которая по текущему сдвигу галереи определяет нужный сдвиг слайда.\n */\n target: (this: void, location: number) => void;\n}\n\nexport interface ControlElementsState {\n /**\n * Отвечает за отображение стрелки влево.\n */\n canSlideLeft: boolean;\n /**\n * Отвечает за отображение стрелки вправо.\n */\n canSlideRight: boolean;\n /**\n * Возможность листать слайды drag'ом.\n */\n isDraggable: boolean;\n}\n\nexport interface SlidesManagerState {\n /**\n * Общая ширина всех слайдов.\n */\n contentSize: number;\n /**\n * Массив с пограничными точками слайдов, которые необходимо смещать, чтобы они всегда были в области видимости\n * (пример: для последнего слайда это n-первых слайдов, необходимых для заполнения оставшейся ширины,\n * или для первого слайда это n-последних слайдов при выравнивании по центру).\n */\n loopPoints: LoopPoint[];\n /**\n * Массив с правыми границами слайдов.\n */\n snaps: number[];\n /**\n * Ширина видимой области слайдов.\n */\n viewportOffsetWidth: number;\n /**\n * Массив слайдов с координатой начала слайда и шириной.\n */\n slides: GallerySlidesState[];\n /**\n * Все слайды видимы без скрола.\n */\n isFullyVisible: boolean;\n min: number | null;\n max: number | null;\n containerWidth: number;\n layerWidth: number;\n}\n\nexport type PredefinedEasingType = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out';\nexport type CubicBezierEasingType = [number, number, number, number];\n\nexport interface BaseGalleryProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>,\n HasAlign,\n HasRef<HTMLElement>,\n BulletsTestIds,\n ScrollArrowsTestIds {\n /**\n * Размер слайда.\n *\n * Значение `\"custom\"` используется, если ширина у слайдов разная.\n */\n slideWidth?: LiteralUnion<'custom', string> | number;\n slideIndex?: number;\n onDragStart?: CustomTouchEventHandler;\n onDragEnd?: (e: CustomTouchEvent, targetIndex: number) => void;\n onChange?: (current: number) => void;\n /**\n * Будет вызвано при нажатии на кнопку-стрелку влево.\n */\n onPrevClick?: (event: React.MouseEvent) => void;\n /**\n * Будет вызвано при нажатии на кнопку-стрелку вправо.\n */\n onNextClick?: (event: React.MouseEvent) => void;\n bullets?: 'dark' | 'light' | false;\n /**\n * Позволяет отключить реагирование на тач-события.\n */\n dragDisabled?: boolean;\n showArrows?: boolean;\n /**\n * Размер активной зоны стрелок (в пикселях).\n * Определяет область вокруг стрелок, реагирующую на взаимодействие пользователя. В дизайне свойство называется `arrowArea`.\n */\n arrowAreaHeight?: 'stretch' | 'fit';\n hasPointer?: boolean;\n arrowSize?: ScrollArrowProps['size'];\n /**\n * Текст для кнопки-стрелки влево (назад). Делает ее доступной для ассистивных технологий.\n */\n arrowPrevLabel?: string;\n /**\n * Текст для кнопки-стрелки вправо (вперед). Делает ее доступной для ассистивных технологий.\n */\n arrowNextLabel?: string;\n /**\n * Текст для слайда. Делает его доступным для ассистивных технологий. Может быть функцией.\n * По умолчанию устанавливает `aria-label` вида `${Номер слайда} из ${Количества слайдов}`.\n */\n slideLabel?: string | ((index: number, slidesCount: number) => string);\n /**\n * Описание роли для слайда, для лучше понимания пользователей скринридеров. По умолчанию - `Слайд`.\n */\n slideRoleDescription?: string;\n /**\n * Передает атрибут `data-testid` для слайда.\n */\n slideTestId?: (index: number) => string;\n /**\n * Включает зацикленность слайдов.\n */\n looped?: boolean;\n /**\n * Тип источника для отслеживания размера:\n * - `window`: пересчет позиции слайдов будет происходить при изменении размеров `window`\n * - `element`: пересчет позиции слайдов будет происходить при изменении размеров компонента.\n */\n resizeSource?: 'window' | 'element';\n /**\n * Длительность анимации смены слайда в миллисекундах.\n */\n animationDuration?: number;\n /**\n * Функция для анимации.\n *\n * Принимает одно из предопределённых значений или параметры функции [cubic-bezier](https://developer.mozilla.org/en-US/docs/Web/CSS/easing-function/cubic-bezier).\n */\n animationEasing?: PredefinedEasingType | CubicBezierEasingType;\n}\n"],"names":[],"mappings":"AAAA,sCAAsC,GAqFtC,WA8EC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CarouselBase/types.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type * as React from 'react';\nimport type { HasAlign, HasRef, HTMLAttributesWithRootRef, LiteralUnion } from '../../types';\nimport type { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport type { CustomTouchEvent, CustomTouchEventHandler } from '../Touch/Touch';\nimport type { BulletsTestIds } from './Bullets';\nimport type { ScrollArrowsTestIds } from './ScrollArrows';\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\nexport interface LayoutState {\n containerWidth: number;\n viewportOffsetWidth: number;\n layerWidth: number;\n min?: number | undefined;\n max: number;\n slides: GallerySlidesState[];\n isFullyVisible: boolean;\n}\n\nexport interface LoopPoint {\n /**\n * Индекс слайда.\n */\n index: number;\n /**\n * Функция, которая по текущему сдвигу галереи определяет нужный сдвиг слайда.\n */\n target: (this: void, location: number) => void;\n}\n\nexport interface ControlElementsState {\n /**\n * Отвечает за отображение стрелки влево.\n */\n canSlideLeft: boolean;\n /**\n * Отвечает за отображение стрелки вправо.\n */\n canSlideRight: boolean;\n /**\n * Возможность листать слайды drag'ом.\n */\n isDraggable: boolean;\n}\n\nexport interface SlidesManagerState {\n /**\n * Общая ширина всех слайдов.\n */\n contentSize: number;\n /**\n * Массив с пограничными точками слайдов, которые необходимо смещать, чтобы они всегда были в области видимости\n * (пример: для последнего слайда это n-первых слайдов, необходимых для заполнения оставшейся ширины,\n * или для первого слайда это n-последних слайдов при выравнивании по центру).\n */\n loopPoints: LoopPoint[];\n /**\n * Массив с правыми границами слайдов.\n */\n snaps: number[];\n /**\n * Ширина видимой области слайдов.\n */\n viewportOffsetWidth: number;\n /**\n * Массив слайдов с координатой начала слайда и шириной.\n */\n slides: GallerySlidesState[];\n /**\n * Все слайды видимы без скрола.\n */\n isFullyVisible: boolean;\n min: number | null;\n max: number | null;\n containerWidth: number;\n layerWidth: number;\n}\n\nexport type PredefinedEasingType = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out';\nexport type CubicBezierEasingType = [number, number, number, number];\n\nexport interface BaseGalleryProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>,\n HasAlign,\n HasRef<HTMLElement>,\n BulletsTestIds,\n ScrollArrowsTestIds {\n /**\n * Размер слайда.\n *\n * Значение `\"custom\"` используется, если ширина у слайдов разная.\n */\n slideWidth?: LiteralUnion<'custom' | undefined, string> | number | undefined;\n slideIndex?: number | undefined;\n onDragStart?: CustomTouchEventHandler | undefined;\n onDragEnd?: ((e: CustomTouchEvent | undefined, targetIndex: number) => void) | undefined;\n onChange?: ((current: number) => void) | undefined;\n /**\n * Будет вызвано при нажатии на кнопку-стрелку влево.\n */\n onPrevClick?: ((event: React.MouseEvent) => void) | undefined;\n /**\n * Будет вызвано при нажатии на кнопку-стрелку вправо.\n */\n onNextClick?: ((event: React.MouseEvent) => void) | undefined;\n bullets?: 'dark' | 'light' | false | undefined;\n /**\n * Позволяет отключить реагирование на тач-события.\n */\n dragDisabled?: boolean | undefined;\n showArrows?: boolean | undefined;\n /**\n * Размер активной зоны стрелок (в пикселях).\n * Определяет область вокруг стрелок, реагирующую на взаимодействие пользователя. В дизайне свойство называется `arrowArea`.\n */\n arrowAreaHeight?: 'stretch' | 'fit' | undefined;\n hasPointer?: boolean | undefined;\n arrowSize?: ScrollArrowProps['size'] | undefined;\n /**\n * Текст для кнопки-стрелки влево (назад). Делает ее доступной для ассистивных технологий.\n */\n arrowPrevLabel?: string | undefined;\n /**\n * Текст для кнопки-стрелки вправо (вперед). Делает ее доступной для ассистивных технологий.\n */\n arrowNextLabel?: string | undefined;\n /**\n * Текст для слайда. Делает его доступным для ассистивных технологий. Может быть функцией.\n * По умолчанию устанавливает `aria-label` вида `${Номер слайда} из ${Количества слайдов}`.\n */\n slideLabel?: string | ((index: number, slidesCount: number) => string) | undefined;\n /**\n * Описание роли для слайда, для лучше понимания пользователей скринридеров. По умолчанию - `Слайд`.\n */\n slideRoleDescription?: string | undefined;\n /**\n * Передает атрибут `data-testid` для слайда.\n */\n slideTestId?: ((index: number) => string) | undefined;\n /**\n * Включает зацикленность слайдов.\n */\n looped?: boolean | undefined;\n /**\n * Тип источника для отслеживания размера:\n * - `window`: пересчет позиции слайдов будет происходить при изменении размеров `window`\n * - `element`: пересчет позиции слайдов будет происходить при изменении размеров компонента.\n */\n resizeSource?: 'window' | 'element' | undefined;\n /**\n * Длительность анимации смены слайда в миллисекундах.\n */\n animationDuration?: number | undefined;\n /**\n * Функция для анимации.\n *\n * Принимает одно из предопределённых значений или параметры функции [cubic-bezier](https://developer.mozilla.org/en-US/docs/Web/CSS/easing-function/cubic-bezier).\n */\n animationEasing?: PredefinedEasingType | CubicBezierEasingType | undefined;\n}\n"],"names":[],"mappings":"AAAA,sCAAsC,GAqFtC,WA8EC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Cell/Cell.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { SwappedItemRange } from '../../hooks/useDraggableWithDomApi';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasRootRef } from '../../types';\nimport { Removable, type RemovableProps } from '../Removable/Removable';\nimport { SimpleCell, type SimpleCellProps } from '../SimpleCell/SimpleCell';\nimport { CellCheckbox, type CellCheckboxProps } from './CellCheckbox/CellCheckbox';\nimport { CellDragger } from './CellDragger/CellDragger';\nimport { DEFAULT_DRAGGABLE_LABEL } from './constants';\nimport styles from './Cell.module.css';\n\nexport interface CellProps\n extends Omit<SimpleCellProps, 'getRootRef'>,\n RemovableProps,\n HasRootRef<HTMLDivElement> {\n /**\n * Режим отображения ячейки:\n *\n * - \"removable\": добавляется кнопка для удаления\n * - \"selectable\": добавляется чекбокс для выбора.\n */\n mode?: 'removable' | 'selectable';\n /**\n * В режиме перетаскивания ячейка перестает реагировать на нажатие, то есть при нажатии переданный `onClick` вызываться не будет.\n */\n draggable?: boolean;\n /**\n * Имя для `input` в режиме `selectable`.\n */\n name?: string;\n /**\n * В режиме `selectable` реагирует на входящие значения пропса `cheсked`, как зависящий напрямую от входящего значения.\n */\n checked?: boolean;\n /**\n * В режиме `selectable` реагирует на входящие значения пропса `defaultChecked` как неконтролируемый компонент.\n */\n defaultChecked?: boolean;\n /**\n * Обработчик, срабатывающий при завершении перетаскивания.\n * **Важно:** режим перетаскивания не меняет порядок ячеек в DOM. В обработчике есть объект с полями `from` и `to`.\n * Эти числа нужны для того, чтобы разработчик понимал, с какого индекса на какой произошел переход. В песочнице\n * есть рабочий пример с обработкой этих чисел и перерисовкой списка.\n */\n onDragFinish?: (swappedItemRange: SwappedItemRange) => void;\n /**\n * Текст для кнопки перетаскивания ячейки.\n */\n draggerLabel?: string;\n /**\n * Передает атрибут `data-testid` для кнопки перетаскивания ячейки.\n */\n draggerTestId?: string;\n}\n\n/**\n * @see https://vkui.io/components/cell\n */\nexport const Cell: React.FC<CellProps> & {\n Checkbox: typeof CellCheckbox;\n} = ({\n mode,\n onRemove,\n removePlaceholder = 'Удалить',\n onDragFinish,\n before,\n after,\n disabled,\n draggable,\n Component: ComponentProps,\n onChange,\n name,\n value,\n checked,\n defaultChecked,\n getRootRef,\n draggerLabel = DEFAULT_DRAGGABLE_LABEL,\n className,\n style,\n toggleButtonTestId,\n removeButtonTestId,\n draggerTestId,\n href: hrefProp,\n ...restProps\n}: CellProps) => {\n const [dragging, setDragging] = React.useState(false);\n const selectable = mode === 'selectable';\n const removable = mode === 'removable';\n const Component = selectable ? 'label' : ComponentProps;\n const href = selectable ? undefined : hrefProp;\n\n const platform = usePlatform();\n\n const rootElRef = useExternRef(getRootRef);\n\n const dragger = draggable ? (\n <CellDragger\n elRef={rootElRef}\n className={classNames(styles.dragger, !before && !selectable && styles.controlNoBefore)}\n onDragStateChange={setDragging}\n onDragFinish={onDragFinish}\n data-testid={draggerTestId}\n >\n {draggerLabel}\n </CellDragger>\n ) : null;\n\n let checkbox;\n if (selectable) {\n const checkboxProps: CellCheckboxProps = {\n name,\n value,\n defaultChecked,\n checked,\n disabled,\n onChange,\n };\n checkbox = (\n <CellCheckbox\n className={classNames(styles.checkbox, !before && styles.controlNoBefore)}\n {...checkboxProps}\n />\n );\n }\n\n const hasActive = !disabled && !dragging;\n\n const cellClasses = classNames(\n styles.host,\n dragging && styles.dragging,\n platform === 'ios' && styles.ios,\n removable && styles.removable,\n );\n\n const simpleCellProps: SimpleCellProps = {\n hasActive: hasActive,\n hasHover: hasActive && !removable,\n disabled,\n href,\n ...restProps,\n className: styles.content,\n // чтобы свойство, если не определено, не присутствовало в\n // restProps явно как {'Component': undefined} и ниже не переопределяло\n // возможное значение commonProps.Component = 'a' при слиянии двух объектов, как\n // {...commonProps, ...restProps}\n ...(Component && { Component }),\n before: (\n <React.Fragment>\n {draggable && platform !== 'ios' && dragger}\n {selectable && checkbox}\n {before}\n </React.Fragment>\n ),\n after: (\n <React.Fragment>\n {draggable && platform === 'ios' && dragger}\n {after}\n </React.Fragment>\n ),\n };\n\n if (removable) {\n return (\n <Removable\n className={classNames(cellClasses, className)}\n style={style}\n getRootRef={rootElRef}\n removePlaceholder={removePlaceholder}\n onRemove={(e) => onRemove?.(e, rootElRef.current)}\n toggleButtonTestId={toggleButtonTestId}\n removeButtonTestId={removeButtonTestId}\n disabled={disabled}\n >\n {platform === 'ios' ? (\n ({ isRemoving }) => {\n return (\n <SimpleCell {...simpleCellProps} {...(isRemoving ? { onClick: undefined } : {})} />\n );\n }\n ) : (\n <SimpleCell {...simpleCellProps} />\n )}\n </Removable>\n );\n }\n\n return (\n <div className={classNames(cellClasses, className)} style={style} ref={rootElRef}>\n <SimpleCell {...simpleCellProps} />\n </div>\n );\n};\n\nCell.Checkbox = CellCheckbox;\n"],"names":["React","classNames","useExternRef","usePlatform","Removable","SimpleCell","CellCheckbox","CellDragger","DEFAULT_DRAGGABLE_LABEL","styles","Cell","mode","onRemove","removePlaceholder","onDragFinish","before","after","disabled","draggable","Component","ComponentProps","onChange","name","value","checked","defaultChecked","getRootRef","draggerLabel","className","style","toggleButtonTestId","removeButtonTestId","draggerTestId","href","hrefProp","restProps","dragging","setDragging","useState","selectable","removable","undefined","platform","rootElRef","dragger","elRef","controlNoBefore","onDragStateChange","data-testid","checkbox","checkboxProps","hasActive","cellClasses","host","ios","simpleCellProps","hasHover","content","Fragment","e","current","isRemoving","onClick","div","ref","Checkbox"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,SAAS,QAA6B,4BAAyB;AACxE,SAASC,UAAU,QAA8B,8BAA2B;AAC5E,SAASC,YAAY,QAAgC,iCAA8B;AACnF,SAASC,WAAW,QAAQ,+BAA4B;AACxD,SAASC,uBAAuB,QAAQ,iBAAc;AACtD,OAAOC,YAAY,oBAAoB;AA8CvC;;CAEC,GACD,OAAO,MAAMC,OAET,CAAC,EACHC,IAAI,EACJC,QAAQ,EACRC,oBAAoB,SAAS,EAC7BC,YAAY,EACZC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,WAAWC,cAAc,EACzBC,QAAQ,EACRC,IAAI,EACJC,KAAK,EACLC,OAAO,EACPC,cAAc,EACdC,UAAU,EACVC,eAAenB,uBAAuB,EACtCoB,SAAS,EACTC,KAAK,EACLC,kBAAkB,EAClBC,kBAAkB,EAClBC,aAAa,EACbC,MAAMC,QAAQ,EACd,GAAGC,WACO;IACV,MAAM,CAACC,UAAUC,YAAY,GAAGrC,MAAMsC,QAAQ,CAAC;IAC/C,MAAMC,aAAa5B,SAAS;IAC5B,MAAM6B,YAAY7B,SAAS;IAC3B,MAAMQ,YAAYoB,aAAa,UAAUnB;IACzC,MAAMa,OAAOM,aAAaE,YAAYP;IAEtC,MAAMQ,WAAWvC;IAEjB,MAAMwC,YAAYzC,aAAawB;IAE/B,MAAMkB,UAAU1B,0BACd,KAACX;QACCsC,OAAOF;QACPf,WAAW3B,WAAWQ,OAAOmC,OAAO,EAAE,CAAC7B,UAAU,CAACwB,cAAc9B,OAAOqC,eAAe;QACtFC,mBAAmBV;QACnBvB,cAAcA;QACdkC,eAAahB;kBAEZL;SAED;IAEJ,IAAIsB;IACJ,IAAIV,YAAY;QACd,MAAMW,gBAAmC;YACvC5B;YACAC;YACAE;YACAD;YACAP;YACAI;QACF;QACA4B,yBACE,KAAC3C;YACCsB,WAAW3B,WAAWQ,OAAOwC,QAAQ,EAAE,CAAClC,UAAUN,OAAOqC,eAAe;YACvE,GAAGI,aAAa;;IAGvB;IAEA,MAAMC,YAAY,CAAClC,YAAY,CAACmB;IAEhC,MAAMgB,cAAcnD,WAClBQ,OAAO4C,IAAI,EACXjB,YAAY3B,OAAO2B,QAAQ,EAC3BM,aAAa,SAASjC,OAAO6C,GAAG,EAChCd,aAAa/B,OAAO+B,SAAS;IAG/B,MAAMe,kBAAmC;QACvCJ,WAAWA;QACXK,UAAUL,aAAa,CAACX;QACxBvB;QACAgB;QACA,GAAGE,SAAS;QACZP,WAAWnB,OAAOgD,OAAO;QACzB,0DAA0D;QAC1D,uEAAuE;QACvE,gFAAgF;QAChF,iCAAiC;QACjC,GAAItC,aAAa;YAAEA;QAAU,CAAC;QAC9BJ,sBACE,MAACf,MAAM0D,QAAQ;;gBACZxC,aAAawB,aAAa,SAASE;gBACnCL,cAAcU;gBACdlC;;;QAGLC,qBACE,MAAChB,MAAM0D,QAAQ;;gBACZxC,aAAawB,aAAa,SAASE;gBACnC5B;;;IAGP;IAEA,IAAIwB,WAAW;QACb,qBACE,KAACpC;YACCwB,WAAW3B,WAAWmD,aAAaxB;YACnCC,OAAOA;YACPH,YAAYiB;YACZ9B,mBAAmBA;YACnBD,UAAU,CAAC+C,IAAM/C,WAAW+C,GAAGhB,UAAUiB,OAAO;YAChD9B,oBAAoBA;YACpBC,oBAAoBA;YACpBd,UAAUA;sBAETyB,aAAa,QACZ,CAAC,EAAEmB,UAAU,EAAE;gBACb,qBACE,KAACxD;oBAAY,GAAGkD,eAAe;oBAAG,GAAIM,aAAa;wBAAEC,SAASrB;oBAAU,IAAI,CAAC,CAAC;;YAElF,kBAEA,KAACpC;gBAAY,GAAGkD,eAAe;;;IAIvC;IAEA,qBACE,KAACQ;QAAInC,WAAW3B,WAAWmD,aAAaxB;QAAYC,OAAOA;QAAOmC,KAAKrB;kBACrE,cAAA,KAACtC;YAAY,GAAGkD,eAAe;;;AAGrC,EAAE;AAEF7C,KAAKuD,QAAQ,GAAG3D"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Cell/Cell.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { SwappedItemRange } from '../../hooks/useDraggableWithDomApi';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasRootRef } from '../../types';\nimport { Removable, type RemovableProps } from '../Removable/Removable';\nimport { SimpleCell, type SimpleCellProps } from '../SimpleCell/SimpleCell';\nimport { CellCheckbox, type CellCheckboxProps } from './CellCheckbox/CellCheckbox';\nimport { CellDragger } from './CellDragger/CellDragger';\nimport { DEFAULT_DRAGGABLE_LABEL } from './constants';\nimport styles from './Cell.module.css';\n\nexport interface CellProps\n extends Omit<SimpleCellProps, 'getRootRef'>,\n RemovableProps,\n HasRootRef<HTMLDivElement> {\n /**\n * Режим отображения ячейки:\n *\n * - \"removable\": добавляется кнопка для удаления\n * - \"selectable\": добавляется чекбокс для выбора.\n */\n mode?: 'removable' | 'selectable' | undefined;\n /**\n * В режиме перетаскивания ячейка перестает реагировать на нажатие, то есть при нажатии переданный `onClick` вызываться не будет.\n */\n draggable?: boolean | undefined;\n /**\n * Имя для `input` в режиме `selectable`.\n */\n name?: string | undefined;\n /**\n * В режиме `selectable` реагирует на входящие значения пропса `cheсked`, как зависящий напрямую от входящего значения.\n */\n checked?: boolean | undefined;\n /**\n * В режиме `selectable` реагирует на входящие значения пропса `defaultChecked` как неконтролируемый компонент.\n */\n defaultChecked?: boolean | undefined;\n /**\n * Обработчик, срабатывающий при завершении перетаскивания.\n * **Важно:** режим перетаскивания не меняет порядок ячеек в DOM. В обработчике есть объект с полями `from` и `to`.\n * Эти числа нужны для того, чтобы разработчик понимал, с какого индекса на какой произошел переход. В песочнице\n * есть рабочий пример с обработкой этих чисел и перерисовкой списка.\n */\n onDragFinish?: ((swappedItemRange: SwappedItemRange) => void) | undefined;\n /**\n * Текст для кнопки перетаскивания ячейки.\n */\n draggerLabel?: string | undefined;\n /**\n * Передает атрибут `data-testid` для кнопки перетаскивания ячейки.\n */\n draggerTestId?: string | undefined;\n}\n\n/**\n * @see https://vkui.io/components/cell\n */\nexport const Cell: React.FC<CellProps> & {\n Checkbox: typeof CellCheckbox;\n} = ({\n mode,\n onRemove,\n removePlaceholder = 'Удалить',\n onDragFinish,\n before,\n after,\n disabled,\n draggable,\n Component: ComponentProps,\n onChange,\n name,\n value,\n checked,\n defaultChecked,\n getRootRef,\n draggerLabel = DEFAULT_DRAGGABLE_LABEL,\n className,\n style,\n toggleButtonTestId,\n removeButtonTestId,\n draggerTestId,\n href: hrefProp,\n ...restProps\n}: CellProps) => {\n const [dragging, setDragging] = React.useState(false);\n const selectable = mode === 'selectable';\n const removable = mode === 'removable';\n const Component = selectable ? 'label' : ComponentProps;\n const href = selectable ? undefined : hrefProp;\n\n const platform = usePlatform();\n\n const rootElRef = useExternRef(getRootRef);\n\n const dragger = draggable ? (\n <CellDragger\n elRef={rootElRef}\n className={classNames(styles.dragger, !before && !selectable && styles.controlNoBefore)}\n onDragStateChange={setDragging}\n onDragFinish={onDragFinish}\n data-testid={draggerTestId}\n >\n {draggerLabel}\n </CellDragger>\n ) : null;\n\n let checkbox;\n if (selectable) {\n const checkboxProps: CellCheckboxProps = {\n name,\n value,\n defaultChecked,\n checked,\n disabled,\n onChange,\n };\n checkbox = (\n <CellCheckbox\n className={classNames(styles.checkbox, !before && styles.controlNoBefore)}\n {...checkboxProps}\n />\n );\n }\n\n const hasActive = !disabled && !dragging;\n\n const cellClasses = classNames(\n styles.host,\n dragging && styles.dragging,\n platform === 'ios' && styles.ios,\n removable && styles.removable,\n );\n\n const simpleCellProps: SimpleCellProps = {\n hasActive: hasActive,\n hasHover: hasActive && !removable,\n disabled,\n href,\n ...restProps,\n className: styles.content,\n // чтобы свойство, если не определено, не присутствовало в\n // restProps явно как {'Component': undefined} и ниже не переопределяло\n // возможное значение commonProps.Component = 'a' при слиянии двух объектов, как\n // {...commonProps, ...restProps}\n ...(Component && { Component }),\n before: (\n <React.Fragment>\n {draggable && platform !== 'ios' && dragger}\n {selectable && checkbox}\n {before}\n </React.Fragment>\n ),\n after: (\n <React.Fragment>\n {draggable && platform === 'ios' && dragger}\n {after}\n </React.Fragment>\n ),\n };\n\n if (removable) {\n return (\n <Removable\n className={classNames(cellClasses, className)}\n style={style}\n getRootRef={rootElRef}\n removePlaceholder={removePlaceholder}\n onRemove={(e) => onRemove?.(e, rootElRef.current)}\n toggleButtonTestId={toggleButtonTestId}\n removeButtonTestId={removeButtonTestId}\n disabled={disabled}\n >\n {platform === 'ios' ? (\n ({ isRemoving }) => {\n return (\n <SimpleCell {...simpleCellProps} {...(isRemoving ? { onClick: undefined } : {})} />\n );\n }\n ) : (\n <SimpleCell {...simpleCellProps} />\n )}\n </Removable>\n );\n }\n\n return (\n <div className={classNames(cellClasses, className)} style={style} ref={rootElRef}>\n <SimpleCell {...simpleCellProps} />\n </div>\n );\n};\n\nCell.Checkbox = CellCheckbox;\n"],"names":["React","classNames","useExternRef","usePlatform","Removable","SimpleCell","CellCheckbox","CellDragger","DEFAULT_DRAGGABLE_LABEL","styles","Cell","mode","onRemove","removePlaceholder","onDragFinish","before","after","disabled","draggable","Component","ComponentProps","onChange","name","value","checked","defaultChecked","getRootRef","draggerLabel","className","style","toggleButtonTestId","removeButtonTestId","draggerTestId","href","hrefProp","restProps","dragging","setDragging","useState","selectable","removable","undefined","platform","rootElRef","dragger","elRef","controlNoBefore","onDragStateChange","data-testid","checkbox","checkboxProps","hasActive","cellClasses","host","ios","simpleCellProps","hasHover","content","Fragment","e","current","isRemoving","onClick","div","ref","Checkbox"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Cell/CellCheckbox/CellCheckbox.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport {\n Icon20CheckBoxOff,\n Icon20CheckBoxOn,\n Icon20CheckCircleOff,\n Icon20CheckCircleOn,\n Icon24CheckBoxOff,\n Icon24CheckBoxOn,\n Icon24CheckCircleOff,\n Icon24CheckCircleOn,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport type { HasRef, HasRootRef } from '../../../types';\nimport { AdaptiveIconRenderer } from '../../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport type { CellProps } from '../Cell';\nimport styles from './CellCheckbox.module.css';\n\nconst CheckBoxOn = () => (\n <AdaptiveIconRenderer IconCompact={Icon20CheckBoxOn} IconRegular={Icon24CheckBoxOn} />\n);\n\nconst CheckBoxOff = () => (\n <AdaptiveIconRenderer IconCompact={Icon20CheckBoxOff} IconRegular={Icon24CheckBoxOff} />\n);\n\nconst CheckCircleOn = () => (\n <AdaptiveIconRenderer IconCompact={Icon20CheckCircleOn} IconRegular={Icon24CheckCircleOn} />\n);\n\nconst CheckCircleOff = () => (\n <AdaptiveIconRenderer IconCompact={Icon20CheckCircleOff} IconRegular={Icon24CheckCircleOff} />\n);\n\nfunction useTypeIcon(type: NonNullable<CellCheckboxProps['type']>) {\n const platform = usePlatform();\n\n if (type !== 'auto') {\n return type;\n }\n\n if (platform === 'ios' || platform === 'vkcom') {\n return 'circle';\n }\n\n return 'square';\n}\n\nexport interface CellCheckboxProps\n extends Pick<CellProps, 'defaultChecked' | 'checked'>,\n React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLSpanElement>,\n HasRef<HTMLInputElement> {\n /**\n * Вид чекбокса. Если auto, то зависит от платформы.\n */\n type?: 'auto' | 'circle' | 'square';\n}\n\nexport const CellCheckbox = ({\n getRootRef,\n getRef,\n className,\n style,\n type = 'auto',\n ...restProps\n}: CellCheckboxProps): React.ReactNode => {\n const typeIcon = useTypeIcon(type);\n\n const IconOff = typeIcon === 'circle' ? CheckCircleOff : CheckBoxOff;\n const IconOn = typeIcon === 'circle' ? CheckCircleOn : CheckBoxOn;\n\n return (\n <span className={classNames(styles.host, className)} style={style} ref={getRootRef}>\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n type=\"checkbox\"\n className={styles.input}\n getRootRef={getRef}\n />\n <span className={classNames(styles.icon, styles.iconOff)} aria-hidden>\n <IconOff />\n </span>\n <span className={classNames(styles.icon, styles.iconOn)} aria-hidden>\n <IconOn />\n </span>\n </span>\n );\n};\n"],"names":["Icon20CheckBoxOff","Icon20CheckBoxOn","Icon20CheckCircleOff","Icon20CheckCircleOn","Icon24CheckBoxOff","Icon24CheckBoxOn","Icon24CheckCircleOff","Icon24CheckCircleOn","classNames","usePlatform","AdaptiveIconRenderer","VisuallyHidden","styles","CheckBoxOn","IconCompact","IconRegular","CheckBoxOff","CheckCircleOn","CheckCircleOff","useTypeIcon","type","platform","CellCheckbox","getRootRef","getRef","className","style","restProps","typeIcon","IconOff","IconOn","span","host","ref","Component","input","icon","iconOff","aria-hidden","iconOn"],"mappings":"AAAA;;AAGA,SACEA,iBAAiB,EACjBC,gBAAgB,EAChBC,oBAAoB,EACpBC,mBAAmB,EACnBC,iBAAiB,EACjBC,gBAAgB,EAChBC,oBAAoB,EACpBC,mBAAmB,QACd,mBAAmB;AAC1B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,gCAA6B;AAEzD,SAASC,oBAAoB,QAAQ,qDAAkD;AACvF,SAASC,cAAc,QAAQ,yCAAsC;AAErE,OAAOC,YAAY,4BAA4B;AAE/C,MAAMC,aAAa,kBACjB,KAACH;QAAqBI,aAAab;QAAkBc,aAAaV;;AAGpE,MAAMW,cAAc,kBAClB,KAACN;QAAqBI,aAAad;QAAmBe,aAAaX;;AAGrE,MAAMa,gBAAgB,kBACpB,KAACP;QAAqBI,aAAaX;QAAqBY,aAAaR;;AAGvE,MAAMW,iBAAiB,kBACrB,KAACR;QAAqBI,aAAaZ;QAAsBa,aAAaT;;AAGxE,SAASa,YAAYC,IAA4C;IAC/D,MAAMC,WAAWZ;IAEjB,IAAIW,SAAS,QAAQ;QACnB,OAAOA;IACT;IAEA,IAAIC,aAAa,SAASA,aAAa,SAAS;QAC9C,OAAO;IACT;IAEA,OAAO;AACT;AAaA,OAAO,MAAMC,eAAe,CAAC,EAC3BC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,KAAK,EACLN,OAAO,MAAM,EACb,GAAGO,WACe;IAClB,MAAMC,WAAWT,YAAYC;IAE7B,MAAMS,UAAUD,aAAa,WAAWV,iBAAiBF;IACzD,MAAMc,SAASF,aAAa,WAAWX,gBAAgBJ;IAEvD,qBACE,MAACkB;QAAKN,WAAWjB,WAAWI,OAAOoB,IAAI,EAAEP;QAAYC,OAAOA;QAAOO,KAAKV;;0BACtE,KAACZ;gBACE,GAAGgB,SAAS;gBACbO,WAAU;gBACVd,MAAK;gBACLK,WAAWb,OAAOuB,KAAK;gBACvBZ,YAAYC;;0BAEd,KAACO;gBAAKN,WAAWjB,WAAWI,OAAOwB,IAAI,EAAExB,OAAOyB,OAAO;gBAAGC,aAAW;0BACnE,cAAA,KAACT;;0BAEH,KAACE;gBAAKN,WAAWjB,WAAWI,OAAOwB,IAAI,EAAExB,OAAO2B,MAAM;gBAAGD,aAAW;0BAClE,cAAA,KAACR;;;;AAIT,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Cell/CellCheckbox/CellCheckbox.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport {\n Icon20CheckBoxOff,\n Icon20CheckBoxOn,\n Icon20CheckCircleOff,\n Icon20CheckCircleOn,\n Icon24CheckBoxOff,\n Icon24CheckBoxOn,\n Icon24CheckCircleOff,\n Icon24CheckCircleOn,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport type { HasRef, HasRootRef } from '../../../types';\nimport { AdaptiveIconRenderer } from '../../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport type { CellProps } from '../Cell';\nimport styles from './CellCheckbox.module.css';\n\nconst CheckBoxOn = () => (\n <AdaptiveIconRenderer IconCompact={Icon20CheckBoxOn} IconRegular={Icon24CheckBoxOn} />\n);\n\nconst CheckBoxOff = () => (\n <AdaptiveIconRenderer IconCompact={Icon20CheckBoxOff} IconRegular={Icon24CheckBoxOff} />\n);\n\nconst CheckCircleOn = () => (\n <AdaptiveIconRenderer IconCompact={Icon20CheckCircleOn} IconRegular={Icon24CheckCircleOn} />\n);\n\nconst CheckCircleOff = () => (\n <AdaptiveIconRenderer IconCompact={Icon20CheckCircleOff} IconRegular={Icon24CheckCircleOff} />\n);\n\nfunction useTypeIcon(type: NonNullable<CellCheckboxProps['type']>) {\n const platform = usePlatform();\n\n if (type !== 'auto') {\n return type;\n }\n\n if (platform === 'ios' || platform === 'vkcom') {\n return 'circle';\n }\n\n return 'square';\n}\n\nexport interface CellCheckboxProps\n extends Pick<CellProps, 'defaultChecked' | 'checked'>,\n React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLSpanElement>,\n HasRef<HTMLInputElement> {\n /**\n * Вид чекбокса. Если auto, то зависит от платформы.\n */\n type?: 'auto' | 'circle' | 'square' | undefined;\n}\n\nexport const CellCheckbox = ({\n getRootRef,\n getRef,\n className,\n style,\n type = 'auto',\n ...restProps\n}: CellCheckboxProps): React.ReactNode => {\n const typeIcon = useTypeIcon(type);\n\n const IconOff = typeIcon === 'circle' ? CheckCircleOff : CheckBoxOff;\n const IconOn = typeIcon === 'circle' ? CheckCircleOn : CheckBoxOn;\n\n return (\n <span className={classNames(styles.host, className)} style={style} ref={getRootRef}>\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n type=\"checkbox\"\n className={styles.input}\n getRootRef={getRef}\n />\n <span className={classNames(styles.icon, styles.iconOff)} aria-hidden>\n <IconOff />\n </span>\n <span className={classNames(styles.icon, styles.iconOn)} aria-hidden>\n <IconOn />\n </span>\n </span>\n );\n};\n"],"names":["Icon20CheckBoxOff","Icon20CheckBoxOn","Icon20CheckCircleOff","Icon20CheckCircleOn","Icon24CheckBoxOff","Icon24CheckBoxOn","Icon24CheckCircleOff","Icon24CheckCircleOn","classNames","usePlatform","AdaptiveIconRenderer","VisuallyHidden","styles","CheckBoxOn","IconCompact","IconRegular","CheckBoxOff","CheckCircleOn","CheckCircleOff","useTypeIcon","type","platform","CellCheckbox","getRootRef","getRef","className","style","restProps","typeIcon","IconOff","IconOn","span","host","ref","Component","input","icon","iconOff","aria-hidden","iconOn"],"mappings":"AAAA;;AAGA,SACEA,iBAAiB,EACjBC,gBAAgB,EAChBC,oBAAoB,EACpBC,mBAAmB,EACnBC,iBAAiB,EACjBC,gBAAgB,EAChBC,oBAAoB,EACpBC,mBAAmB,QACd,mBAAmB;AAC1B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,gCAA6B;AAEzD,SAASC,oBAAoB,QAAQ,qDAAkD;AACvF,SAASC,cAAc,QAAQ,yCAAsC;AAErE,OAAOC,YAAY,4BAA4B;AAE/C,MAAMC,aAAa,kBACjB,KAACH;QAAqBI,aAAab;QAAkBc,aAAaV;;AAGpE,MAAMW,cAAc,kBAClB,KAACN;QAAqBI,aAAad;QAAmBe,aAAaX;;AAGrE,MAAMa,gBAAgB,kBACpB,KAACP;QAAqBI,aAAaX;QAAqBY,aAAaR;;AAGvE,MAAMW,iBAAiB,kBACrB,KAACR;QAAqBI,aAAaZ;QAAsBa,aAAaT;;AAGxE,SAASa,YAAYC,IAA4C;IAC/D,MAAMC,WAAWZ;IAEjB,IAAIW,SAAS,QAAQ;QACnB,OAAOA;IACT;IAEA,IAAIC,aAAa,SAASA,aAAa,SAAS;QAC9C,OAAO;IACT;IAEA,OAAO;AACT;AAaA,OAAO,MAAMC,eAAe,CAAC,EAC3BC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,KAAK,EACLN,OAAO,MAAM,EACb,GAAGO,WACe;IAClB,MAAMC,WAAWT,YAAYC;IAE7B,MAAMS,UAAUD,aAAa,WAAWV,iBAAiBF;IACzD,MAAMc,SAASF,aAAa,WAAWX,gBAAgBJ;IAEvD,qBACE,MAACkB;QAAKN,WAAWjB,WAAWI,OAAOoB,IAAI,EAAEP;QAAYC,OAAOA;QAAOO,KAAKV;;0BACtE,KAACZ;gBACE,GAAGgB,SAAS;gBACbO,WAAU;gBACVd,MAAK;gBACLK,WAAWb,OAAOuB,KAAK;gBACvBZ,YAAYC;;0BAEd,KAACO;gBAAKN,WAAWjB,WAAWI,OAAOwB,IAAI,EAAExB,OAAOyB,OAAO;gBAAGC,aAAW;0BACnE,cAAA,KAACT;;0BAEH,KAACE;gBAAKN,WAAWjB,WAAWI,OAAOwB,IAAI,EAAExB,OAAO2B,MAAM;gBAAGD,aAAW;0BAClE,cAAA,KAACR;;;;AAIT,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Cell/CellDragger/CellDragger.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport { Icon24Reorder, Icon24ReorderIos } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport {\n type DraggableProps,\n type UseDraggableProps,\n useDraggableWithDomApi,\n} from '../../../hooks/useDraggableWithDomApi';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { useIsomorphicLayoutEffect } from '../../../lib/useIsomorphicLayoutEffect';\nimport type { HTMLAttributesWithRootRef } from '../../../types';\nimport { Touch } from '../../Touch/Touch';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CellDragger.module.css';\n\ninterface CellDraggerProps\n extends UseDraggableProps,\n Omit<HTMLAttributesWithRootRef<HTMLElement>, keyof DraggableProps> {\n disabled?: boolean;\n onDragStateChange?: (dragging: boolean) => void;\n}\n\nexport const CellDragger = ({\n elRef,\n disabled,\n className,\n onDragStateChange,\n onDragFinish,\n children,\n ...restProps\n}: CellDraggerProps): React.ReactNode => {\n const platform = usePlatform();\n const Icon = platform === 'ios' ? Icon24ReorderIos : Icon24Reorder;\n\n const { dragging, onDragStart, onDragMove, onDragEnd } = useDraggableWithDomApi({\n elRef,\n onDragFinish,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (onDragStateChange) {\n onDragStateChange(dragging);\n }\n }, [dragging, onDragStateChange]);\n\n return (\n <Touch\n className={classNames(styles.host, className)}\n onStart={disabled ? undefined : onDragStart}\n onMoveY={disabled ? undefined : onDragMove}\n onEnd={disabled ? undefined : onDragEnd}\n {...restProps}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n <Icon className={styles.icon} />\n </Touch>\n );\n};\n"],"names":["Icon24Reorder","Icon24ReorderIos","classNames","useDraggableWithDomApi","usePlatform","useIsomorphicLayoutEffect","Touch","VisuallyHidden","styles","CellDragger","elRef","disabled","className","onDragStateChange","onDragFinish","children","restProps","platform","Icon","dragging","onDragStart","onDragMove","onDragEnd","host","onStart","undefined","onMoveY","onEnd","icon"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,SAASA,aAAa,EAAEC,gBAAgB,QAAQ,mBAAmB;AACnE,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAGEC,sBAAsB,QACjB,iDAAwC;AAC/C,SAASC,WAAW,QAAQ,gCAA6B;AACzD,SAASC,yBAAyB,QAAQ,4CAAyC;AAEnF,SAASC,KAAK,QAAQ,uBAAoB;AAC1C,SAASC,cAAc,QAAQ,yCAAsC;AACrE,OAAOC,YAAY,2BAA2B;AAS9C,OAAO,MAAMC,cAAc,CAAC,EAC1BC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,iBAAiB,EACjBC,YAAY,EACZC,QAAQ,EACR,GAAGC,WACc;IACjB,MAAMC,WAAWb;IACjB,MAAMc,OAAOD,aAAa,QAAQhB,mBAAmBD;IAErD,MAAM,EAAEmB,QAAQ,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGnB,uBAAuB;QAC9EO;QACAI;IACF;IAEAT,0BAA0B;QACxB,IAAIQ,mBAAmB;YACrBA,kBAAkBM;QACpB;IACF,GAAG;QAACA;QAAUN;KAAkB;IAEhC,qBACE,MAACP;QACCM,WAAWV,WAAWM,OAAOe,IAAI,EAAEX;QACnCY,SAASb,WAAWc,YAAYL;QAChCM,SAASf,WAAWc,YAAYJ;QAChCM,OAAOhB,WAAWc,YAAYH;QAC7B,GAAGN,SAAS;;YAEZD,0BAAY,KAACR;0BAAgBQ;;0BAC9B,KAACG;gBAAKN,WAAWJ,OAAOoB,IAAI;;;;AAGlC,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Cell/CellDragger/CellDragger.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport { Icon24Reorder, Icon24ReorderIos } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport {\n type DraggableProps,\n type UseDraggableProps,\n useDraggableWithDomApi,\n} from '../../../hooks/useDraggableWithDomApi';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { useIsomorphicLayoutEffect } from '../../../lib/useIsomorphicLayoutEffect';\nimport type { HTMLAttributesWithRootRef } from '../../../types';\nimport { Touch } from '../../Touch/Touch';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CellDragger.module.css';\n\ninterface CellDraggerProps\n extends UseDraggableProps,\n Omit<HTMLAttributesWithRootRef<HTMLElement>, keyof DraggableProps> {\n disabled?: boolean | undefined;\n onDragStateChange?: ((dragging: boolean) => void) | undefined;\n}\n\nexport const CellDragger = ({\n elRef,\n disabled,\n className,\n onDragStateChange,\n onDragFinish,\n children,\n ...restProps\n}: CellDraggerProps): React.ReactNode => {\n const platform = usePlatform();\n const Icon = platform === 'ios' ? Icon24ReorderIos : Icon24Reorder;\n\n const { dragging, onDragStart, onDragMove, onDragEnd } = useDraggableWithDomApi({\n elRef,\n onDragFinish,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (onDragStateChange) {\n onDragStateChange(dragging);\n }\n }, [dragging, onDragStateChange]);\n\n return (\n <Touch\n className={classNames(styles.host, className)}\n onStart={disabled ? undefined : onDragStart}\n onMoveY={disabled ? undefined : onDragMove}\n onEnd={disabled ? undefined : onDragEnd}\n {...restProps}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n <Icon className={styles.icon} />\n </Touch>\n );\n};\n"],"names":["Icon24Reorder","Icon24ReorderIos","classNames","useDraggableWithDomApi","usePlatform","useIsomorphicLayoutEffect","Touch","VisuallyHidden","styles","CellDragger","elRef","disabled","className","onDragStateChange","onDragFinish","children","restProps","platform","Icon","dragging","onDragStart","onDragMove","onDragEnd","host","onStart","undefined","onMoveY","onEnd","icon"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,SAASA,aAAa,EAAEC,gBAAgB,QAAQ,mBAAmB;AACnE,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAGEC,sBAAsB,QACjB,iDAAwC;AAC/C,SAASC,WAAW,QAAQ,gCAA6B;AACzD,SAASC,yBAAyB,QAAQ,4CAAyC;AAEnF,SAASC,KAAK,QAAQ,uBAAoB;AAC1C,SAASC,cAAc,QAAQ,yCAAsC;AACrE,OAAOC,YAAY,2BAA2B;AAS9C,OAAO,MAAMC,cAAc,CAAC,EAC1BC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,iBAAiB,EACjBC,YAAY,EACZC,QAAQ,EACR,GAAGC,WACc;IACjB,MAAMC,WAAWb;IACjB,MAAMc,OAAOD,aAAa,QAAQhB,mBAAmBD;IAErD,MAAM,EAAEmB,QAAQ,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGnB,uBAAuB;QAC9EO;QACAI;IACF;IAEAT,0BAA0B;QACxB,IAAIQ,mBAAmB;YACrBA,kBAAkBM;QACpB;IACF,GAAG;QAACA;QAAUN;KAAkB;IAEhC,qBACE,MAACP;QACCM,WAAWV,WAAWM,OAAOe,IAAI,EAAEX;QACnCY,SAASb,WAAWc,YAAYL;QAChCM,SAASf,WAAWc,YAAYJ;QAChCM,OAAOhB,WAAWc,YAAYH;QAC7B,GAAGN,SAAS;;YAEZD,0BAAY,KAACR;0BAAgBQ;;0BAC9B,KAACG;gBAAKN,WAAWJ,OAAOoB,IAAI;;;;AAGlC,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CellButton/CellButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasComponent } from '../../types';\nimport { Chevron } from '../SimpleCell/Chevron/Chevron';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './CellButton.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport const appearanceClassNames = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n negative: styles.appearanceNegative,\n};\n\ninterface CellButtonOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`.\n */\n before?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится слева от текста `children`.\n */\n badgeBeforeTitle?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badgeAfterTitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится слева от текста `subtitle`.\n */\n badgeBeforeSubtitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится справа от текста `subtitle`.\n */\n badgeAfterSubtitle?: React.ReactNode;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode;\n /**\n * Дополнительная строка текста над `children`.\n */\n overTitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n /**\n * Управляет видимостью иконки шеврона `›`.\n *\n * - `auto` - добавляет шеврон справа только для платформы `ios`;\n * - `always` - всегда показывает шеврон.\n */\n chevron?: 'auto' | 'always';\n /**\n * Размер chevron.\n */\n chevronSize?: 's' | 'm';\n /**\n * Включает многострочный режим для отображения текста.\n */\n multiline?: boolean;\n /**\n * > Режим `centered` переопределяет токен для темы `\"accent\"`.\n */\n appearance?: 'accent' | 'neutral' | 'negative';\n /**\n * Возможность центрирования содержимого компонента.\n */\n centered?: boolean;\n}\n\nexport interface CellButtonProps extends CellButtonOwnProps, TappableOmitProps {}\n\n/**\n * @see https://vkui.io/components/cell-button\n */\nexport const CellButton = ({\n badgeBeforeTitle,\n badgeAfterTitle,\n badgeBeforeSubtitle,\n badgeAfterSubtitle,\n before,\n indicator,\n children,\n after,\n chevron,\n multiline,\n overTitle,\n subtitle,\n extraSubtitle,\n chevronSize = 'm',\n centered = false,\n appearance = 'accent',\n ...restProps\n}: CellButtonProps): React.ReactNode => {\n const platform = usePlatform();\n\n const hasChevron = chevron === 'always' || (chevron === 'auto' && platform === 'ios');\n\n const hasAfter = hasReactNode(after) || hasChevron;\n const { density = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n baseClassName={classNames(\n styles.host,\n restProps.disabled && styles.disabled,\n density !== 'regular' && densityClassNames[density],\n multiline && styles.mult,\n appearanceClassNames[appearance],\n centered && styles.centered,\n )}\n >\n <div className={styles.before}>{before}</div>\n <div className={styles.middle}>\n {overTitle && (\n <Subhead Component=\"span\" className={classNames(styles.text, styles.overTitle)}>\n {overTitle}\n <VisuallyHidden> </VisuallyHidden>\n </Subhead>\n )}\n <div className={styles.content}>\n {badgeBeforeTitle && <span className={styles.badge}>{badgeBeforeTitle}</span>}\n <Headline Component=\"span\" className={styles.children} weight=\"3\">\n {children}\n <VisuallyHidden> </VisuallyHidden>\n </Headline>\n {hasReactNode(badgeAfterTitle) && <span className={styles.badge}>{badgeAfterTitle}</span>}\n </div>\n {subtitle && (\n <div className={styles.content}>\n {badgeBeforeSubtitle && <span className={styles.badge}>{badgeBeforeSubtitle}</span>}\n <Footnote normalize={false} className={classNames(styles.text, styles.subtitle)}>\n {subtitle}\n <VisuallyHidden> </VisuallyHidden>\n </Footnote>\n {badgeAfterSubtitle && <span className={styles.badge}>{badgeAfterSubtitle}</span>}\n </div>\n )}\n {extraSubtitle && (\n <Footnote className={classNames(styles.text, styles.extraSubtitle)}>\n {extraSubtitle}\n <VisuallyHidden> </VisuallyHidden>\n </Footnote>\n )}\n </div>\n {hasReactNode(indicator) && (\n <Headline Component=\"span\" weight=\"3\" className={styles.indicator}>\n {indicator}\n </Headline>\n )}\n {hasAfter && (\n <div className={styles.after}>\n {after}\n {hasChevron && <Chevron size={chevronSize} />}\n </div>\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","usePlatform","Chevron","Tappable","Footnote","Headline","Subhead","VisuallyHidden","styles","densityClassNames","none","densityNone","compact","densityCompact","appearanceClassNames","accent","appearanceAccent","neutral","appearanceNeutral","negative","appearanceNegative","CellButton","badgeBeforeTitle","badgeAfterTitle","badgeBeforeSubtitle","badgeAfterSubtitle","before","indicator","children","after","chevron","multiline","overTitle","subtitle","extraSubtitle","chevronSize","centered","appearance","restProps","platform","hasChevron","hasAfter","density","baseClassName","host","disabled","mult","div","className","middle","Component","text","content","span","badge","weight","normalize","size"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CellButton/CellButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasComponent } from '../../types';\nimport { Chevron } from '../SimpleCell/Chevron/Chevron';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './CellButton.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport const appearanceClassNames = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n negative: styles.appearanceNegative,\n};\n\ninterface CellButtonOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`.\n */\n before?: React.ReactNode | undefined;\n /**\n * Иконка 12 или `<Badge />`. Добавится слева от текста `children`.\n */\n badgeBeforeTitle?: React.ReactNode | undefined;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badgeAfterTitle?: React.ReactNode | undefined;\n /**\n * Иконка 12. Добавится слева от текста `subtitle`.\n */\n badgeBeforeSubtitle?: React.ReactNode | undefined;\n /**\n * Иконка 12. Добавится справа от текста `subtitle`.\n */\n badgeAfterSubtitle?: React.ReactNode | undefined;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode | undefined;\n /**\n * Дополнительная строка текста над `children`.\n */\n overTitle?: React.ReactNode | undefined;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode | undefined;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode | undefined;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode | undefined;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean | undefined;\n /**\n * Управляет видимостью иконки шеврона `›`.\n *\n * - `auto` - добавляет шеврон справа только для платформы `ios`;\n * - `always` - всегда показывает шеврон.\n */\n chevron?: 'auto' | 'always' | undefined;\n /**\n * Размер chevron.\n */\n chevronSize?: 's' | 'm' | undefined;\n /**\n * Включает многострочный режим для отображения текста.\n */\n multiline?: boolean | undefined;\n /**\n * > Режим `centered` переопределяет токен для темы `\"accent\"`.\n */\n appearance?: 'accent' | 'neutral' | 'negative' | undefined;\n /**\n * Возможность центрирования содержимого компонента.\n */\n centered?: boolean | undefined;\n}\n\nexport interface CellButtonProps extends CellButtonOwnProps, TappableOmitProps {}\n\n/**\n * @see https://vkui.io/components/cell-button\n */\nexport const CellButton = ({\n badgeBeforeTitle,\n badgeAfterTitle,\n badgeBeforeSubtitle,\n badgeAfterSubtitle,\n before,\n indicator,\n children,\n after,\n chevron,\n multiline,\n overTitle,\n subtitle,\n extraSubtitle,\n chevronSize = 'm',\n centered = false,\n appearance = 'accent',\n ...restProps\n}: CellButtonProps): React.ReactNode => {\n const platform = usePlatform();\n\n const hasChevron = chevron === 'always' || (chevron === 'auto' && platform === 'ios');\n\n const hasAfter = hasReactNode(after) || hasChevron;\n const { density = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n baseClassName={classNames(\n styles.host,\n restProps.disabled && styles.disabled,\n density !== 'regular' && densityClassNames[density],\n multiline && styles.mult,\n appearanceClassNames[appearance],\n centered && styles.centered,\n )}\n >\n <div className={styles.before}>{before}</div>\n <div className={styles.middle}>\n {overTitle && (\n <Subhead Component=\"span\" className={classNames(styles.text, styles.overTitle)}>\n {overTitle}\n <VisuallyHidden> </VisuallyHidden>\n </Subhead>\n )}\n <div className={styles.content}>\n {badgeBeforeTitle && <span className={styles.badge}>{badgeBeforeTitle}</span>}\n <Headline Component=\"span\" className={styles.children} weight=\"3\">\n {children}\n <VisuallyHidden> </VisuallyHidden>\n </Headline>\n {hasReactNode(badgeAfterTitle) && <span className={styles.badge}>{badgeAfterTitle}</span>}\n </div>\n {subtitle && (\n <div className={styles.content}>\n {badgeBeforeSubtitle && <span className={styles.badge}>{badgeBeforeSubtitle}</span>}\n <Footnote normalize={false} className={classNames(styles.text, styles.subtitle)}>\n {subtitle}\n <VisuallyHidden> </VisuallyHidden>\n </Footnote>\n {badgeAfterSubtitle && <span className={styles.badge}>{badgeAfterSubtitle}</span>}\n </div>\n )}\n {extraSubtitle && (\n <Footnote className={classNames(styles.text, styles.extraSubtitle)}>\n {extraSubtitle}\n <VisuallyHidden> </VisuallyHidden>\n </Footnote>\n )}\n </div>\n {hasReactNode(indicator) && (\n <Headline Component=\"span\" weight=\"3\" className={styles.indicator}>\n {indicator}\n </Headline>\n )}\n {hasAfter && (\n <div className={styles.after}>\n {after}\n {hasChevron && <Chevron size={chevronSize} />}\n </div>\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","usePlatform","Chevron","Tappable","Footnote","Headline","Subhead","VisuallyHidden","styles","densityClassNames","none","densityNone","compact","densityCompact","appearanceClassNames","accent","appearanceAccent","neutral","appearanceNeutral","negative","appearanceNegative","CellButton","badgeBeforeTitle","badgeAfterTitle","badgeBeforeSubtitle","badgeAfterSubtitle","before","indicator","children","after","chevron","multiline","overTitle","subtitle","extraSubtitle","chevronSize","centered","appearance","restProps","platform","hasChevron","hasAfter","density","baseClassName","host","disabled","mult","div","className","middle","Component","text","content","span","badge","weight","normalize","size"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { withLabelClickWrapper } from '../../lib/withLabelClickWrapper';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { SelectionControl } from '../SelectionControl/SelectionControl';\nimport { SelectionControlLabel } from '../SelectionControl/SelectionControlLabel/SelectionControlLabel';\nimport type { TappableOmitProps } from '../Tappable/Tappable';\nimport { CheckboxInput, type CheckboxInputProps } from './CheckboxInput/CheckboxInput';\nimport { CheckboxSimple } from './CheckboxSimple/CheckboxSimple';\n\nconst warn = warnOnce('Checkbox');\n\nexport interface CheckboxProps\n extends Pick<\n CheckboxInputProps,\n | 'indeterminate'\n | 'defaultIndeterminate'\n | 'IconOnCompact'\n | 'IconOnRegular'\n | 'IconOffCompact'\n | 'IconOffRegular'\n | 'IconIndeterminate'\n | 'getRef'\n >,\n Pick<\n React.ComponentProps<'input'>,\n | 'checked'\n | 'defaultChecked'\n | 'disabled'\n | 'readOnly'\n | 'required'\n | 'autoFocus'\n | 'name'\n | 'value'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<\n React.LabelHTMLAttributes<HTMLLabelElement>,\n 'onChange' | 'onFocus' | 'onBlur' | 'slotProps'\n >,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { withLabelClickWrapper } from '../../lib/withLabelClickWrapper';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { SelectionControl } from '../SelectionControl/SelectionControl';\nimport { SelectionControlLabel } from '../SelectionControl/SelectionControlLabel/SelectionControlLabel';\nimport type { TappableOmitProps } from '../Tappable/Tappable';\nimport { CheckboxInput, type CheckboxInputProps } from './CheckboxInput/CheckboxInput';\nimport { CheckboxSimple } from './CheckboxSimple/CheckboxSimple';\n\nconst warn = warnOnce('Checkbox');\n\nexport interface CheckboxProps\n extends Pick<\n CheckboxInputProps,\n | 'indeterminate'\n | 'defaultIndeterminate'\n | 'IconOnCompact'\n | 'IconOnRegular'\n | 'IconOffCompact'\n | 'IconOffRegular'\n | 'IconIndeterminate'\n | 'getRef'\n >,\n Pick<\n React.ComponentProps<'input'>,\n | 'checked'\n | 'defaultChecked'\n | 'disabled'\n | 'readOnly'\n | 'required'\n | 'autoFocus'\n | 'name'\n | 'value'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<\n React.LabelHTMLAttributes<HTMLLabelElement>,\n 'onChange' | 'onFocus' | 'onBlur' | 'slotProps'\n >,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?:\n | {\n root?:\n | ((Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'children'> &\n HasRootRef<HTMLLabelElement> &\n HasDataAttribute) &\n HasDataAttribute)\n | undefined;\n input?:\n | (React.ComponentProps<'input'> & HasRootRef<HTMLInputElement> & HasDataAttribute)\n | undefined;\n }\n | undefined;\n /**\n * Подпись под основным текстом.\n */\n description?: React.ReactNode | undefined;\n /**\n * Контент, идущий за основным текстом.\n */\n titleAfter?: React.ReactNode | undefined;\n /**\n * Отключает отступы у чекбокса. При использовании этого свойства, значение по умолчанию для свойств `hoverMode` и `activeMode` становится `\"opacity\"`.\n */\n noPadding?: boolean | undefined;\n}\n\nconst CheckboxComponent = ({\n // CheckboxProps\n getRef,\n description,\n titleAfter,\n noPadding,\n children,\n\n // CheckboxInputProps\n indeterminate,\n defaultIndeterminate,\n IconOnCompact,\n IconOnRegular,\n IconOffCompact,\n IconOffRegular,\n IconIndeterminate,\n\n // Tappable props\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n\n // Input props\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n form,\n onChange,\n onFocus,\n onBlur,\n\n slotProps,\n ...restProps\n}: CheckboxProps): React.ReactNode => {\n const { onClick, ...rootRest } = useMergeProps(restProps, slotProps?.root);\n\n const inputRest = useMergeProps(\n {\n getRootRef: getRef,\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n form,\n onChange,\n onFocus,\n onBlur,\n },\n slotProps?.input,\n );\n\n return (\n <SelectionControl\n disabled={inputRest.disabled}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n noPadding={noPadding}\n onClick={withLabelClickWrapper(onClick)}\n {...rootRest}\n >\n <CheckboxInput\n indeterminate={indeterminate}\n defaultIndeterminate={defaultIndeterminate}\n IconIndeterminate={IconIndeterminate}\n IconOnCompact={IconOnCompact}\n IconOnRegular={IconOnRegular}\n IconOffCompact={IconOffCompact}\n IconOffRegular={IconOffRegular}\n slotProps={{ input: inputRest }}\n />\n <SelectionControlLabel titleAfter={titleAfter} description={description}>\n {children}\n </SelectionControlLabel>\n </SelectionControl>\n );\n};\n\n/**\n * @see https://vkui.io/components/checkbox\n */\nexport const Checkbox = (props: CheckboxProps): React.ReactNode => {\n if (process.env.NODE_ENV === 'development' && props.getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n const simple = !(hasReactNode(props.children) || hasReactNode(props.description));\n if (simple) {\n return <CheckboxSimple {...props} />;\n }\n\n return <CheckboxComponent {...props} />;\n};\n\nCheckbox.Input = CheckboxInput;\n"],"names":["hasReactNode","useMergeProps","warnOnce","withLabelClickWrapper","SelectionControl","SelectionControlLabel","CheckboxInput","CheckboxSimple","warn","CheckboxComponent","getRef","description","titleAfter","noPadding","children","indeterminate","defaultIndeterminate","IconOnCompact","IconOnRegular","IconOffCompact","IconOffRegular","IconIndeterminate","hoverMode","activeMode","hasHover","hasActive","focusVisibleMode","checked","defaultChecked","disabled","readOnly","required","autoFocus","id","name","value","form","onChange","onFocus","onBlur","slotProps","restProps","onClick","rootRest","root","inputRest","getRootRef","input","Checkbox","props","process","env","NODE_ENV","simple","Input"],"mappings":"AAAA;;AAGA,SAASA,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,qBAAqB,QAAQ,qCAAkC;AAExE,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,SAASC,qBAAqB,QAAQ,qEAAkE;AAExG,SAASC,aAAa,QAAiC,mCAAgC;AACvF,SAASC,cAAc,QAAQ,qCAAkC;AAEjE,MAAMC,OAAON,SAAS;AAsEtB,MAAMO,oBAAoB,CAAC,EACzB,gBAAgB;AAChBC,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,QAAQ,EAER,qBAAqB;AACrBC,aAAa,EACbC,oBAAoB,EACpBC,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EAEjB,iBAAiB;AACjBC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAEhB,cAAc;AACdC,OAAO,EACPC,cAAc,EACdC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,EAAE,EACFC,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,MAAM,EAENC,SAAS,EACT,GAAGC,WACW;IACd,MAAM,EAAEC,OAAO,EAAE,GAAGC,UAAU,GAAG1C,cAAcwC,WAAWD,WAAWI;IAErE,MAAMC,YAAY5C,cAChB;QACE6C,YAAYpC;QACZiB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF,GACAC,WAAWO;IAGb,qBACE,MAAC3C;QACCyB,UAAUgB,UAAUhB,QAAQ;QAC5BP,WAAWA;QACXC,YAAYA;QACZC,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;QAClBb,WAAWA;QACX6B,SAASvC,sBAAsBuC;QAC9B,GAAGC,QAAQ;;0BAEZ,KAACrC;gBACCS,eAAeA;gBACfC,sBAAsBA;gBACtBK,mBAAmBA;gBACnBJ,eAAeA;gBACfC,eAAeA;gBACfC,gBAAgBA;gBAChBC,gBAAgBA;gBAChBoB,WAAW;oBAAEO,OAAOF;gBAAU;;0BAEhC,KAACxC;gBAAsBO,YAAYA;gBAAYD,aAAaA;0BACzDG;;;;AAIT;AAEA;;CAEC,GACD,OAAO,MAAMkC,WAAW,CAACC;IACvB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiBH,MAAMvC,MAAM,EAAE;QAC1DF,KAAK;IACP;IAEA,MAAM6C,SAAS,CAAErD,CAAAA,aAAaiD,MAAMnC,QAAQ,KAAKd,aAAaiD,MAAMtC,WAAW,CAAA;IAC/E,IAAI0C,QAAQ;QACV,qBAAO,KAAC9C;YAAgB,GAAG0C,KAAK;;IAClC;IAEA,qBAAO,KAACxC;QAAmB,GAAGwC,KAAK;;AACrC,EAAE;AAEFD,SAASM,KAAK,GAAGhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Checkbox/CheckboxInput/CheckboxInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon20CheckBoxIndetermanate,\n Icon20CheckBoxOff,\n Icon20CheckBoxOn,\n Icon24CheckBoxOff,\n Icon24CheckBoxOn,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityConditionalRender } from '../../../hooks/useAdaptivityConditionalRender';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useMergeProps } from '../../../hooks/useMergeProps';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { warnOnce } from '../../../lib/warnOnce';\nimport type { HasDataAttribute, HasRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CheckboxInput.module.css';\n\ntype VendorIconType = typeof Icon20CheckBoxOn;\n\nexport type CheckboxInputIconType =\n | React.ComponentType<React.SVGProps<SVGSVGElement>>\n | VendorIconType;\n\nfunction setIndeterminate(el: HTMLInputElement, indeterminate: boolean) {\n el.indeterminate = indeterminate;\n}\n\nexport interface CheckboxInputProps\n extends Pick<\n React.ComponentProps<'input'>,\n | 'checked'\n | 'defaultChecked'\n | 'disabled'\n | 'readOnly'\n | 'required'\n | 'autoFocus'\n | 'onChange'\n | 'name'\n | 'value'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLDivElement> {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement>;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?: {\n root?: Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> &\n HasRootRef<HTMLDivElement> &\n HasDataAttribute;\n input?: React.ComponentProps<'input'> & HasRootRef<HTMLInputElement> & HasDataAttribute;\n };\n /**\n * Неопределенное состояние чекбокса.\n */\n indeterminate?: boolean;\n /**\n * Неопределенное состояние чекбокса по умолчанию.\n */\n defaultIndeterminate?: boolean;\n /**\n * Иконка для включенного состояния в компактном режиме.\n */\n IconOnCompact?: CheckboxInputIconType;\n /**\n * Иконка для включенного состояния в обычном режиме.\n */\n IconOnRegular?: CheckboxInputIconType;\n /**\n * Иконка для выключенного состояния в компактном режиме.\n */\n IconOffCompact?: CheckboxInputIconType;\n /**\n * Иконка для выключенного состояния в обычном режиме.\n */\n IconOffRegular?: CheckboxInputIconType;\n /**\n * Иконка для неопределенного состояния.\n */\n IconIndeterminate?: CheckboxInputIconType;\n}\n\nconst warn = warnOnce('Checkbox');\n\nexport function CheckboxInput({\n getRef,\n\n // Input props\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n\n // CheckboxInputProps\n indeterminate,\n defaultIndeterminate,\n IconOnCompact = Icon20CheckBoxOn,\n IconOnRegular = Icon24CheckBoxOn,\n IconOffCompact = Icon20CheckBoxOff,\n IconOffRegular = Icon24CheckBoxOff,\n IconIndeterminate = Icon20CheckBoxIndetermanate,\n\n slotProps,\n ...restProps\n}: CheckboxInputProps) {\n const rootRest = useMergeProps(restProps, slotProps?.root);\n\n const {\n onChange,\n getRootRef: getInputRef,\n className: inputClassName,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n },\n slotProps?.input,\n );\n\n const inputRef = useExternRef<HTMLInputElement>(getInputRef);\n\n const platform = usePlatform();\n const { density: adaptiveDensity } = useAdaptivityConditionalRender();\n\n React.useEffect(() => {\n const indeterminateValue = indeterminate === undefined ? defaultIndeterminate : indeterminate;\n\n if (inputRef.current) {\n setIndeterminate(inputRef.current, Boolean(indeterminateValue));\n }\n }, [defaultIndeterminate, indeterminate, inputRef]);\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (\n defaultIndeterminate !== undefined &&\n indeterminate === undefined &&\n inputRest.checked === undefined &&\n inputRef.current\n ) {\n setIndeterminate(inputRef.current, false);\n }\n if (indeterminate !== undefined && inputRef.current) {\n setIndeterminate(inputRef.current, Boolean(indeterminate));\n }\n onChange && onChange(event);\n },\n [defaultIndeterminate, indeterminate, inputRest.checked, onChange, inputRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore if: не проверяем в тестах */\n if (getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n if (defaultIndeterminate && inputRest.defaultChecked) {\n warn('defaultIndeterminate и defaultChecked не могут быть true одновременно', 'error');\n }\n\n if (indeterminate && inputRest.checked) {\n warn('indeterminate и checked не могут быть true одновременно', 'error');\n }\n\n if (inputRest.defaultChecked && inputRest.checked) {\n warn('defaultChecked и checked не могут быть true одновременно', 'error');\n }\n }\n\n return (\n <RootComponent baseClassName={styles.host} {...rootRest}>\n <VisuallyHidden\n Component=\"input\"\n type=\"checkbox\"\n onChange={handleChange}\n getRootRef={inputRef}\n className={classNames(inputClassName, styles.input)}\n {...inputRest}\n />\n {platform === 'vkcom' ? (\n <IconOnCompact className={styles.iconOn} />\n ) : (\n <React.Fragment>\n {adaptiveDensity.compact && (\n <IconOnCompact\n className={classNames(styles.iconOn, adaptiveDensity.compact.className)}\n />\n )}\n {adaptiveDensity.regular && (\n <IconOnRegular\n className={classNames(styles.iconOn, adaptiveDensity.regular.className)}\n />\n )}\n </React.Fragment>\n )}\n {platform === 'vkcom' ? (\n <IconOffCompact className={styles.iconOff} />\n ) : (\n <React.Fragment>\n {adaptiveDensity.compact && (\n <IconOffCompact\n className={classNames(styles.iconOff, adaptiveDensity.compact.className)}\n />\n )}\n {adaptiveDensity.regular && (\n <IconOffRegular\n className={classNames(styles.iconOff, adaptiveDensity.regular.className)}\n />\n )}\n </React.Fragment>\n )}\n {platform === 'vkcom' ? (\n <IconIndeterminate width={20} height={20} className={styles.iconIndeterminate} />\n ) : (\n <React.Fragment>\n {adaptiveDensity.compact && (\n <IconIndeterminate\n className={classNames(styles.iconIndeterminate, adaptiveDensity.compact.className)}\n width={20}\n height={20}\n />\n )}\n {adaptiveDensity.regular && (\n <IconIndeterminate\n className={classNames(styles.iconIndeterminate, adaptiveDensity.regular.className)}\n width={24}\n height={24}\n />\n )}\n </React.Fragment>\n )}\n </RootComponent>\n );\n}\n"],"names":["React","Icon20CheckBoxIndetermanate","Icon20CheckBoxOff","Icon20CheckBoxOn","Icon24CheckBoxOff","Icon24CheckBoxOn","classNames","useAdaptivityConditionalRender","useExternRef","useMergeProps","usePlatform","warnOnce","RootComponent","VisuallyHidden","styles","setIndeterminate","el","indeterminate","warn","CheckboxInput","getRef","checked","defaultChecked","disabled","readOnly","required","autoFocus","id","name","value","onChange","onChangeProp","onFocus","onBlur","defaultIndeterminate","IconOnCompact","IconOnRegular","IconOffCompact","IconOffRegular","IconIndeterminate","slotProps","restProps","rootRest","root","getRootRef","getInputRef","className","inputClassName","inputRest","input","inputRef","platform","density","adaptiveDensity","useEffect","indeterminateValue","undefined","current","Boolean","handleChange","useCallback","event","process","env","NODE_ENV","baseClassName","host","Component","type","iconOn","Fragment","compact","regular","iconOff","width","height","iconIndeterminate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Checkbox/CheckboxInput/CheckboxInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon20CheckBoxIndetermanate,\n Icon20CheckBoxOff,\n Icon20CheckBoxOn,\n Icon24CheckBoxOff,\n Icon24CheckBoxOn,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityConditionalRender } from '../../../hooks/useAdaptivityConditionalRender';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useMergeProps } from '../../../hooks/useMergeProps';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { warnOnce } from '../../../lib/warnOnce';\nimport type { HasDataAttribute, HasRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CheckboxInput.module.css';\n\ntype VendorIconType = typeof Icon20CheckBoxOn;\n\nexport type CheckboxInputIconType =\n | React.ComponentType<React.SVGProps<SVGSVGElement>>\n | VendorIconType;\n\nfunction setIndeterminate(el: HTMLInputElement, indeterminate: boolean) {\n el.indeterminate = indeterminate;\n}\n\nexport interface CheckboxInputProps\n extends Pick<\n React.ComponentProps<'input'>,\n | 'checked'\n | 'defaultChecked'\n | 'disabled'\n | 'readOnly'\n | 'required'\n | 'autoFocus'\n | 'onChange'\n | 'name'\n | 'value'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLDivElement> {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement> | undefined;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?:\n | {\n root?:\n | (Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> &\n HasRootRef<HTMLDivElement> &\n HasDataAttribute)\n | undefined;\n input?:\n | (React.ComponentProps<'input'> & HasRootRef<HTMLInputElement> & HasDataAttribute)\n | undefined;\n }\n | undefined;\n /**\n * Неопределенное состояние чекбокса.\n */\n indeterminate?: boolean | undefined;\n /**\n * Неопределенное состояние чекбокса по умолчанию.\n */\n defaultIndeterminate?: boolean | undefined;\n /**\n * Иконка для включенного состояния в компактном режиме.\n */\n IconOnCompact?: CheckboxInputIconType | undefined;\n /**\n * Иконка для включенного состояния в обычном режиме.\n */\n IconOnRegular?: CheckboxInputIconType | undefined;\n /**\n * Иконка для выключенного состояния в компактном режиме.\n */\n IconOffCompact?: CheckboxInputIconType | undefined;\n /**\n * Иконка для выключенного состояния в обычном режиме.\n */\n IconOffRegular?: CheckboxInputIconType | undefined;\n /**\n * Иконка для неопределенного состояния.\n */\n IconIndeterminate?: CheckboxInputIconType | undefined;\n}\n\nconst warn = warnOnce('Checkbox');\n\nexport function CheckboxInput({\n getRef,\n\n // Input props\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n\n // CheckboxInputProps\n indeterminate,\n defaultIndeterminate,\n IconOnCompact = Icon20CheckBoxOn,\n IconOnRegular = Icon24CheckBoxOn,\n IconOffCompact = Icon20CheckBoxOff,\n IconOffRegular = Icon24CheckBoxOff,\n IconIndeterminate = Icon20CheckBoxIndetermanate,\n\n slotProps,\n ...restProps\n}: CheckboxInputProps) {\n const rootRest = useMergeProps(restProps, slotProps?.root);\n\n const {\n onChange,\n getRootRef: getInputRef,\n className: inputClassName,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n },\n slotProps?.input,\n );\n\n const inputRef = useExternRef<HTMLInputElement>(getInputRef);\n\n const platform = usePlatform();\n const { density: adaptiveDensity } = useAdaptivityConditionalRender();\n\n React.useEffect(() => {\n const indeterminateValue = indeterminate === undefined ? defaultIndeterminate : indeterminate;\n\n if (inputRef.current) {\n setIndeterminate(inputRef.current, Boolean(indeterminateValue));\n }\n }, [defaultIndeterminate, indeterminate, inputRef]);\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (\n defaultIndeterminate !== undefined &&\n indeterminate === undefined &&\n inputRest.checked === undefined &&\n inputRef.current\n ) {\n setIndeterminate(inputRef.current, false);\n }\n if (indeterminate !== undefined && inputRef.current) {\n setIndeterminate(inputRef.current, Boolean(indeterminate));\n }\n onChange && onChange(event);\n },\n [defaultIndeterminate, indeterminate, inputRest.checked, onChange, inputRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore if: не проверяем в тестах */\n if (getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n if (defaultIndeterminate && inputRest.defaultChecked) {\n warn('defaultIndeterminate и defaultChecked не могут быть true одновременно', 'error');\n }\n\n if (indeterminate && inputRest.checked) {\n warn('indeterminate и checked не могут быть true одновременно', 'error');\n }\n\n if (inputRest.defaultChecked && inputRest.checked) {\n warn('defaultChecked и checked не могут быть true одновременно', 'error');\n }\n }\n\n return (\n <RootComponent baseClassName={styles.host} {...rootRest}>\n <VisuallyHidden\n Component=\"input\"\n type=\"checkbox\"\n onChange={handleChange}\n getRootRef={inputRef}\n className={classNames(inputClassName, styles.input)}\n {...inputRest}\n />\n {platform === 'vkcom' ? (\n <IconOnCompact className={styles.iconOn} />\n ) : (\n <React.Fragment>\n {adaptiveDensity.compact && (\n <IconOnCompact\n className={classNames(styles.iconOn, adaptiveDensity.compact.className)}\n />\n )}\n {adaptiveDensity.regular && (\n <IconOnRegular\n className={classNames(styles.iconOn, adaptiveDensity.regular.className)}\n />\n )}\n </React.Fragment>\n )}\n {platform === 'vkcom' ? (\n <IconOffCompact className={styles.iconOff} />\n ) : (\n <React.Fragment>\n {adaptiveDensity.compact && (\n <IconOffCompact\n className={classNames(styles.iconOff, adaptiveDensity.compact.className)}\n />\n )}\n {adaptiveDensity.regular && (\n <IconOffRegular\n className={classNames(styles.iconOff, adaptiveDensity.regular.className)}\n />\n )}\n </React.Fragment>\n )}\n {platform === 'vkcom' ? (\n <IconIndeterminate width={20} height={20} className={styles.iconIndeterminate} />\n ) : (\n <React.Fragment>\n {adaptiveDensity.compact && (\n <IconIndeterminate\n className={classNames(styles.iconIndeterminate, adaptiveDensity.compact.className)}\n width={20}\n height={20}\n />\n )}\n {adaptiveDensity.regular && (\n <IconIndeterminate\n className={classNames(styles.iconIndeterminate, adaptiveDensity.regular.className)}\n width={24}\n height={24}\n />\n )}\n </React.Fragment>\n )}\n </RootComponent>\n );\n}\n"],"names":["React","Icon20CheckBoxIndetermanate","Icon20CheckBoxOff","Icon20CheckBoxOn","Icon24CheckBoxOff","Icon24CheckBoxOn","classNames","useAdaptivityConditionalRender","useExternRef","useMergeProps","usePlatform","warnOnce","RootComponent","VisuallyHidden","styles","setIndeterminate","el","indeterminate","warn","CheckboxInput","getRef","checked","defaultChecked","disabled","readOnly","required","autoFocus","id","name","value","onChange","onChangeProp","onFocus","onBlur","defaultIndeterminate","IconOnCompact","IconOnRegular","IconOffCompact","IconOffRegular","IconIndeterminate","slotProps","restProps","rootRest","root","getRootRef","getInputRef","className","inputClassName","inputRest","input","inputRef","platform","density","adaptiveDensity","useEffect","indeterminateValue","undefined","current","Boolean","handleChange","useCallback","event","process","env","NODE_ENV","baseClassName","host","Component","type","iconOn","Fragment","compact","regular","iconOff","width","height","iconIndeterminate"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ChipsInput/ChipsInput.tsx"],"sourcesContent":["'use client';\n\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { ChipsInputBase } from '../ChipsInputBase/ChipsInputBase';\nimport type { ChipOption, ChipsInputBaseProps } from '../ChipsInputBase/types';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport { useChipsInput, type UseChipsInputProps } from './useChipsInput';\n\nexport interface ChipsInputProps<Option extends ChipOption>\n extends ChipsInputBaseProps<Option>,\n UseChipsInputProps<Option>,\n Pick<FormFieldProps, 'status' | 'mode' | 'before' | 'after' | 'maxHeight'> {\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения.\n */\n allowClearButton?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/chips-input\n */\nexport const ChipsInput = <Option extends ChipOption>({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n\n // input\n getRef,\n inputValue: inputValueProp,\n defaultInputValue: defaultInputValueProp,\n onInputChange: onInputChangeProp,\n getOptionValue,\n getOptionLabel,\n getNewOptionData,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n id: idProp,\n placeholder: placeholderProp,\n\n // other\n allowClearButton,\n delimiter,\n\n slotProps,\n ...restProps\n}: ChipsInputProps<Option>): React.ReactNode => {\n const {\n getRootRef: getInputRef,\n value: resolvedInputValue,\n defaultValue: resolvedInputDefaultValue,\n onChange: resolvedOnInputChange,\n disabled,\n readOnly,\n onFocus,\n onBlur,\n id,\n placeholder,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n value: inputValueProp,\n defaultValue: defaultInputValueProp,\n onChange: onInputChangeProp,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n id: idProp,\n placeholder: placeholderProp,\n },\n slotProps?.input,\n );\n\n const {\n value,\n addOptionFromInput,\n removeOption,\n clearOptions,\n\n // input\n inputRef: inputRefHook,\n inputValue,\n onInputChange,\n } = useChipsInput({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n getOptionLabel,\n getOptionValue,\n getNewOptionData,\n\n // input\n inputValue: resolvedInputValue as string,\n defaultInputValue: resolvedInputDefaultValue as string,\n onInputChange: resolvedOnInputChange,\n\n // other\n disabled,\n delimiter,\n });\n const inputRef = useExternRef(getInputRef, inputRefHook);\n\n return (\n <ChipsInputBase\n value={value}\n clearButtonShown={allowClearButton && (!!value.length || !!inputValue.length)}\n onAddChipOption={addOptionFromInput}\n onRemoveChipOption={removeOption}\n onClear={clearOptions}\n slotProps={{\n ...slotProps,\n input: {\n getRootRef: inputRef,\n value: inputValue,\n onChange: onInputChange,\n ...inputRest,\n },\n }}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={onFocusProp}\n onBlur={onBlur}\n id={id}\n placeholder={placeholder}\n {...restProps}\n />\n );\n};\n"],"names":["useExternRef","useMergeProps","ChipsInputBase","useChipsInput","ChipsInput","value","valueProp","defaultValue","onChange","getRef","inputValue","inputValueProp","defaultInputValue","defaultInputValueProp","onInputChange","onInputChangeProp","getOptionValue","getOptionLabel","getNewOptionData","disabled","disabledProp","readOnly","readOnlyProp","onFocus","onFocusProp","onBlur","onBlurProp","id","idProp","placeholder","placeholderProp","allowClearButton","delimiter","slotProps","restProps","getRootRef","getInputRef","resolvedInputValue","resolvedInputDefaultValue","resolvedOnInputChange","inputRest","input","addOptionFromInput","removeOption","clearOptions","inputRef","inputRefHook","clearButtonShown","length","onAddChipOption","onRemoveChipOption","onClear"],"mappings":"AAAA;;AAEA,SAASA,YAAY,QAAQ,8BAA2B;AACxD,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,SAASC,aAAa,QAAiC,qBAAkB;AAYzE;;CAEC,GACD,OAAO,MAAMC,aAAa,CAA4B,EACpD,SAAS;AACTC,OAAOC,SAAS,EAChBC,YAAY,EACZC,QAAQ,EAER,QAAQ;AACRC,MAAM,EACNC,YAAYC,cAAc,EAC1BC,mBAAmBC,qBAAqB,EACxCC,eAAeC,iBAAiB,EAChCC,cAAc,EACdC,cAAc,EACdC,gBAAgB,EAChBC,UAAUC,YAAY,EACtBC,UAAUC,YAAY,EACtBC,SAASC,WAAW,EACpBC,QAAQC,UAAU,EAClBC,IAAIC,MAAM,EACVC,aAAaC,eAAe,EAE5B,QAAQ;AACRC,gBAAgB,EAChBC,SAAS,EAETC,SAAS,EACT,GAAGC,WACqB;IACxB,MAAM,EACJC,YAAYC,WAAW,EACvB/B,OAAOgC,kBAAkB,EACzB9B,cAAc+B,yBAAyB,EACvC9B,UAAU+B,qBAAqB,EAC/BpB,QAAQ,EACRE,QAAQ,EACRE,OAAO,EACPE,MAAM,EACNE,EAAE,EACFE,WAAW,EACX,GAAGW,WACJ,GAAGvC,cACF;QACEkC,YAAY1B;QACZJ,OAAOM;QACPJ,cAAcM;QACdL,UAAUO;QACVI,UAAUC;QACVC,UAAUC;QACVC,SAASC;QACTC,QAAQC;QACRC,IAAIC;QACJC,aAAaC;IACf,GACAG,WAAWQ;IAGb,MAAM,EACJpC,KAAK,EACLqC,kBAAkB,EAClBC,YAAY,EACZC,YAAY,EAEZ,QAAQ;IACRC,UAAUC,YAAY,EACtBpC,UAAU,EACVI,aAAa,EACd,GAAGX,cAAc;QAChB,SAAS;QACTE,OAAOC;QACPC;QACAC;QACAS;QACAD;QACAE;QAEA,QAAQ;QACRR,YAAY2B;QACZzB,mBAAmB0B;QACnBxB,eAAeyB;QAEf,QAAQ;QACRpB;QACAa;IACF;IACA,MAAMa,WAAW7C,aAAaoC,aAAaU;IAE3C,qBACE,KAAC5C;QACCG,OAAOA;QACP0C,kBAAkBhB,oBAAqB,CAAA,CAAC,CAAC1B,MAAM2C,MAAM,IAAI,CAAC,CAACtC,WAAWsC,MAAM,AAAD;QAC3EC,iBAAiBP;QACjBQ,oBAAoBP;QACpBQ,SAASP;QACTX,WAAW;YACT,GAAGA,SAAS;YACZQ,OAAO;gBACLN,YAAYU;gBACZxC,OAAOK;gBACPF,UAAUM;gBACV,GAAG0B,SAAS;YACd;QACF;QACArB,UAAUA;QACVE,UAAUA;QACVE,SAASC;QACTC,QAAQA;QACRE,IAAIA;QACJE,aAAaA;QACZ,GAAGK,SAAS;;AAGnB,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ChipsInput/ChipsInput.tsx"],"sourcesContent":["'use client';\n\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { ChipsInputBase } from '../ChipsInputBase/ChipsInputBase';\nimport type { ChipOption, ChipsInputBaseProps } from '../ChipsInputBase/types';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport { useChipsInput, type UseChipsInputProps } from './useChipsInput';\n\nexport interface ChipsInputProps<Option extends ChipOption>\n extends ChipsInputBaseProps<Option>,\n UseChipsInputProps<Option>,\n Pick<FormFieldProps, 'status' | 'mode' | 'before' | 'after' | 'maxHeight'> {\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения.\n */\n allowClearButton?: boolean | undefined;\n}\n\n/**\n * @see https://vkui.io/components/chips-input\n */\nexport const ChipsInput = <Option extends ChipOption>({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n\n // input\n getRef,\n inputValue: inputValueProp,\n defaultInputValue: defaultInputValueProp,\n onInputChange: onInputChangeProp,\n getOptionValue,\n getOptionLabel,\n getNewOptionData,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n id: idProp,\n placeholder: placeholderProp,\n\n // other\n allowClearButton,\n delimiter,\n\n slotProps,\n ...restProps\n}: ChipsInputProps<Option>): React.ReactNode => {\n const {\n getRootRef: getInputRef,\n value: resolvedInputValue,\n defaultValue: resolvedInputDefaultValue,\n onChange: resolvedOnInputChange,\n disabled,\n readOnly,\n onFocus,\n onBlur,\n id,\n placeholder,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n value: inputValueProp,\n defaultValue: defaultInputValueProp,\n onChange: onInputChangeProp,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n id: idProp,\n placeholder: placeholderProp,\n },\n slotProps?.input,\n );\n\n const {\n value,\n addOptionFromInput,\n removeOption,\n clearOptions,\n\n // input\n inputRef: inputRefHook,\n inputValue,\n onInputChange,\n } = useChipsInput({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n getOptionLabel,\n getOptionValue,\n getNewOptionData,\n\n // input\n inputValue: resolvedInputValue as string,\n defaultInputValue: resolvedInputDefaultValue as string,\n onInputChange: resolvedOnInputChange,\n\n // other\n disabled,\n delimiter,\n });\n const inputRef = useExternRef(getInputRef, inputRefHook);\n\n return (\n <ChipsInputBase\n value={value}\n clearButtonShown={allowClearButton && (!!value.length || !!inputValue.length)}\n onAddChipOption={addOptionFromInput}\n onRemoveChipOption={removeOption}\n onClear={clearOptions}\n slotProps={{\n ...slotProps,\n input: {\n getRootRef: inputRef,\n value: inputValue,\n onChange: onInputChange,\n ...inputRest,\n },\n }}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={onFocusProp}\n onBlur={onBlur}\n id={id}\n placeholder={placeholder}\n {...restProps}\n />\n );\n};\n"],"names":["useExternRef","useMergeProps","ChipsInputBase","useChipsInput","ChipsInput","value","valueProp","defaultValue","onChange","getRef","inputValue","inputValueProp","defaultInputValue","defaultInputValueProp","onInputChange","onInputChangeProp","getOptionValue","getOptionLabel","getNewOptionData","disabled","disabledProp","readOnly","readOnlyProp","onFocus","onFocusProp","onBlur","onBlurProp","id","idProp","placeholder","placeholderProp","allowClearButton","delimiter","slotProps","restProps","getRootRef","getInputRef","resolvedInputValue","resolvedInputDefaultValue","resolvedOnInputChange","inputRest","input","addOptionFromInput","removeOption","clearOptions","inputRef","inputRefHook","clearButtonShown","length","onAddChipOption","onRemoveChipOption","onClear"],"mappings":"AAAA;;AAEA,SAASA,YAAY,QAAQ,8BAA2B;AACxD,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,SAASC,aAAa,QAAiC,qBAAkB;AAYzE;;CAEC,GACD,OAAO,MAAMC,aAAa,CAA4B,EACpD,SAAS;AACTC,OAAOC,SAAS,EAChBC,YAAY,EACZC,QAAQ,EAER,QAAQ;AACRC,MAAM,EACNC,YAAYC,cAAc,EAC1BC,mBAAmBC,qBAAqB,EACxCC,eAAeC,iBAAiB,EAChCC,cAAc,EACdC,cAAc,EACdC,gBAAgB,EAChBC,UAAUC,YAAY,EACtBC,UAAUC,YAAY,EACtBC,SAASC,WAAW,EACpBC,QAAQC,UAAU,EAClBC,IAAIC,MAAM,EACVC,aAAaC,eAAe,EAE5B,QAAQ;AACRC,gBAAgB,EAChBC,SAAS,EAETC,SAAS,EACT,GAAGC,WACqB;IACxB,MAAM,EACJC,YAAYC,WAAW,EACvB/B,OAAOgC,kBAAkB,EACzB9B,cAAc+B,yBAAyB,EACvC9B,UAAU+B,qBAAqB,EAC/BpB,QAAQ,EACRE,QAAQ,EACRE,OAAO,EACPE,MAAM,EACNE,EAAE,EACFE,WAAW,EACX,GAAGW,WACJ,GAAGvC,cACF;QACEkC,YAAY1B;QACZJ,OAAOM;QACPJ,cAAcM;QACdL,UAAUO;QACVI,UAAUC;QACVC,UAAUC;QACVC,SAASC;QACTC,QAAQC;QACRC,IAAIC;QACJC,aAAaC;IACf,GACAG,WAAWQ;IAGb,MAAM,EACJpC,KAAK,EACLqC,kBAAkB,EAClBC,YAAY,EACZC,YAAY,EAEZ,QAAQ;IACRC,UAAUC,YAAY,EACtBpC,UAAU,EACVI,aAAa,EACd,GAAGX,cAAc;QAChB,SAAS;QACTE,OAAOC;QACPC;QACAC;QACAS;QACAD;QACAE;QAEA,QAAQ;QACRR,YAAY2B;QACZzB,mBAAmB0B;QACnBxB,eAAeyB;QAEf,QAAQ;QACRpB;QACAa;IACF;IACA,MAAMa,WAAW7C,aAAaoC,aAAaU;IAE3C,qBACE,KAAC5C;QACCG,OAAOA;QACP0C,kBAAkBhB,oBAAqB,CAAA,CAAC,CAAC1B,MAAM2C,MAAM,IAAI,CAAC,CAACtC,WAAWsC,MAAM,AAAD;QAC3EC,iBAAiBP;QACjBQ,oBAAoBP;QACpBQ,SAASP;QACTX,WAAW;YACT,GAAGA,SAAS;YACZQ,OAAO;gBACLN,YAAYU;gBACZxC,OAAOK;gBACPF,UAAUM;gBACV,GAAG0B,SAAS;YACd;QACF;QACArB,UAAUA;QACVE,UAAUA;QACVE,SAASC;QACTC,QAAQA;QACRE,IAAIA;QACJE,aAAaA;QACZ,GAAGK,SAAS;;AAGnB,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ChipsInput/useChipsInput.ts"],"sourcesContent":["import * as React from 'react';\nimport { escapeRegExp } from '@vkontakte/vkjs';\nimport { useCustomEnsuredControl, useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useNativeFormResetListener } from '../../hooks/useNativeFormResetListener';\nimport { simulateReactInput, type SimulateReactInputTargetState } from '../../lib/react';\nimport {\n DEFAULT_INPUT_VALUE,\n DEFAULT_VALUE,\n getNewOptionDataDefault,\n getOptionLabelDefault,\n getOptionValueDefault,\n} from '../ChipsInputBase/constants';\nimport { isValueLikeChipOptionObject } from '../ChipsInputBase/helpers';\nimport type {\n ChipOption,\n ChipOptionLabel,\n ChipOptionValue,\n GetNewOptionData,\n GetOptionLabel,\n GetOptionValue,\n UseChipsInputBaseProps,\n} from '../ChipsInputBase/types';\n\nexport const transformValue = <O extends ChipOption>(\n value: O[],\n getOptionValue: GetOptionValue<O>,\n getOptionLabel: GetOptionLabel<O>,\n): Array<\n O & {\n label: ChipOptionLabel;\n value: ChipOptionValue;\n }\n> =>\n value.map((option) => ({\n ...option,\n label: getOptionLabel(option),\n value: getOptionValue(option),\n }));\n\nfunction getRegExpFromArray(separators: string[]) {\n const validSeparators = separators.filter((s) => s.length > 0);\n if (validSeparators.length === 0) {\n return null;\n }\n const escaped = validSeparators.map((s) => escapeRegExp(s));\n return new RegExp(`(?:${escaped.join('|')})`);\n}\n\nfunction getRegexFromDelimiter(delimiter: string | RegExp | string[]): RegExp | null {\n if (delimiter instanceof RegExp) {\n return delimiter;\n }\n if (typeof delimiter === 'string') {\n return new RegExp(escapeRegExp(delimiter));\n }\n return getRegExpFromArray(delimiter);\n}\n\ninterface ToggleOption<O extends ChipOption> {\n (optionsForAdd: Array<O | string>, isNewValue: true): void;\n (optionsForRemove: Array<O | ChipOptionValue>, isNewValue: false): void;\n}\n\nexport interface UseChipsInputProps<O extends ChipOption = ChipOption>\n extends UseChipsInputBaseProps<O> {\n /**\n * Селектор значения.\n */\n getOptionValue?: GetOptionValue<O>;\n /**\n * Селектор пользовательского представления.\n */\n getOptionLabel?: GetOptionLabel<O>;\n /**\n * Функция для создания новой опции.\n */\n getNewOptionData?: GetNewOptionData<O>;\n}\n\nexport const useChipsInput = <O extends ChipOption>({\n // option\n value: valueProp,\n defaultValue = DEFAULT_VALUE,\n onChange,\n getOptionLabel = getOptionLabelDefault,\n getOptionValue = getOptionValueDefault,\n getNewOptionData = getNewOptionDataDefault,\n\n // input\n inputValue: inputValueProp,\n defaultInputValue = DEFAULT_INPUT_VALUE,\n onInputChange: onInputChangeProp,\n\n // other\n disabled,\n delimiter,\n}: UseChipsInputProps<O>): {\n value: Array<\n O & {\n label: ChipOptionLabel;\n value: ChipOptionValue;\n }\n >;\n addOption: (newValue: O | string) => void;\n addOptionFromInput: (inputValue: string) => void;\n removeOption: (newValue: O | ChipOptionValue) => void;\n clearOptions: () => void;\n inputRef: React.RefObject<(HTMLInputElement & SimulateReactInputTargetState) | null>;\n inputValue: string;\n onInputChange: (e: React.ChangeEvent<HTMLInputElement>, canCreate?: boolean) => any;\n clearInput: () => void;\n} => {\n const [value, setValue] = useCustomEnsuredControl({\n disabled,\n value: valueProp ? transformValue(valueProp, getOptionValue, getOptionLabel) : undefined,\n defaultValue: transformValue(defaultValue, getOptionValue, getOptionLabel),\n onChange,\n });\n\n const inputRef = React.useRef<(HTMLInputElement & SimulateReactInputTargetState) | null>(null);\n const [inputValue, setInputChange] = useEnsuredControl({\n disabled,\n value: inputValueProp,\n defaultValue: defaultInputValue,\n onChange: onInputChangeProp,\n });\n\n const toggleOption: ToggleOption<O> = React.useCallback(\n (nextValuesProp: Array<O | ChipOptionValue>, isNewValue: boolean) => {\n setValue((prevValue) => {\n const resolvedNextOptionsSet = new Set<ChipOptionValue>();\n const resolvedNextOptions = nextValuesProp.map((option) => {\n const isLikeObjectOption = isValueLikeChipOptionObject(option);\n const resolvedOption = isLikeObjectOption\n ? getNewOptionData(option.value, option.label)\n : getNewOptionData(option, typeof option === 'string' ? option : '');\n resolvedNextOptionsSet.add(resolvedOption.value);\n return isLikeObjectOption ? { ...option, ...resolvedOption } : resolvedOption;\n });\n\n const nextValue = prevValue.filter(\n (option: O) => !resolvedNextOptionsSet.has(option.value),\n );\n\n if (isNewValue) {\n nextValue.push(...resolvedNextOptions);\n }\n\n return nextValue;\n });\n },\n [setValue, getNewOptionData],\n );\n\n const clearInput = React.useCallback(() => {\n /* istanbul ignore if */\n if (!inputRef.current) {\n return;\n }\n simulateReactInput(inputRef.current, '');\n }, [inputRef]);\n\n const addOption = React.useCallback(\n (newValue: O | string) => toggleOption([newValue], true),\n [toggleOption],\n );\n\n const addOptions = React.useCallback(\n (newValues: Array<O | string>) => toggleOption(newValues, true),\n [toggleOption],\n );\n\n const removeOption = React.useCallback(\n (newValue: O | ChipOptionValue) => toggleOption([newValue], false),\n [toggleOption],\n );\n\n const addOptionFromInput = React.useCallback(\n (inputValue: string) => {\n const label = inputValue.trim();\n if (label) {\n addOption(label);\n clearInput();\n }\n },\n [addOption, clearInput],\n );\n\n const reset = React.useCallback(() => {\n setValue(defaultValue);\n }, [defaultValue, setValue]);\n\n const clearOptions = React.useCallback(() => {\n setValue(DEFAULT_VALUE);\n clearInput();\n }, [clearInput, setValue]);\n\n const onInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>, canCreate = true) => {\n const newInputValue = e.target.value;\n const delimiterRegex = delimiter ? getRegexFromDelimiter(delimiter) : null;\n if (!delimiterRegex || !delimiterRegex.test(newInputValue) || !canCreate) {\n setInputChange(e);\n return;\n }\n const values = newInputValue\n .trim()\n .split(delimiterRegex)\n .map((v) => v.trim())\n .filter(Boolean);\n\n e.target.value = '';\n e.currentTarget.value = '';\n setInputChange(e);\n\n addOptions(values);\n },\n [addOptions, delimiter, setInputChange],\n );\n\n useNativeFormResetListener(inputRef, reset);\n\n return {\n value,\n addOption,\n addOptionFromInput,\n removeOption,\n\n inputRef,\n inputValue,\n onInputChange,\n clearInput,\n clearOptions,\n };\n};\n"],"names":["React","escapeRegExp","useCustomEnsuredControl","useEnsuredControl","useNativeFormResetListener","simulateReactInput","DEFAULT_INPUT_VALUE","DEFAULT_VALUE","getNewOptionDataDefault","getOptionLabelDefault","getOptionValueDefault","isValueLikeChipOptionObject","transformValue","value","getOptionValue","getOptionLabel","map","option","label","getRegExpFromArray","separators","validSeparators","filter","s","length","escaped","RegExp","join","getRegexFromDelimiter","delimiter","useChipsInput","valueProp","defaultValue","onChange","getNewOptionData","inputValue","inputValueProp","defaultInputValue","onInputChange","onInputChangeProp","disabled","setValue","undefined","inputRef","useRef","setInputChange","toggleOption","useCallback","nextValuesProp","isNewValue","prevValue","resolvedNextOptionsSet","Set","resolvedNextOptions","isLikeObjectOption","resolvedOption","add","nextValue","has","push","clearInput","current","addOption","newValue","addOptions","newValues","removeOption","addOptionFromInput","trim","reset","clearOptions","e","canCreate","newInputValue","target","delimiterRegex","test","values","split","v","Boolean","currentTarget"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ChipsInput/useChipsInput.ts"],"sourcesContent":["import * as React from 'react';\nimport { escapeRegExp } from '@vkontakte/vkjs';\nimport { useCustomEnsuredControl, useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useNativeFormResetListener } from '../../hooks/useNativeFormResetListener';\nimport { simulateReactInput, type SimulateReactInputTargetState } from '../../lib/react';\nimport {\n DEFAULT_INPUT_VALUE,\n DEFAULT_VALUE,\n getNewOptionDataDefault,\n getOptionLabelDefault,\n getOptionValueDefault,\n} from '../ChipsInputBase/constants';\nimport { isValueLikeChipOptionObject } from '../ChipsInputBase/helpers';\nimport type {\n ChipOption,\n ChipOptionLabel,\n ChipOptionValue,\n GetNewOptionData,\n GetOptionLabel,\n GetOptionValue,\n UseChipsInputBaseProps,\n} from '../ChipsInputBase/types';\n\nexport const transformValue = <O extends ChipOption>(\n value: O[],\n getOptionValue: GetOptionValue<O>,\n getOptionLabel: GetOptionLabel<O>,\n): Array<\n O & {\n label: ChipOptionLabel;\n value: ChipOptionValue;\n }\n> =>\n value.map((option) => ({\n ...option,\n label: getOptionLabel(option),\n value: getOptionValue(option),\n }));\n\nfunction getRegExpFromArray(separators: string[]) {\n const validSeparators = separators.filter((s) => s.length > 0);\n if (validSeparators.length === 0) {\n return null;\n }\n const escaped = validSeparators.map((s) => escapeRegExp(s));\n return new RegExp(`(?:${escaped.join('|')})`);\n}\n\nfunction getRegexFromDelimiter(delimiter: string | RegExp | string[]): RegExp | null {\n if (delimiter instanceof RegExp) {\n return delimiter;\n }\n if (typeof delimiter === 'string') {\n return new RegExp(escapeRegExp(delimiter));\n }\n return getRegExpFromArray(delimiter);\n}\n\ninterface ToggleOption<O extends ChipOption> {\n (optionsForAdd: Array<O | string>, isNewValue: true): void;\n (optionsForRemove: Array<O | ChipOptionValue>, isNewValue: false): void;\n}\n\nexport interface UseChipsInputProps<O extends ChipOption = ChipOption>\n extends UseChipsInputBaseProps<O> {\n /**\n * Селектор значения.\n */\n getOptionValue?: GetOptionValue<O> | undefined;\n /**\n * Селектор пользовательского представления.\n */\n getOptionLabel?: GetOptionLabel<O> | undefined;\n /**\n * Функция для создания новой опции.\n */\n getNewOptionData?: GetNewOptionData<O> | undefined;\n}\n\nexport const useChipsInput = <O extends ChipOption>({\n // option\n value: valueProp,\n defaultValue = DEFAULT_VALUE,\n onChange,\n getOptionLabel = getOptionLabelDefault,\n getOptionValue = getOptionValueDefault,\n getNewOptionData = getNewOptionDataDefault,\n\n // input\n inputValue: inputValueProp,\n defaultInputValue = DEFAULT_INPUT_VALUE,\n onInputChange: onInputChangeProp,\n\n // other\n disabled,\n delimiter,\n}: UseChipsInputProps<O>): {\n value: Array<\n O & {\n label: ChipOptionLabel;\n value: ChipOptionValue;\n }\n >;\n addOption: (newValue: O | string) => void;\n addOptionFromInput: (inputValue: string) => void;\n removeOption: (newValue: O | ChipOptionValue) => void;\n clearOptions: () => void;\n inputRef: React.RefObject<(HTMLInputElement & SimulateReactInputTargetState) | null>;\n inputValue: string;\n onInputChange: (e: React.ChangeEvent<HTMLInputElement>, canCreate?: boolean) => any;\n clearInput: () => void;\n} => {\n const [value, setValue] = useCustomEnsuredControl({\n disabled,\n value: valueProp ? transformValue(valueProp, getOptionValue, getOptionLabel) : undefined,\n defaultValue: transformValue(defaultValue, getOptionValue, getOptionLabel),\n onChange,\n });\n\n const inputRef = React.useRef<(HTMLInputElement & SimulateReactInputTargetState) | null>(null);\n const [inputValue, setInputChange] = useEnsuredControl({\n disabled,\n value: inputValueProp,\n defaultValue: defaultInputValue,\n onChange: onInputChangeProp,\n });\n\n const toggleOption: ToggleOption<O> = React.useCallback(\n (nextValuesProp: Array<O | ChipOptionValue>, isNewValue: boolean) => {\n setValue((prevValue) => {\n const resolvedNextOptionsSet = new Set<ChipOptionValue>();\n const resolvedNextOptions = nextValuesProp.map((option) => {\n const isLikeObjectOption = isValueLikeChipOptionObject(option);\n const resolvedOption = isLikeObjectOption\n ? getNewOptionData(option.value, option.label)\n : getNewOptionData(option, typeof option === 'string' ? option : '');\n resolvedNextOptionsSet.add(resolvedOption.value);\n return isLikeObjectOption ? { ...option, ...resolvedOption } : resolvedOption;\n });\n\n const nextValue = prevValue.filter(\n (option: O) => !resolvedNextOptionsSet.has(option.value),\n );\n\n if (isNewValue) {\n nextValue.push(...resolvedNextOptions);\n }\n\n return nextValue;\n });\n },\n [setValue, getNewOptionData],\n );\n\n const clearInput = React.useCallback(() => {\n /* istanbul ignore if */\n if (!inputRef.current) {\n return;\n }\n simulateReactInput(inputRef.current, '');\n }, [inputRef]);\n\n const addOption = React.useCallback(\n (newValue: O | string) => toggleOption([newValue], true),\n [toggleOption],\n );\n\n const addOptions = React.useCallback(\n (newValues: Array<O | string>) => toggleOption(newValues, true),\n [toggleOption],\n );\n\n const removeOption = React.useCallback(\n (newValue: O | ChipOptionValue) => toggleOption([newValue], false),\n [toggleOption],\n );\n\n const addOptionFromInput = React.useCallback(\n (inputValue: string) => {\n const label = inputValue.trim();\n if (label) {\n addOption(label);\n clearInput();\n }\n },\n [addOption, clearInput],\n );\n\n const reset = React.useCallback(() => {\n setValue(defaultValue);\n }, [defaultValue, setValue]);\n\n const clearOptions = React.useCallback(() => {\n setValue(DEFAULT_VALUE);\n clearInput();\n }, [clearInput, setValue]);\n\n const onInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>, canCreate = true) => {\n const newInputValue = e.target.value;\n const delimiterRegex = delimiter ? getRegexFromDelimiter(delimiter) : null;\n if (!delimiterRegex || !delimiterRegex.test(newInputValue) || !canCreate) {\n setInputChange(e);\n return;\n }\n const values = newInputValue\n .trim()\n .split(delimiterRegex)\n .map((v) => v.trim())\n .filter(Boolean);\n\n e.target.value = '';\n e.currentTarget.value = '';\n setInputChange(e);\n\n addOptions(values);\n },\n [addOptions, delimiter, setInputChange],\n );\n\n useNativeFormResetListener(inputRef, reset);\n\n return {\n value,\n addOption,\n addOptionFromInput,\n removeOption,\n\n inputRef,\n inputValue,\n onInputChange,\n clearInput,\n clearOptions,\n };\n};\n"],"names":["React","escapeRegExp","useCustomEnsuredControl","useEnsuredControl","useNativeFormResetListener","simulateReactInput","DEFAULT_INPUT_VALUE","DEFAULT_VALUE","getNewOptionDataDefault","getOptionLabelDefault","getOptionValueDefault","isValueLikeChipOptionObject","transformValue","value","getOptionValue","getOptionLabel","map","option","label","getRegExpFromArray","separators","validSeparators","filter","s","length","escaped","RegExp","join","getRegexFromDelimiter","delimiter","useChipsInput","valueProp","defaultValue","onChange","getNewOptionData","inputValue","inputValueProp","defaultInputValue","onInputChange","onInputChangeProp","disabled","setValue","undefined","inputRef","useRef","setInputChange","toggleOption","useCallback","nextValuesProp","isNewValue","prevValue","resolvedNextOptionsSet","Set","resolvedNextOptions","isLikeObjectOption","resolvedOption","add","nextValue","has","push","clearInput","current","addOption","newValue","addOptions","newValues","removeOption","addOptionFromInput","trim","reset","clearOptions","e","canCreate","newInputValue","target","delimiterRegex","test","values","split","v","Boolean","currentTarget"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ChipsInputBase/Chip/Chip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../../hooks/useFocusVisibleClassName';\nimport type { HasComponent, HasDataAttribute, HTMLAttributesWithRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { Footnote } from '../../Typography/Footnote/Footnote';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport type { ChipOptionValue } from '../types';\nimport styles from './Chip.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n} as const;\n\nconst modeClassNames = {\n primary: styles.modePrimary,\n secondary: styles.modeSecondary,\n} as const;\n\nexport interface ChipProps\n extends HasComponent,\n HasDataAttribute,\n HTMLAttributesWithRootRef<HTMLElement> {\n /**\n * Режим отображения компонента.\n */\n mode?: 'primary' | 'secondary';\n /**\n * Значение чипа.\n */\n value?: ChipOptionValue;\n /**\n * Можно ли удалить чип.\n */\n removable?: boolean;\n /**\n * Блокировка взаимодействия с чипом.\n */\n disabled?: boolean;\n /**\n * Режим только для чтения.\n */\n readOnly?: boolean;\n /**\n * Текст для кнопки удаления.\n */\n removeLabel?: string;\n /**\n * Контент перед основным содержимым.\n */\n before?: React.ReactNode;\n /**\n * Контент после основного содержимого.\n */\n after?: React.ReactNode;\n /**\n * Обработчик удаления чипа.\n */\n onRemove?: (event: React.MouseEvent, value: ChipOptionValue) => void;\n}\n\n/**\n * @see https://vkui.io/components/chip\n */\nexport const Chip = ({\n mode = 'primary',\n Component = 'span',\n value = '',\n removable = true,\n onRemove,\n removeLabel = 'Удалить',\n before,\n after,\n disabled,\n readOnly,\n children,\n className,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n ...restProps\n}: ChipProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n const { focusVisible, onFocus, onBlur } = useFocusVisible();\n const focusVisibleClassName = useFocusVisibleClassName({ focusVisible });\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (onFocusProp) {\n onFocusProp(event);\n }\n onFocus(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (onBlurProp) {\n onBlurProp(event);\n }\n onBlur(event);\n };\n\n const onRemoveWrapper = React.useCallback(\n (event: React.MouseEvent) => {\n onRemove?.(event, value);\n },\n [onRemove, value],\n );\n\n return (\n <RootComponent\n {...restProps}\n Component={Component}\n className={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n modeClassNames[mode],\n focusVisibleClassName,\n className,\n )}\n aria-readonly={readOnly}\n aria-disabled={disabled}\n onFocus={disabled ? undefined : handleFocus}\n onBlur={disabled ? undefined : handleBlur}\n >\n <div className={styles.in}>\n {hasReactNode(before) && <div className={styles.before}>{before}</div>}\n <Footnote className={styles.content}>{children}</Footnote>\n {hasReactNode(after) && <div className={styles.after}>{after}</div>}\n </div>\n {!readOnly && removable && (\n <div className={styles.removable}>\n <button\n type=\"button\"\n tabIndex={-1} // [reason]: чтобы можно было выставлять состояние фокуса только программно через `*.focus()`\n disabled={disabled}\n className={styles.remove}\n onClick={disabled ? undefined : onRemoveWrapper}\n >\n <VisuallyHidden>\n {removeLabel} {children}\n </VisuallyHidden>\n <Icon16Cancel />\n </button>\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Cancel","classNames","hasReactNode","useAdaptivity","useFocusVisible","useFocusVisibleClassName","RootComponent","Footnote","VisuallyHidden","styles","densityClassNames","none","densityNone","compact","densityCompact","modeClassNames","primary","modePrimary","secondary","modeSecondary","Chip","mode","Component","value","removable","onRemove","removeLabel","before","after","disabled","readOnly","children","className","onFocus","onFocusProp","onBlur","onBlurProp","restProps","density","focusVisible","focusVisibleClassName","handleFocus","event","handleBlur","onRemoveWrapper","useCallback","host","aria-readonly","aria-disabled","undefined","div","in","content","button","type","tabIndex","remove","onClick"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,eAAe,QAAQ,oCAAiC;AACjE,SAASC,wBAAwB,QAAQ,6CAA0C;AAEnF,SAASC,aAAa,QAAQ,uCAAoC;AAClE,SAASC,QAAQ,QAAQ,wCAAqC;AAC9D,SAASC,cAAc,QAAQ,yCAAsC;AAErE,OAAOC,YAAY,oBAAoB;AAEvC,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAEA,MAAMC,iBAAiB;IACrBC,SAASP,OAAOQ,WAAW;IAC3BC,WAAWT,OAAOU,aAAa;AACjC;AA4CA;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,OAAO,SAAS,EAChBC,YAAY,MAAM,EAClBC,QAAQ,EAAE,EACVC,YAAY,IAAI,EAChBC,QAAQ,EACRC,cAAc,SAAS,EACvBC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,SAASC,WAAW,EACpBC,QAAQC,UAAU,EAClB,GAAGC,WACO;IACV,MAAM,EAAEC,UAAU,MAAM,EAAE,GAAGnC;IAC7B,MAAM,EAAEoC,YAAY,EAAEN,OAAO,EAAEE,MAAM,EAAE,GAAG/B;IAC1C,MAAMoC,wBAAwBnC,yBAAyB;QAAEkC;IAAa;IAEtE,MAAME,cAAc,CAACC;QACnB,IAAIR,aAAa;YACfA,YAAYQ;QACd;QACAT,QAAQS;IACV;IAEA,MAAMC,aAAa,CAACD;QAClB,IAAIN,YAAY;YACdA,WAAWM;QACb;QACAP,OAAOO;IACT;IAEA,MAAME,kBAAkB7C,MAAM8C,WAAW,CACvC,CAACH;QACCjB,WAAWiB,OAAOnB;IACpB,GACA;QAACE;QAAUF;KAAM;IAGnB,qBACE,MAACjB;QACE,GAAG+B,SAAS;QACbf,WAAWA;QACXU,WAAW/B,WACTQ,OAAOqC,IAAI,EACXR,YAAY,aAAa5B,iBAAiB,CAAC4B,QAAQ,EACnDvB,cAAc,CAACM,KAAK,EACpBmB,uBACAR;QAEFe,iBAAejB;QACfkB,iBAAenB;QACfI,SAASJ,WAAWoB,YAAYR;QAChCN,QAAQN,WAAWoB,YAAYN;;0BAE/B,MAACO;gBAAIlB,WAAWvB,OAAO0C,EAAE;;oBACtBjD,aAAayB,yBAAW,KAACuB;wBAAIlB,WAAWvB,OAAOkB,MAAM;kCAAGA;;kCACzD,KAACpB;wBAASyB,WAAWvB,OAAO2C,OAAO;kCAAGrB;;oBACrC7B,aAAa0B,wBAAU,KAACsB;wBAAIlB,WAAWvB,OAAOmB,KAAK;kCAAGA;;;;YAExD,CAACE,YAAYN,2BACZ,KAAC0B;gBAAIlB,WAAWvB,OAAOe,SAAS;0BAC9B,cAAA,MAAC6B;oBACCC,MAAK;oBACLC,UAAU,CAAC;oBACX1B,UAAUA;oBACVG,WAAWvB,OAAO+C,MAAM;oBACxBC,SAAS5B,WAAWoB,YAAYL;;sCAEhC,MAACpC;;gCAAe;gCACNkB;gCAAY;gCAAEK;;;sCAExB,KAAC/B;;;;;;AAMb,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ChipsInputBase/Chip/Chip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../../hooks/useFocusVisibleClassName';\nimport type { HasComponent, HasDataAttribute, HTMLAttributesWithRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { Footnote } from '../../Typography/Footnote/Footnote';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport type { ChipOptionValue } from '../types';\nimport styles from './Chip.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n} as const;\n\nconst modeClassNames = {\n primary: styles.modePrimary,\n secondary: styles.modeSecondary,\n} as const;\n\nexport interface ChipProps\n extends HasComponent,\n HasDataAttribute,\n HTMLAttributesWithRootRef<HTMLElement> {\n /**\n * Режим отображения компонента.\n */\n mode?: 'primary' | 'secondary' | undefined;\n /**\n * Значение чипа.\n */\n value?: ChipOptionValue | undefined;\n /**\n * Можно ли удалить чип.\n */\n removable?: boolean | undefined;\n /**\n * Блокировка взаимодействия с чипом.\n */\n disabled?: boolean | undefined;\n /**\n * Режим только для чтения.\n */\n readOnly?: boolean | undefined;\n /**\n * Текст для кнопки удаления.\n */\n removeLabel?: string | undefined;\n /**\n * Контент перед основным содержимым.\n */\n before?: React.ReactNode | undefined;\n /**\n * Контент после основного содержимого.\n */\n after?: React.ReactNode | undefined;\n /**\n * Обработчик удаления чипа.\n */\n onRemove?: ((event: React.MouseEvent, value: ChipOptionValue) => void) | undefined;\n}\n\n/**\n * @see https://vkui.io/components/chip\n */\nexport const Chip = ({\n mode = 'primary',\n Component = 'span',\n value = '',\n removable = true,\n onRemove,\n removeLabel = 'Удалить',\n before,\n after,\n disabled,\n readOnly,\n children,\n className,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n ...restProps\n}: ChipProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n const { focusVisible, onFocus, onBlur } = useFocusVisible();\n const focusVisibleClassName = useFocusVisibleClassName({ focusVisible });\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (onFocusProp) {\n onFocusProp(event);\n }\n onFocus(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (onBlurProp) {\n onBlurProp(event);\n }\n onBlur(event);\n };\n\n const onRemoveWrapper = React.useCallback(\n (event: React.MouseEvent) => {\n onRemove?.(event, value);\n },\n [onRemove, value],\n );\n\n return (\n <RootComponent\n {...restProps}\n Component={Component}\n className={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n modeClassNames[mode],\n focusVisibleClassName,\n className,\n )}\n aria-readonly={readOnly}\n aria-disabled={disabled}\n onFocus={disabled ? undefined : handleFocus}\n onBlur={disabled ? undefined : handleBlur}\n >\n <div className={styles.in}>\n {hasReactNode(before) && <div className={styles.before}>{before}</div>}\n <Footnote className={styles.content}>{children}</Footnote>\n {hasReactNode(after) && <div className={styles.after}>{after}</div>}\n </div>\n {!readOnly && removable && (\n <div className={styles.removable}>\n <button\n type=\"button\"\n tabIndex={-1} // [reason]: чтобы можно было выставлять состояние фокуса только программно через `*.focus()`\n disabled={disabled}\n className={styles.remove}\n onClick={disabled ? undefined : onRemoveWrapper}\n >\n <VisuallyHidden>\n {removeLabel} {children}\n </VisuallyHidden>\n <Icon16Cancel />\n </button>\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Cancel","classNames","hasReactNode","useAdaptivity","useFocusVisible","useFocusVisibleClassName","RootComponent","Footnote","VisuallyHidden","styles","densityClassNames","none","densityNone","compact","densityCompact","modeClassNames","primary","modePrimary","secondary","modeSecondary","Chip","mode","Component","value","removable","onRemove","removeLabel","before","after","disabled","readOnly","children","className","onFocus","onFocusProp","onBlur","onBlurProp","restProps","density","focusVisible","focusVisibleClassName","handleFocus","event","handleBlur","onRemoveWrapper","useCallback","host","aria-readonly","aria-disabled","undefined","div","in","content","button","type","tabIndex","remove","onClick"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,eAAe,QAAQ,oCAAiC;AACjE,SAASC,wBAAwB,QAAQ,6CAA0C;AAEnF,SAASC,aAAa,QAAQ,uCAAoC;AAClE,SAASC,QAAQ,QAAQ,wCAAqC;AAC9D,SAASC,cAAc,QAAQ,yCAAsC;AAErE,OAAOC,YAAY,oBAAoB;AAEvC,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAEA,MAAMC,iBAAiB;IACrBC,SAASP,OAAOQ,WAAW;IAC3BC,WAAWT,OAAOU,aAAa;AACjC;AA4CA;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,OAAO,SAAS,EAChBC,YAAY,MAAM,EAClBC,QAAQ,EAAE,EACVC,YAAY,IAAI,EAChBC,QAAQ,EACRC,cAAc,SAAS,EACvBC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,SAASC,WAAW,EACpBC,QAAQC,UAAU,EAClB,GAAGC,WACO;IACV,MAAM,EAAEC,UAAU,MAAM,EAAE,GAAGnC;IAC7B,MAAM,EAAEoC,YAAY,EAAEN,OAAO,EAAEE,MAAM,EAAE,GAAG/B;IAC1C,MAAMoC,wBAAwBnC,yBAAyB;QAAEkC;IAAa;IAEtE,MAAME,cAAc,CAACC;QACnB,IAAIR,aAAa;YACfA,YAAYQ;QACd;QACAT,QAAQS;IACV;IAEA,MAAMC,aAAa,CAACD;QAClB,IAAIN,YAAY;YACdA,WAAWM;QACb;QACAP,OAAOO;IACT;IAEA,MAAME,kBAAkB7C,MAAM8C,WAAW,CACvC,CAACH;QACCjB,WAAWiB,OAAOnB;IACpB,GACA;QAACE;QAAUF;KAAM;IAGnB,qBACE,MAACjB;QACE,GAAG+B,SAAS;QACbf,WAAWA;QACXU,WAAW/B,WACTQ,OAAOqC,IAAI,EACXR,YAAY,aAAa5B,iBAAiB,CAAC4B,QAAQ,EACnDvB,cAAc,CAACM,KAAK,EACpBmB,uBACAR;QAEFe,iBAAejB;QACfkB,iBAAenB;QACfI,SAASJ,WAAWoB,YAAYR;QAChCN,QAAQN,WAAWoB,YAAYN;;0BAE/B,MAACO;gBAAIlB,WAAWvB,OAAO0C,EAAE;;oBACtBjD,aAAayB,yBAAW,KAACuB;wBAAIlB,WAAWvB,OAAOkB,MAAM;kCAAGA;;kCACzD,KAACpB;wBAASyB,WAAWvB,OAAO2C,OAAO;kCAAGrB;;oBACrC7B,aAAa0B,wBAAU,KAACsB;wBAAIlB,WAAWvB,OAAOmB,KAAK;kCAAGA;;;;YAExD,CAACE,YAAYN,2BACZ,KAAC0B;gBAAIlB,WAAWvB,OAAOe,SAAS;0BAC9B,cAAA,MAAC6B;oBACCC,MAAK;oBACLC,UAAU,CAAC;oBACX1B,UAAUA;oBACVG,WAAWvB,OAAO+C,MAAM;oBACxBC,SAAS5B,WAAWoB,YAAYL;;sCAEhC,MAACpC;;gCAAe;gCACNkB;gCAAY;gCAAEK;;;sCAExB,KAAC/B;;;;;;AAMb,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ChipsInputBase/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { HasAlign, HasDataAttribute, HasRootRef } from '../../types';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport type { FormFieldClearButtonProps } from '../FormFieldClearButton/FormFieldClearButton';\nimport type { ChipProps } from './Chip/Chip';\n\nexport type NavigateTo = 'prev' | 'next' | 'last' | 'first';\n\nexport type ChipOptionValue = string | number;\n\nexport type ChipOptionLabel = React.ReactElement | string | number;\n\nexport type ChipOption = {\n /**\n * Значение опции.\n */\n value: ChipOptionValue;\n /**\n * Отображаемый текст опции.\n */\n label: ChipOptionLabel;\n /**\n * Блокировка взаимодействия с оцией.\n */\n disabled?: boolean;\n [index: string]: any;\n};\n\nexport interface RenderChipProps extends ChipProps {\n /**\n * Отображаемый текст чипа.\n */\n label: ChipOptionLabel;\n}\n\nexport type RenderChip<O extends ChipOption = ChipOption> = (\n props: RenderChipProps,\n option: O,\n) => React.ReactNode;\n\nexport type GetOptionValue<O extends ChipOption = ChipOption> = (option: O) => ChipOptionValue;\n\nexport type GetOptionLabel<O extends ChipOption = ChipOption> = (option: O) => ChipOptionLabel;\n\nexport type GetNewOptionData<O extends ChipOption = ChipOption> = (\n value: ChipOptionValue,\n label: ChipOptionLabel,\n) => O;\n\nexport type OnChange<O extends ChipOption = ChipOption> = (value: O[]) => void;\n\nexport type OnInputChange = (event: React.ChangeEvent<HTMLInputElement>) => void;\n\n/**\n * @public\n */\nexport interface UseChipsInputBaseProps<O extends ChipOption = ChipOption> {\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n /**\n * Выбранные опции.\n */\n value?: O[];\n /**\n * Выбранные опции по умолчанию.\n */\n defaultValue?: O[];\n /**\n * Обработчик изменения выбранных опций.\n */\n onChange?: OnChange<O
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ChipsInputBase/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { HasAlign, HasDataAttribute, HasRootRef } from '../../types';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport type { FormFieldClearButtonProps } from '../FormFieldClearButton/FormFieldClearButton';\nimport type { ChipProps } from './Chip/Chip';\n\nexport type NavigateTo = 'prev' | 'next' | 'last' | 'first';\n\nexport type ChipOptionValue = string | number;\n\nexport type ChipOptionLabel = React.ReactElement | string | number;\n\nexport type ChipOption = {\n /**\n * Значение опции.\n */\n value: ChipOptionValue;\n /**\n * Отображаемый текст опции.\n */\n label: ChipOptionLabel;\n /**\n * Блокировка взаимодействия с оцией.\n */\n disabled?: boolean | undefined;\n [index: string]: any;\n};\n\nexport interface RenderChipProps extends ChipProps {\n /**\n * Отображаемый текст чипа.\n */\n label: ChipOptionLabel;\n}\n\nexport type RenderChip<O extends ChipOption = ChipOption> = (\n props: RenderChipProps,\n option: O,\n) => React.ReactNode;\n\nexport type GetOptionValue<O extends ChipOption = ChipOption> = (option: O) => ChipOptionValue;\n\nexport type GetOptionLabel<O extends ChipOption = ChipOption> = (option: O) => ChipOptionLabel;\n\nexport type GetNewOptionData<O extends ChipOption = ChipOption> = (\n value: ChipOptionValue,\n label: ChipOptionLabel,\n) => O;\n\nexport type OnChange<O extends ChipOption = ChipOption> = (value: O[]) => void;\n\nexport type OnInputChange = (event: React.ChangeEvent<HTMLInputElement>) => void;\n\n/**\n * @public\n */\nexport interface UseChipsInputBaseProps<O extends ChipOption = ChipOption> {\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean | undefined;\n /**\n * Выбранные опции.\n */\n value?: O[] | undefined;\n /**\n * Выбранные опции по умолчанию.\n */\n defaultValue?: O[] | undefined;\n /**\n * Обработчик изменения выбранных опций.\n */\n onChange?: OnChange<O> | undefined;\n /**\n * Значение поля ввода.\n */\n inputValue?: string | undefined;\n /**\n * Значение поля ввода по умолчанию.\n */\n defaultInputValue?: string | undefined;\n /**\n * Обработчик изменения значения в поле ввода.\n */\n onInputChange?: OnInputChange | undefined;\n /**\n * Символ или строка, которая будет использоваться как разделитель для автоматического создания опций из текста, введенного в поле ввода.\n * Принимает:\n * - `string` - простая строка\n * - `RegExp` - регулярное выражение\n * - `string[]` - массив строк, по которым нужно разелять ввод.\n *\n * Работает в двух сценариях:\n * 1. При вводе разделителя - текст до разделителя автоматически преобразуется в новую опцию.\n * Например, при `delimiter=\",\"` ввод \"опция1,\" создаст опцию \"опция1\".\n *\n * 2. При вставке из буфера обмена - если вставляемый текст содержит разделители,\n * он будет автоматически разбит на несколько опций.\n * Например, при `delimiter=\",\"` вставка \"опция1,опция2,опция3\" создаст\n * три отдельные опции: \"опция1\", \"опция2\" и \"опция3\".\n */\n delimiter?: string | RegExp | string[] | undefined;\n}\n\n/**\n * @private\n */\ntype UseChipsInputBaseOnlyNeededProps<O extends ChipOption = ChipOption> = Omit<\n UseChipsInputBaseProps<O>,\n 'onChange' | 'defaultValue' | 'defaultInputValue'\n>;\n\n/**\n * @public\n */\nexport interface ChipsInputBaseProps<O extends ChipOption = ChipOption>\n extends UseChipsInputBaseOnlyNeededProps<O>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'readOnly' | 'onFocus' | 'onBlur' | 'placeholder'\n >,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur' | 'defaultValue'>,\n HasRootRef<HTMLDivElement>,\n HasAlign {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement> | undefined;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в поле ввода.\n */\n slotProps?:\n | {\n root?:\n | (React.HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute)\n | undefined;\n input?:\n | (React.InputHTMLAttributes<HTMLInputElement> &\n HasRootRef<HTMLInputElement> &\n HasDataAttribute)\n | undefined;\n }\n | undefined;\n /**\n * Добавляет значение в список на событие `onBlur`.\n */\n addOnBlur?: boolean | undefined;\n /**\n * Render prop функция для возврата своего компонента.\n *\n * @default Используется [Chip](#/Chip)\n */\n renderChip?: RenderChip<O> | undefined;\n /**\n * Показывать ли кнопку для очистки значения.\n */\n clearButtonShown?: boolean | undefined;\n /**\n * (e2e) testId кнопки очистки.\n */\n clearButtonTestId?: string | undefined;\n /**\n * Кастомная кнопка для очистки значения.\n * Должна принимать обязательное свойство `onClick`.\n */\n ClearButton?: React.ComponentType<FormFieldClearButtonProps> | undefined;\n /**\n * `aria-label` для списка выбранных опций.\n */\n chipsListLabel?: string | undefined;\n}\n\n/**\n * @private\n */\nexport interface ChipsInputBasePrivateProps<O extends ChipOption = ChipOption>\n extends ChipsInputBaseProps<O>,\n Pick<FormFieldProps, 'mode' | 'status' | 'before' | 'after' | 'maxHeight'> {\n /**\n * Обработчик очистки всех выбранных опций.\n */\n onClear: () => void;\n /**\n * Обработчик добавления новой опции чипа.\n */\n onAddChipOption: (value: string) => void;\n /**\n * Обработчик удаления опции чипа.\n */\n onRemoveChipOption: (value: O | ChipOptionValue) => void;\n}\n"],"names":[],"mappings":"AA8KA;;CAEC,GACD,WAeC"}
|