@vkontakte/vkui 5.2.0 → 5.2.2
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/README.md +6 -1
- package/dist/cjs/components/ActionSheet/ActionSheet.js +8 -8
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +4 -4
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +8 -8
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.d.ts +1 -1
- package/dist/cjs/components/Alert/Alert.js +13 -15
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +20 -12
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootPortal.js +2 -2
- package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.js +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
- package/dist/cjs/components/Avatar/Avatar.js +1 -1
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js +2 -2
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/BaseGallery/BaseGallery.js +4 -4
- package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cjs/components/BaseGallery/helpers.d.ts +1 -1
- package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
- package/dist/cjs/components/BaseGallery/types.d.ts +1 -1
- package/dist/cjs/components/BaseGallery/types.js.map +1 -1
- package/dist/cjs/components/Button/Button.d.ts +2 -2
- package/dist/cjs/components/Button/Button.js +15 -11
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.d.ts +2 -2
- package/dist/cjs/components/Calendar/Calendar.js +6 -6
- package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/components/CalendarDay/CalendarDay.js +1 -1
- package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -3
- package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js +4 -4
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +2 -2
- package/dist/cjs/components/CalendarRange/CalendarRange.js +3 -3
- package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cjs/components/CalendarTime/CalendarTime.js +3 -3
- package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cjs/components/CardGrid/CardGrid.js +8 -3
- package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js +2 -6
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.d.ts +1 -1
- package/dist/cjs/components/Cell/Cell.js +6 -6
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +1 -1
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cjs/components/Cell/CellDragger/CellDragger.js +1 -1
- package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +16 -10
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js +11 -6
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +4 -4
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -5
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js +5 -5
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.d.ts +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js +2 -2
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js +4 -4
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/cjs/components/CustomSelect/CustomSelect.js +8 -8
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +10 -5
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.d.ts +2 -2
- package/dist/cjs/components/DateInput/DateInput.js +15 -10
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.js +2 -2
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +2 -2
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js +15 -10
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.js +1 -1
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/Epic/ScrollSaver.js +1 -1
- package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cjs/components/File/File.d.ts +1 -1
- package/dist/cjs/components/File/File.js +2 -2
- package/dist/cjs/components/File/File.js.map +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.js +5 -5
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.js +8 -3
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js +11 -6
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cjs/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
- package/dist/cjs/components/Group/Group.js +14 -8
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +3 -3
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js +3 -3
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +3 -3
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.js +2 -2
- package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.d.ts +1 -1
- package/dist/cjs/components/IconButton/IconButton.js +13 -10
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/Image/Image.d.ts +1 -1
- package/dist/cjs/components/Image/Image.js.map +1 -1
- package/dist/cjs/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/cjs/components/ImageBase/ImageBase.d.ts +1 -1
- package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
- package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/cjs/components/ImageBase/validators.js +1 -1
- package/dist/cjs/components/ImageBase/validators.js.map +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cjs/components/Input/Input.d.ts +2 -2
- package/dist/cjs/components/Input/Input.js +12 -5
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/InputLike/InputLike.js +1 -1
- package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.js +5 -5
- package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +6 -6
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.js +9 -12
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +4 -4
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +12 -12
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +2 -2
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +6 -6
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/ModalRoot/useModalManager.js +3 -3
- package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.js +12 -9
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.js +12 -6
- package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
- package/dist/cjs/components/Panel/Panel.d.ts +1 -1
- package/dist/cjs/components/Panel/Panel.js +13 -7
- package/dist/cjs/components/Panel/Panel.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js +12 -11
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +7 -6
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +6 -5
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cjs/components/PlatformProvider/PlatformProvider.js +2 -2
- package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js +2 -2
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cjs/components/Popover/Popover.js +5 -5
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.d.ts +1 -1
- package/dist/cjs/components/Popper/Popper.js +3 -3
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/PopperArrow/PopperArrow.d.ts +1 -1
- package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/cjs/components/Progress/Progress.js +1 -1
- package/dist/cjs/components/Progress/Progress.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -2
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js +8 -8
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.js +12 -7
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.js +10 -5
- package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.js +4 -8
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCell.d.ts +5 -2
- package/dist/cjs/components/RichCell/RichCell.js +11 -4
- package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.d.ts +2 -0
- package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js +23 -0
- package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -0
- package/dist/cjs/components/RichTooltip/RichTooltip.js +1 -1
- package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cjs/components/Root/Root.js +8 -8
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +5 -5
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cjs/components/Search/Search.d.ts +1 -1
- package/dist/cjs/components/Search/Search.js +13 -8
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js +18 -18
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +3 -3
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +12 -9
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SelectTypography/SelectTypography.js +4 -4
- package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js +13 -7
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.d.ts +5 -2
- package/dist/cjs/components/Snackbar/Snackbar.js +8 -8
- package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.js +1 -1
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.js +9 -7
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +10 -5
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js +12 -7
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +2 -2
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js +3 -3
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/TabsItem/TabsItem.js +10 -5
- package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +1 -1
- package/dist/cjs/components/Tappable/Tappable.js +14 -14
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.d.ts +1 -1
- package/dist/cjs/components/Textarea/Textarea.js +10 -5
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +6 -6
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Touch/Touch.js +3 -3
- package/dist/cjs/components/Touch/Touch.js.map +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/cjs/components/Typography/Headline/Headline.js +9 -4
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js +8 -3
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Text/Text.js +9 -4
- package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.js +2 -2
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/View/View.js +12 -12
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.d.ts +2 -2
- package/dist/cjs/components/View/ViewInfinite.js +9 -9
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.js +4 -4
- package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +17 -7
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.d.ts +10 -0
- package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.js +22 -0
- package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.js.map +1 -0
- package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
- package/dist/cjs/hoc/withPlatform.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
- package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js +1 -1
- package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/cjs/hooks/useAutoDetectAppearance.js +1 -1
- package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
- package/dist/cjs/hooks/useCalendar.js.map +1 -1
- package/dist/cjs/hooks/useChipsSelect.d.ts +1 -1
- package/dist/cjs/hooks/useChipsSelect.js.map +1 -1
- package/dist/cjs/hooks/useDateInput.js +1 -1
- package/dist/cjs/hooks/useDateInput.js.map +1 -1
- package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
- package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/cjs/hooks/useTimeout.js +1 -1
- package/dist/cjs/hooks/useTimeout.js.map +1 -1
- package/dist/cjs/hooks/useTodayDate.js.map +1 -1
- package/dist/cjs/hooks/useWaitTransitionFinish.js +1 -1
- package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cjs/lib/SSR.js +3 -3
- package/dist/cjs/lib/SSR.js.map +1 -1
- package/dist/cjs/lib/adaptivity/constants.d.ts +7 -0
- package/dist/cjs/lib/adaptivity/constants.js +6 -1
- package/dist/cjs/lib/adaptivity/constants.js.map +1 -1
- package/dist/cjs/lib/adaptivity/functions.d.ts +9 -1
- package/dist/cjs/lib/adaptivity/functions.js +43 -0
- package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
- package/dist/cjs/lib/adaptivity/types.d.ts +2 -1
- package/dist/cjs/lib/adaptivity/types.js.map +1 -1
- package/dist/cjs/lib/calendar.js.map +1 -1
- package/dist/cjs/lib/floating/adapters.d.ts +1 -1
- package/dist/cjs/lib/floating/adapters.js.map +1 -1
- package/dist/cjs/lib/floating/functions.d.ts +1 -1
- package/dist/cjs/lib/floating/functions.js.map +1 -1
- package/dist/cjs/lib/platform.js +1 -1
- package/dist/cjs/lib/platform.js.map +1 -1
- package/dist/cjs/lib/select.js.map +1 -1
- package/dist/cjs/shared/breakpoints.d.ts +44 -0
- package/dist/cjs/shared/breakpoints.js +79 -13
- package/dist/cjs/shared/breakpoints.js.map +1 -1
- package/dist/cjs/types.d.ts +9 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +8 -8
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdown.js +4 -4
- package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +8 -8
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +1 -1
- package/dist/components/Alert/Alert.js +13 -15
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +20 -12
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.js +2 -2
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.js +1 -1
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.js +1 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/components/Banner/Banner.js +2 -2
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/BaseGallery/BaseGallery.js +4 -4
- package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/components/BaseGallery/helpers.d.ts +1 -1
- package/dist/components/BaseGallery/helpers.js.map +1 -1
- package/dist/components/BaseGallery/types.d.ts +1 -1
- package/dist/components/BaseGallery/types.js.map +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Button/Button.js +15 -11
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +2 -2
- package/dist/components/Calendar/Calendar.js +7 -7
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +1 -1
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js +3 -3
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +5 -5
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +2 -2
- package/dist/components/CalendarRange/CalendarRange.js +4 -4
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js +3 -3
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.js +8 -3
- package/dist/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.js +2 -6
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Cell/Cell.d.ts +1 -1
- package/dist/components/Cell/Cell.js +6 -6
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +16 -10
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Chip/Chip.js +11 -6
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.js +4 -4
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +5 -5
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +5 -5
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts +1 -1
- package/dist/components/ContentCard/ContentCard.js +2 -2
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js +4 -4
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/components/CustomSelect/CustomSelect.js +8 -8
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js +10 -5
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +2 -2
- package/dist/components/DateInput/DateInput.js +15 -10
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +2 -2
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +2 -2
- package/dist/components/DateRangeInput/DateRangeInput.js +15 -10
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/components/Epic/Epic.js +1 -1
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.js +1 -1
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/File/File.d.ts +1 -1
- package/dist/components/File/File.js +2 -2
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js +5 -5
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/FormField/FormField.js +8 -3
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormItem/FormItem.js +11 -6
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
- package/dist/components/Group/Group.js +14 -8
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.js +3 -3
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +3 -3
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +3 -3
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/components/HoverPopper/HoverPopper.js +2 -2
- package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/IconButton/IconButton.js +13 -10
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Image/Image.d.ts +1 -1
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/components/ImageBase/ImageBase.d.ts +1 -1
- package/dist/components/ImageBase/ImageBase.js +1 -1
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/components/ImageBase/validators.js +1 -1
- package/dist/components/ImageBase/validators.js.map +1 -1
- package/dist/components/InfoRow/InfoRow.js +1 -1
- package/dist/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/components/Input/Input.d.ts +2 -2
- package/dist/components/Input/Input.js +12 -5
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/InputLike/InputLike.js +1 -1
- package/dist/components/InputLike/InputLike.js.map +1 -1
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.js +5 -5
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +6 -6
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.js +9 -12
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js +4 -4
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +12 -12
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.js +2 -2
- package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js +6 -6
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.js +3 -3
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/components/NativeSelect/NativeSelect.js +12 -9
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Pagination/Pagination.js +12 -6
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +1 -1
- package/dist/components/Panel/Panel.js +13 -7
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +12 -11
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js +8 -7
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +6 -5
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +3 -3
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.js +1 -1
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js +2 -2
- package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/components/PopoutRoot/PopoutRoot.js +2 -2
- package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popover/Popover.js +5 -5
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +1 -1
- package/dist/components/Popper/Popper.js +4 -4
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PopperArrow/PopperArrow.d.ts +1 -1
- package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/components/Progress/Progress.js +1 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +2 -2
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +8 -8
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/Radio/Radio.js +12 -7
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/components/RangeSlider/UniversalSlider.js +10 -5
- package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/components/Removable/Removable.js +4 -8
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +5 -2
- package/dist/components/RichCell/RichCell.js +11 -4
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/RichCell/RichCellIcon/RichCellIcon.d.ts +2 -0
- package/dist/components/RichCell/RichCellIcon/RichCellIcon.js +14 -0
- package/dist/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -0
- package/dist/components/RichTooltip/RichTooltip.js +1 -1
- package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/components/Root/Root.js +8 -8
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js +5 -5
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/Search/Search.d.ts +1 -1
- package/dist/components/Search/Search.js +13 -8
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +18 -18
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/Select/Select.js +3 -3
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js +12 -9
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SelectTypography/SelectTypography.js +4 -4
- package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +13 -7
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +5 -2
- package/dist/components/Snackbar/Snackbar.js +8 -8
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Spinner/Spinner.js +1 -1
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.js +9 -7
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +10 -5
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.js +12 -7
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +2 -2
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.js +3 -3
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.js +10 -5
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +1 -1
- package/dist/components/Tappable/Tappable.js +14 -14
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/TextTooltip/TextTooltip.js +1 -1
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +1 -1
- package/dist/components/Textarea/Textarea.js +10 -5
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +6 -6
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Touch/Touch.js +3 -3
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.js +9 -4
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.js +8 -3
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Text/Text.js +9 -4
- package/dist/components/Typography/Text/Text.js.map +1 -1
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.js +2 -2
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/View.js +12 -12
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts +2 -2
- package/dist/components/View/ViewInfinite.js +9 -9
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.js +4 -4
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +18 -8
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIconRenderer.d.ts +10 -0
- package/dist/components/WriteBarIcon/WriteBarIconRenderer.js +14 -0
- package/dist/components/WriteBarIcon/WriteBarIconRenderer.js.map +1 -0
- package/dist/components.css +45 -44
- package/dist/components.css.map +1 -1
- package/dist/components.js.tmp +3177 -2863
- package/dist/cssm/components/ActionSheet/ActionSheet.js +8 -8
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +4 -4
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +8 -8
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.d.ts +1 -1
- package/dist/cssm/components/Alert/Alert.js +13 -15
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +20 -12
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.js +2 -2
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
- package/dist/cssm/components/Avatar/Avatar.js +1 -1
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js +2 -2
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.js +4 -4
- package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cssm/components/BaseGallery/helpers.d.ts +1 -1
- package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
- package/dist/cssm/components/BaseGallery/types.d.ts +1 -1
- package/dist/cssm/components/BaseGallery/types.js.map +1 -1
- package/dist/cssm/components/Button/Button.d.ts +2 -2
- package/dist/cssm/components/Button/Button.js +15 -11
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/Button/Button.module.css +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.d.ts +2 -2
- package/dist/cssm/components/Calendar/Calendar.js +7 -7
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js +3 -3
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +5 -5
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +2 -2
- package/dist/cssm/components/CalendarRange/CalendarRange.js +4 -4
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js +3 -3
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.js +8 -3
- package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.module.css +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +2 -6
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.d.ts +1 -1
- package/dist/cssm/components/Cell/Cell.js +6 -6
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +16 -10
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.module.css +1 -1
- package/dist/cssm/components/Chip/Chip.js +11 -6
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/Chip/Chip.module.css +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +4 -4
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -5
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +5 -5
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.d.ts +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +2 -2
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.module.css +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js +4 -4
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/cssm/components/CustomSelect/CustomSelect.js +8 -8
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +10 -5
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +1 -1
- package/dist/cssm/components/DateInput/DateInput.d.ts +2 -2
- package/dist/cssm/components/DateInput/DateInput.js +15 -10
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.module.css +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.js +2 -2
- package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +2 -2
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +15 -10
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.js +1 -1
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/File/File.d.ts +1 -1
- package/dist/cssm/components/File/File.js +2 -2
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -5
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.js +8 -3
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.module.css +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +11 -6
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.module.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
- package/dist/cssm/components/Group/Group.js +14 -8
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Group/Group.module.css +1 -1
- package/dist/cssm/components/Header/Header.js +3 -3
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/Header/Header.module.css +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -3
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -3
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.js +2 -2
- package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
- package/dist/cssm/components/IconButton/IconButton.js +13 -10
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.module.css +1 -1
- package/dist/cssm/components/Image/Image.d.ts +1 -1
- package/dist/cssm/components/Image/Image.js.map +1 -1
- package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.d.ts +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.module.css +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/cssm/components/ImageBase/validators.js +1 -1
- package/dist/cssm/components/ImageBase/validators.js.map +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cssm/components/Input/Input.d.ts +2 -2
- package/dist/cssm/components/Input/Input.js +12 -5
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/Input/Input.module.css +1 -1
- package/dist/cssm/components/InputLike/InputLike.js +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/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +5 -5
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +6 -6
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +9 -12
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +4 -4
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +12 -12
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +2 -2
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +6 -6
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js +3 -3
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +12 -9
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.js +12 -6
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.module.css +1 -1
- package/dist/cssm/components/Panel/Panel.d.ts +1 -1
- package/dist/cssm/components/Panel/Panel.js +13 -7
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.module.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +12 -11
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.module.css +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +8 -7
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +6 -5
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +3 -3
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js +2 -2
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js +2 -2
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.js +5 -5
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.d.ts +1 -1
- package/dist/cssm/components/Popper/Popper.js +4 -4
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.js +1 -1
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +2 -2
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +8 -8
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +12 -7
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.module.css +1 -1
- package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.js +10 -5
- package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.js +4 -8
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.module.css +1 -1
- package/dist/cssm/components/RichCell/RichCell.d.ts +5 -2
- package/dist/cssm/components/RichCell/RichCell.js +11 -4
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.module.css +1 -1
- package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.d.ts +2 -0
- package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js +15 -0
- package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -0
- package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.module.css +1 -0
- package/dist/cssm/components/RichTooltip/RichTooltip.js +1 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cssm/components/Root/Root.js +8 -8
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +5 -5
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/Search/Search.d.ts +1 -1
- package/dist/cssm/components/Search/Search.js +13 -8
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/Search/Search.module.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js +18 -18
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +1 -1
- package/dist/cssm/components/Select/Select.js +3 -3
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/Select/Select.module.css +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +12 -9
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.js +4 -4
- package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.module.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +13 -7
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.module.css +1 -1
- package/dist/cssm/components/Slider/Slider.module.css +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.d.ts +5 -2
- package/dist/cssm/components/Snackbar/Snackbar.js +8 -8
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.module.css +1 -1
- package/dist/cssm/components/Spinner/Spinner.js +1 -1
- package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +9 -7
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.module.css +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +10 -5
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +1 -1
- package/dist/cssm/components/Switch/Switch.js +12 -7
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.module.css +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -2
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.js +3 -3
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +10 -5
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.module.css +1 -1
- package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
- package/dist/cssm/components/Tappable/Tappable.js +14 -14
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.module.css +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.d.ts +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +10 -5
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.module.css +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +6 -6
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.js +3 -3
- 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/Footnote/Footnote.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js +9 -4
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.module.css +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js +8 -3
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.module.css +1 -1
- package/dist/cssm/components/Typography/Text/Text.js +9 -4
- package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.module.css +1 -1
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js +2 -2
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.module.css +1 -1
- package/dist/cssm/components/View/View.js +12 -12
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.d.ts +2 -2
- package/dist/cssm/components/View/ViewInfinite.js +9 -9
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +4 -4
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +18 -8
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.d.ts +10 -0
- package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.js +14 -0
- package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.js.map +1 -0
- package/dist/cssm/helpers/getPlatformClassName.js.map +1 -1
- package/dist/cssm/hoc/withPlatform.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
- package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +2 -2
- package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js +3 -3
- package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/cssm/hooks/useAutoDetectAppearance.js +1 -1
- package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
- package/dist/cssm/hooks/useCalendar.js +1 -1
- package/dist/cssm/hooks/useCalendar.js.map +1 -1
- package/dist/cssm/hooks/useChipsSelect.d.ts +1 -1
- package/dist/cssm/hooks/useChipsSelect.js.map +1 -1
- package/dist/cssm/hooks/useDateInput.js +1 -1
- package/dist/cssm/hooks/useDateInput.js.map +1 -1
- package/dist/cssm/hooks/useFocusVisible.js +1 -1
- package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
- package/dist/cssm/hooks/useMediaQueries.js.map +1 -1
- package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
- package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/cssm/hooks/useTimeout.js +1 -1
- package/dist/cssm/hooks/useTimeout.js.map +1 -1
- package/dist/cssm/hooks/useTodayDate.js.map +1 -1
- package/dist/cssm/hooks/useWaitTransitionFinish.js +1 -1
- package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cssm/lib/SSR.js +3 -3
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/adaptivity/constants.d.ts +7 -0
- package/dist/cssm/lib/adaptivity/constants.js +3 -0
- package/dist/cssm/lib/adaptivity/constants.js.map +1 -1
- package/dist/cssm/lib/adaptivity/functions.d.ts +9 -1
- package/dist/cssm/lib/adaptivity/functions.js +43 -1
- package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
- package/dist/cssm/lib/adaptivity/types.d.ts +2 -1
- package/dist/cssm/lib/adaptivity/types.js.map +1 -1
- package/dist/cssm/lib/calendar.js +1 -1
- package/dist/cssm/lib/calendar.js.map +1 -1
- package/dist/cssm/lib/floating/adapters.d.ts +1 -1
- package/dist/cssm/lib/floating/adapters.js.map +1 -1
- package/dist/cssm/lib/floating/functions.d.ts +1 -1
- package/dist/cssm/lib/floating/functions.js.map +1 -1
- package/dist/cssm/lib/platform.js +1 -1
- package/dist/cssm/lib/platform.js.map +1 -1
- package/dist/cssm/lib/select.js.map +1 -1
- package/dist/cssm/shared/breakpoints.d.ts +44 -0
- package/dist/cssm/shared/breakpoints.js +79 -13
- package/dist/cssm/shared/breakpoints.js.map +1 -1
- package/dist/cssm/styles/adaptivity.module.css +1 -1
- package/dist/cssm/types.d.ts +9 -1
- package/dist/cssm/types.js.map +1 -1
- package/dist/helpers/getPlatformClassName.js.map +1 -1
- package/dist/hoc/withPlatform.js.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
- package/dist/hooks/useAdaptivityConditionalRender/helpers.js +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +2 -2
- package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/hooks/useAdaptivityWithJSMediaQueries.js +3 -3
- package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/hooks/useAutoDetectAppearance.js +1 -1
- package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
- package/dist/hooks/useCalendar.js +1 -1
- package/dist/hooks/useCalendar.js.map +1 -1
- package/dist/hooks/useChipsSelect.d.ts +1 -1
- package/dist/hooks/useChipsSelect.js.map +1 -1
- package/dist/hooks/useDateInput.js +1 -1
- package/dist/hooks/useDateInput.js.map +1 -1
- package/dist/hooks/useFocusVisible.js +1 -1
- package/dist/hooks/useFocusVisible.js.map +1 -1
- package/dist/hooks/useMediaQueries.js.map +1 -1
- package/dist/hooks/usePatchChildrenRef.js +1 -1
- package/dist/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/hooks/useTimeout.js +1 -1
- package/dist/hooks/useTimeout.js.map +1 -1
- package/dist/hooks/useTodayDate.js.map +1 -1
- package/dist/hooks/useWaitTransitionFinish.js +1 -1
- package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/lib/SSR.js +3 -3
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/adaptivity/constants.d.ts +7 -0
- package/dist/lib/adaptivity/constants.js +3 -0
- package/dist/lib/adaptivity/constants.js.map +1 -1
- package/dist/lib/adaptivity/functions.d.ts +9 -1
- package/dist/lib/adaptivity/functions.js +43 -1
- package/dist/lib/adaptivity/functions.js.map +1 -1
- package/dist/lib/adaptivity/types.d.ts +2 -1
- package/dist/lib/adaptivity/types.js.map +1 -1
- package/dist/lib/calendar.js +1 -1
- package/dist/lib/calendar.js.map +1 -1
- package/dist/lib/floating/adapters.d.ts +1 -1
- package/dist/lib/floating/adapters.js.map +1 -1
- package/dist/lib/floating/functions.d.ts +1 -1
- package/dist/lib/floating/functions.js.map +1 -1
- package/dist/lib/platform.js +1 -1
- package/dist/lib/platform.js.map +1 -1
- package/dist/lib/select.js.map +1 -1
- package/dist/shared/breakpoints.d.ts +44 -0
- package/dist/shared/breakpoints.js +79 -13
- package/dist/shared/breakpoints.js.map +1 -1
- package/dist/types.d.ts +9 -1
- package/dist/types.js.map +1 -1
- package/dist/vkui.css +45 -44
- package/dist/vkui.css.map +1 -1
- package/dist/vkui.js.tmp +3177 -2863
- package/package.json +1 -1
- package/dist/cjs/helpers/getHoverClassName.d.ts +0 -2
- package/dist/cjs/helpers/getHoverClassName.js +0 -22
- package/dist/cjs/helpers/getHoverClassName.js.map +0 -1
- package/dist/cjs/helpers/getPointerClassName.d.ts +0 -2
- package/dist/cjs/helpers/getPointerClassName.js +0 -22
- package/dist/cjs/helpers/getPointerClassName.js.map +0 -1
- package/dist/cjs/helpers/getSizeXClassName.d.ts +0 -5
- package/dist/cjs/helpers/getSizeXClassName.js +0 -18
- package/dist/cjs/helpers/getSizeXClassName.js.map +0 -1
- package/dist/cjs/helpers/getSizeYClassName.d.ts +0 -5
- package/dist/cjs/helpers/getSizeYClassName.js +0 -18
- package/dist/cjs/helpers/getSizeYClassName.js.map +0 -1
- package/dist/cjs/helpers/getViewHeightClassName.d.ts +0 -3
- package/dist/cjs/helpers/getViewHeightClassName.js +0 -31
- package/dist/cjs/helpers/getViewHeightClassName.js.map +0 -1
- package/dist/cjs/helpers/getViewWidthClassName.d.ts +0 -3
- package/dist/cjs/helpers/getViewWidthClassName.js +0 -52
- package/dist/cjs/helpers/getViewWidthClassName.js.map +0 -1
- package/dist/cssm/helpers/getHoverClassName.d.ts +0 -2
- package/dist/cssm/helpers/getHoverClassName.js +0 -16
- package/dist/cssm/helpers/getHoverClassName.js.map +0 -1
- package/dist/cssm/helpers/getPointerClassName.d.ts +0 -2
- package/dist/cssm/helpers/getPointerClassName.js +0 -16
- package/dist/cssm/helpers/getPointerClassName.js.map +0 -1
- package/dist/cssm/helpers/getSizeXClassName.d.ts +0 -5
- package/dist/cssm/helpers/getSizeXClassName.js +0 -12
- package/dist/cssm/helpers/getSizeXClassName.js.map +0 -1
- package/dist/cssm/helpers/getSizeYClassName.d.ts +0 -5
- package/dist/cssm/helpers/getSizeYClassName.js +0 -12
- package/dist/cssm/helpers/getSizeYClassName.js.map +0 -1
- package/dist/cssm/helpers/getViewHeightClassName.d.ts +0 -3
- package/dist/cssm/helpers/getViewHeightClassName.js +0 -25
- package/dist/cssm/helpers/getViewHeightClassName.js.map +0 -1
- package/dist/cssm/helpers/getViewWidthClassName.d.ts +0 -3
- package/dist/cssm/helpers/getViewWidthClassName.js +0 -46
- package/dist/cssm/helpers/getViewWidthClassName.js.map +0 -1
- package/dist/helpers/getHoverClassName.d.ts +0 -2
- package/dist/helpers/getHoverClassName.js +0 -16
- package/dist/helpers/getHoverClassName.js.map +0 -1
- package/dist/helpers/getPointerClassName.d.ts +0 -2
- package/dist/helpers/getPointerClassName.js +0 -16
- package/dist/helpers/getPointerClassName.js.map +0 -1
- package/dist/helpers/getSizeXClassName.d.ts +0 -5
- package/dist/helpers/getSizeXClassName.js +0 -12
- package/dist/helpers/getSizeXClassName.js.map +0 -1
- package/dist/helpers/getSizeYClassName.d.ts +0 -5
- package/dist/helpers/getSizeYClassName.js +0 -12
- package/dist/helpers/getSizeYClassName.js.map +0 -1
- package/dist/helpers/getViewHeightClassName.d.ts +0 -3
- package/dist/helpers/getViewHeightClassName.js +0 -25
- package/dist/helpers/getViewHeightClassName.js.map +0 -1
- package/dist/helpers/getViewWidthClassName.d.ts +0 -3
- package/dist/helpers/getViewWidthClassName.js +0 -46
- package/dist/helpers/getViewWidthClassName.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipsInputBase.js","names":["chipsInputDefaultProps","onChange","noop","onInputChange","onKeyDown","onBlur","onFocus","value","inputValue","inputAriaLabel","getOptionValue","option","getOptionLabel","label","getNewOptionData","_","renderChip","props","disabled","rest","ChipsInputBase","propsWithDefault","style","className","getRootRef","children","getRef","placeholder","restProps","useAdaptivity","sizeY","React","useState","focused","setFocused","useChipsInput","fieldValue","addOptionFromInput","removeOption","selectedOptions","handleInputChange","inputRef","useExternRef","isDisabled","readOnly","handleKeyDown","e","preventDefault","key","defaultPrevented","length","handleBlur","handleFocus","handleChipRemove","undefined","handleClick","current","focus","classNames","getSizeYClassName","map","onRemove","Boolean"],"sources":["../../../../src/components/ChipsInputBase/ChipsInputBase.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { Chip, ChipOption, ChipValue, RenderChip } from '../Chip/Chip';\nimport { useChipsInput } from '../../hooks/useChipsInput';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport styles from './ChipsInputBase.module.css';\n\nexport interface ChipsInputBaseProps<Option extends ChipOption>\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLDivElement>,\n HasAlign {\n value: Option[];\n inputValue?: string;\n onChange?: (o: Option[]) => void;\n onInputChange?: (e?: React.ChangeEvent<HTMLInputElement>) => void;\n getOptionValue?: (o?: Option) => ChipValue;\n getOptionLabel?: (o?: Option) => string;\n getNewOptionData?: (v?: ChipValue, l?: string) => Option;\n renderChip?: (props?: RenderChip<Option>) => React.ReactNode;\n inputAriaLabel?: string;\n}\n\nexport const chipsInputDefaultProps: ChipsInputBaseProps<any> = {\n onChange: noop,\n onInputChange: noop,\n onKeyDown: noop,\n onBlur: noop,\n onFocus: noop,\n value: [],\n inputValue: '',\n inputAriaLabel: 'Введите ваше значение...',\n getOptionValue: (option) => option.value,\n getOptionLabel: (option) => option.label,\n getNewOptionData: (_, label) => ({\n value: label,\n label,\n }),\n renderChip(props) {\n if (!props) {\n return null;\n }\n\n const { disabled, value, label, ...rest } = props;\n return (\n <Chip value={value} removable={!disabled} {...rest}>\n {label}\n </Chip>\n );\n },\n};\n\nexport const ChipsInputBase = <Option extends ChipOption>(props: ChipsInputBaseProps<Option>) => {\n const propsWithDefault = { ...chipsInputDefaultProps, ...props };\n const {\n style,\n className,\n getRootRef,\n value,\n onChange,\n onInputChange,\n onKeyDown,\n onBlur,\n onFocus,\n children,\n inputValue,\n getRef,\n placeholder,\n getOptionValue,\n getOptionLabel,\n getNewOptionData,\n renderChip,\n inputAriaLabel,\n ...restProps\n } = propsWithDefault;\n const { sizeY } = useAdaptivity();\n\n const [focused, setFocused] = React.useState(false);\n const { fieldValue, addOptionFromInput, removeOption, selectedOptions, handleInputChange } =\n useChipsInput(propsWithDefault);\n const inputRef = useExternRef(getRef);\n\n const isDisabled = restProps.disabled || restProps.readOnly;\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n onKeyDown!(e);\n\n if (e.key === 'Backspace' && !e.defaultPrevented && !fieldValue && selectedOptions.length) {\n removeOption(getOptionValue!(selectedOptions[selectedOptions.length - 1]));\n e.preventDefault();\n }\n\n if (e.key === 'Enter' && !e.defaultPrevented && fieldValue) {\n addOptionFromInput();\n e.preventDefault();\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n if (focused) {\n setFocused(false);\n }\n onBlur!(e);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n setFocused(true);\n }\n onFocus!(e);\n };\n\n const handleChipRemove = (_: React.MouseEvent | undefined, value: ChipValue | undefined) => {\n if (value !== undefined) {\n removeOption(value);\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n if (inputRef?.current !== null && !focused) {\n inputRef.current.focus();\n }\n };\n\n return (\n <div\n onClick={handleClick}\n role=\"presentation\"\n style={style}\n className={classNames(\n styles['ChipsInputBase'],\n getSizeYClassName(styles['ChipsInputBase'], sizeY),\n className,\n )}\n ref={getRootRef}\n >\n {selectedOptions.map((option: Option) => {\n const value = getOptionValue!(option);\n const label = getOptionLabel!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderChip!({\n option,\n value,\n label,\n onRemove: handleChipRemove,\n disabled: Boolean(restProps.disabled),\n className: styles['ChipsInputBase__chip'],\n })}\n </React.Fragment>\n );\n })}\n <label className={styles['ChipsInputBase__label']} aria-label={inputAriaLabel}>\n <input\n type=\"text\"\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck={false}\n aria-autocomplete=\"list\"\n className={styles['ChipsInputBase__el']}\n {...restProps}\n ref={inputRef}\n value={fieldValue}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={selectedOptions.length ? undefined : placeholder}\n />\n </label>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChipsInputBase.js","names":["chipsInputDefaultProps","onChange","noop","onInputChange","onKeyDown","onBlur","onFocus","value","inputValue","inputAriaLabel","getOptionValue","option","getOptionLabel","label","getNewOptionData","_","renderChip","props","disabled","rest","ChipsInputBase","propsWithDefault","style","className","getRootRef","children","getRef","placeholder","restProps","useAdaptivity","sizeY","React","useState","focused","setFocused","useChipsInput","fieldValue","addOptionFromInput","removeOption","selectedOptions","handleInputChange","inputRef","useExternRef","isDisabled","readOnly","handleKeyDown","e","preventDefault","key","defaultPrevented","length","handleBlur","handleFocus","handleChipRemove","undefined","handleClick","current","focus","classNames","SizeType","COMPACT","map","onRemove","Boolean"],"sources":["../../../../src/components/ChipsInputBase/ChipsInputBase.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useChipsInput } from '../../hooks/useChipsInput';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { SizeType } from '../../lib/adaptivity';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { Chip, ChipOption, ChipValue, RenderChip } from '../Chip/Chip';\nimport styles from './ChipsInputBase.module.css';\n\nexport interface ChipsInputBaseProps<Option extends ChipOption>\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLDivElement>,\n HasAlign {\n value: Option[];\n inputValue?: string;\n onChange?: (o: Option[]) => void;\n onInputChange?: (e?: React.ChangeEvent<HTMLInputElement>) => void;\n getOptionValue?: (o?: Option) => ChipValue;\n getOptionLabel?: (o?: Option) => string;\n getNewOptionData?: (v?: ChipValue, l?: string) => Option;\n renderChip?: (props?: RenderChip<Option>) => React.ReactNode;\n inputAriaLabel?: string;\n}\n\nexport const chipsInputDefaultProps: ChipsInputBaseProps<any> = {\n onChange: noop,\n onInputChange: noop,\n onKeyDown: noop,\n onBlur: noop,\n onFocus: noop,\n value: [],\n inputValue: '',\n inputAriaLabel: 'Введите ваше значение...',\n getOptionValue: (option) => option.value,\n getOptionLabel: (option) => option.label,\n getNewOptionData: (_, label) => ({\n value: label,\n label,\n }),\n renderChip(props) {\n if (!props) {\n return null;\n }\n\n const { disabled, value, label, ...rest } = props;\n return (\n <Chip value={value} removable={!disabled} {...rest}>\n {label}\n </Chip>\n );\n },\n};\n\nexport const ChipsInputBase = <Option extends ChipOption>(props: ChipsInputBaseProps<Option>) => {\n const propsWithDefault = { ...chipsInputDefaultProps, ...props };\n const {\n style,\n className,\n getRootRef,\n value,\n onChange,\n onInputChange,\n onKeyDown,\n onBlur,\n onFocus,\n children,\n inputValue,\n getRef,\n placeholder,\n getOptionValue,\n getOptionLabel,\n getNewOptionData,\n renderChip,\n inputAriaLabel,\n ...restProps\n } = propsWithDefault;\n const { sizeY } = useAdaptivity();\n\n const [focused, setFocused] = React.useState(false);\n const { fieldValue, addOptionFromInput, removeOption, selectedOptions, handleInputChange } =\n useChipsInput(propsWithDefault);\n const inputRef = useExternRef(getRef);\n\n const isDisabled = restProps.disabled || restProps.readOnly;\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n onKeyDown!(e);\n\n if (e.key === 'Backspace' && !e.defaultPrevented && !fieldValue && selectedOptions.length) {\n removeOption(getOptionValue!(selectedOptions[selectedOptions.length - 1]));\n e.preventDefault();\n }\n\n if (e.key === 'Enter' && !e.defaultPrevented && fieldValue) {\n addOptionFromInput();\n e.preventDefault();\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n if (focused) {\n setFocused(false);\n }\n onBlur!(e);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n setFocused(true);\n }\n onFocus!(e);\n };\n\n const handleChipRemove = (_: React.MouseEvent | undefined, value: ChipValue | undefined) => {\n if (value !== undefined) {\n removeOption(value);\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n if (inputRef?.current !== null && !focused) {\n inputRef.current.focus();\n }\n };\n\n return (\n <div\n onClick={handleClick}\n role=\"presentation\"\n style={style}\n className={classNames(\n styles['ChipsInputBase'],\n sizeY === SizeType.COMPACT && styles['ChipsInputBase--sizeY-compact'],\n className,\n )}\n ref={getRootRef}\n >\n {selectedOptions.map((option: Option) => {\n const value = getOptionValue!(option);\n const label = getOptionLabel!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderChip!({\n option,\n value,\n label,\n onRemove: handleChipRemove,\n disabled: Boolean(restProps.disabled),\n className: styles['ChipsInputBase__chip'],\n })}\n </React.Fragment>\n );\n })}\n <label className={styles['ChipsInputBase__label']} aria-label={inputAriaLabel}>\n <input\n type=\"text\"\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck={false}\n aria-autocomplete=\"list\"\n className={styles['ChipsInputBase__el']}\n {...restProps}\n ref={inputRef}\n value={fieldValue}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={selectedOptions.length ? undefined : placeholder}\n />\n </label>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -12,19 +12,19 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
12
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
13
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
14
14
|
var React = _interopRequireWildcard(require("react"));
|
|
15
|
-
var _DropdownIcon = require("../DropdownIcon/DropdownIcon");
|
|
16
15
|
var _vkjs = require("@vkontakte/vkjs");
|
|
17
|
-
var _ChipsInputBase = require("../ChipsInputBase/ChipsInputBase");
|
|
18
|
-
var _CustomSelectOption = require("../CustomSelectOption/CustomSelectOption");
|
|
19
16
|
var _useChipsSelect2 = require("../../hooks/useChipsSelect");
|
|
20
|
-
var _dom = require("../../lib/dom");
|
|
21
|
-
var _Footnote = require("../Typography/Footnote/Footnote");
|
|
22
17
|
var _useExternRef = require("../../hooks/useExternRef");
|
|
23
18
|
var _useGlobalEventListener = require("../../hooks/useGlobalEventListener");
|
|
19
|
+
var _dom = require("../../lib/dom");
|
|
24
20
|
var _select = require("../../lib/select");
|
|
21
|
+
var _ChipsInputBase = require("../ChipsInputBase/ChipsInputBase");
|
|
25
22
|
var _CustomSelectDropdown = require("../CustomSelectDropdown/CustomSelectDropdown");
|
|
23
|
+
var _CustomSelectOption = require("../CustomSelectOption/CustomSelectOption");
|
|
24
|
+
var _DropdownIcon = require("../DropdownIcon/DropdownIcon");
|
|
26
25
|
var _FormField = require("../FormField/FormField");
|
|
27
26
|
var _IconButton = require("../IconButton/IconButton");
|
|
27
|
+
var _Footnote = require("../Typography/Footnote/Footnote");
|
|
28
28
|
var _excluded = ["style", "onFocus", "onKeyDown", "className", "fetching", "renderOption", "emptyText", "getRef", "getRootRef", "disabled", "placeholder", "tabIndex", "getOptionValue", "getOptionLabel", "showSelected", "getNewOptionData", "renderChip", "popupDirection", "creatable", "filterFn", "inputValue", "creatableText", "closeAfterSelect", "onChangeStart", "before", "options", "fixDropdownWidth", "forceDropdownPortal"];
|
|
29
29
|
var FOCUS_ACTION_NEXT = 'next';
|
|
30
30
|
var FOCUS_ACTION_PREV = 'prev';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipsSelect.js","names":["FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","chipsInputDefaultProps","emptyText","creatableText","onChangeStart","noop","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","defaultFilterFn","renderOption","props","ChipsSelect","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","before","fixDropdownWidth","forceDropdownPortal","restProps","useDOM","document","React","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","useExternRef","useChipsSelect","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","target","current","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","option","includes","useEffect","findIndex","value","useGlobalEventListener","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","toggleOpened","prevOpened","classNames","readOnly","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter"],"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { ChipOption, ChipValue, RenderChip } from '../Chip/Chip';\nimport { ChipsInputProps } from '../ChipsInput/ChipsInput';\nimport { ChipsInputBase, chipsInputDefaultProps } from '../ChipsInputBase/ChipsInputBase';\nimport {\n CustomSelectOption,\n CustomSelectOptionProps,\n} from '../CustomSelectOption/CustomSelectOption';\nimport { useChipsSelect } from '../../hooks/useChipsSelect';\nimport { useDOM } from '../../lib/dom';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { defaultFilterFn } from '../../lib/select';\nimport type { Placement } from '../../lib/floating';\nimport { CustomSelectDropdown } from '../CustomSelectDropdown/CustomSelectDropdown';\nimport { FormField } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport styles from './ChipsSelect.module.css';\n\nexport interface ChipsSelectProps<Option extends ChipOption>\n extends Omit<ChipsInputProps<Option>, 'after'> {\n popupDirection?: 'top' | 'bottom';\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<ChipsInputProps<Option>, 'getOptionLabel'>['getOptionLabel'],\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (e: React.MouseEvent | React.KeyboardEvent, option: Option) => void;\n /**\n * Закрытие выпадающего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n fixDropdownWidth?: boolean;\n forceDropdownPortal?: boolean;\n}\n\ntype FocusActionType = 'next' | 'prev';\n\nconst FOCUS_ACTION_NEXT: FocusActionType = 'next';\nconst FOCUS_ACTION_PREV: FocusActionType = 'prev';\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: 'Ничего не найдено',\n creatableText: 'Создать значение',\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption(props) {\n return <CustomSelectOption {...props} />;\n },\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ChipsSelect\n */\nexport const ChipsSelect = <Option extends ChipOption>(props: ChipsSelectProps<Option>) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n closeAfterSelect,\n onChangeStart,\n before,\n options,\n fixDropdownWidth,\n forceDropdownPortal,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<Placement | undefined>(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue,\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n if (e.target !== rootRef.current && !rootRef.current?.contains(e.target as Node)) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: FocusActionType) => {\n let index = typeof nextIndex !== 'number' ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === 'ArrowUp' && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === 'ArrowDown' && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (e.key === 'Enter' && !e.defaultPrevented && opened && focusedOptionIndex != null) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if (['Escape', 'Tab'].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (index === -1 && !!filteredOptions.length && !showCreatable && closeAfterSelect) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [filteredOptions, focusedOption, showCreatable, closeAfterSelect, setFocusedOption]);\n\n useGlobalEventListener(document, 'click', handleClickOutside);\n\n const renderChipWrapper = (renderChipProps: RenderChip<Option> | undefined) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (e: React.MouseEvent | undefined, value: ChipValue | undefined) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes('top');\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement],\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n const toggleOpened = () => {\n setOpened((prevOpened) => !prevOpened);\n };\n\n return (\n <>\n <FormField\n getRootRef={rootRef}\n style={style}\n className={classNames(\n styles['ChipsSelect'],\n opened &&\n (isPopperDirectionTop\n ? styles['ChipsSelect--pop-up']\n : styles['ChipsSelect--pop-down']),\n className,\n )}\n disabled={disabled}\n role=\"application\"\n aria-disabled={disabled}\n aria-readonly={restProps.readOnly}\n after={\n <IconButton\n className={styles['ChipsSelect__dropdown']}\n activeMode=\"\"\n hoverMode=\"\"\n // TODO: add label customization\n aria-label={opened ? 'Скрыть' : 'Развернуть'}\n onClick={toggleOpened}\n >\n <DropdownIcon className={styles['ChipsSelect__icon']} opened={opened} />\n </IconButton>\n }\n before={before}\n >\n <ChipsInputBase\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n />\n </FormField>\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n className={styles['ChipsSelect__options']}\n sameWidth={fixDropdownWidth}\n forcePortal={forceDropdownPortal}\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Footnote className={styles['ChipsSelect__empty']}>{emptyText}</Footnote>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption && getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find((selectedOption: Option) => {\n return getOptionValue!(selectedOption) === getOptionValue!(option);\n });\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: styles['ChipsSelect__option'],\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChipsSelect.js","names":["FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","chipsInputDefaultProps","emptyText","creatableText","onChangeStart","noop","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","defaultFilterFn","renderOption","props","ChipsSelect","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","before","fixDropdownWidth","forceDropdownPortal","restProps","useDOM","document","React","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","useExternRef","useChipsSelect","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","target","current","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","option","includes","useEffect","findIndex","value","useGlobalEventListener","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","toggleOpened","prevOpened","classNames","readOnly","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter"],"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useChipsSelect } from '../../hooks/useChipsSelect';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport type { Placement } from '../../lib/floating';\nimport { defaultFilterFn } from '../../lib/select';\nimport { ChipOption, ChipValue, RenderChip } from '../Chip/Chip';\nimport { ChipsInputProps } from '../ChipsInput/ChipsInput';\nimport { ChipsInputBase, chipsInputDefaultProps } from '../ChipsInputBase/ChipsInputBase';\nimport { CustomSelectDropdown } from '../CustomSelectDropdown/CustomSelectDropdown';\nimport {\n CustomSelectOption,\n CustomSelectOptionProps,\n} from '../CustomSelectOption/CustomSelectOption';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './ChipsSelect.module.css';\n\nexport interface ChipsSelectProps<Option extends ChipOption>\n extends Omit<ChipsInputProps<Option>, 'after'> {\n popupDirection?: 'top' | 'bottom';\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<ChipsInputProps<Option>, 'getOptionLabel'>['getOptionLabel'],\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (e: React.MouseEvent | React.KeyboardEvent, option: Option) => void;\n /**\n * Закрытие выпадающего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n fixDropdownWidth?: boolean;\n forceDropdownPortal?: boolean;\n}\n\ntype FocusActionType = 'next' | 'prev';\n\nconst FOCUS_ACTION_NEXT: FocusActionType = 'next';\nconst FOCUS_ACTION_PREV: FocusActionType = 'prev';\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: 'Ничего не найдено',\n creatableText: 'Создать значение',\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption(props) {\n return <CustomSelectOption {...props} />;\n },\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ChipsSelect\n */\nexport const ChipsSelect = <Option extends ChipOption>(props: ChipsSelectProps<Option>) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n closeAfterSelect,\n onChangeStart,\n before,\n options,\n fixDropdownWidth,\n forceDropdownPortal,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<Placement | undefined>(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue,\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n if (e.target !== rootRef.current && !rootRef.current?.contains(e.target as Node)) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: FocusActionType) => {\n let index = typeof nextIndex !== 'number' ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === 'ArrowUp' && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === 'ArrowDown' && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (e.key === 'Enter' && !e.defaultPrevented && opened && focusedOptionIndex != null) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if (['Escape', 'Tab'].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (index === -1 && !!filteredOptions.length && !showCreatable && closeAfterSelect) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [filteredOptions, focusedOption, showCreatable, closeAfterSelect, setFocusedOption]);\n\n useGlobalEventListener(document, 'click', handleClickOutside);\n\n const renderChipWrapper = (renderChipProps: RenderChip<Option> | undefined) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (e: React.MouseEvent | undefined, value: ChipValue | undefined) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes('top');\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement],\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n const toggleOpened = () => {\n setOpened((prevOpened) => !prevOpened);\n };\n\n return (\n <>\n <FormField\n getRootRef={rootRef}\n style={style}\n className={classNames(\n styles['ChipsSelect'],\n opened &&\n (isPopperDirectionTop\n ? styles['ChipsSelect--pop-up']\n : styles['ChipsSelect--pop-down']),\n className,\n )}\n disabled={disabled}\n role=\"application\"\n aria-disabled={disabled}\n aria-readonly={restProps.readOnly}\n after={\n <IconButton\n className={styles['ChipsSelect__dropdown']}\n activeMode=\"\"\n hoverMode=\"\"\n // TODO: add label customization\n aria-label={opened ? 'Скрыть' : 'Развернуть'}\n onClick={toggleOpened}\n >\n <DropdownIcon className={styles['ChipsSelect__icon']} opened={opened} />\n </IconButton>\n }\n before={before}\n >\n <ChipsInputBase\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n />\n </FormField>\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n className={styles['ChipsSelect__options']}\n sameWidth={fixDropdownWidth}\n forcePortal={forceDropdownPortal}\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Footnote className={styles['ChipsSelect__empty']}>{emptyText}</Footnote>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption && getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find((selectedOption: Option) => {\n return getOptionValue!(selectedOption) === getOptionValue!(option);\n });\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: styles['ChipsSelect__option'],\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -8,14 +8,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.ConfigProvider = void 0;
|
|
9
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
var
|
|
12
|
-
var _tokensClassProvider = require("../../lib/tokensClassProvider");
|
|
13
|
-
var _useObjectMemo = require("../../hooks/useObjectMemo");
|
|
11
|
+
var _vkjs = require("@vkontakte/vkjs");
|
|
14
12
|
var _generateVKUITokensClassName = require("../../helpers/generateVKUITokensClassName");
|
|
15
13
|
var _useAutoDetectAppearance = require("../../hooks/useAutoDetectAppearance");
|
|
16
|
-
var
|
|
17
|
-
var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
|
|
14
|
+
var _useObjectMemo = require("../../hooks/useObjectMemo");
|
|
18
15
|
var _dom = require("../../lib/dom");
|
|
16
|
+
var _tokensClassProvider = require("../../lib/tokensClassProvider");
|
|
17
|
+
var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
|
|
18
|
+
var _ConfigProviderContext = require("./ConfigProviderContext");
|
|
19
19
|
/**
|
|
20
20
|
* @see https://vkcom.github.io/VKUI/#/ConfigProvider
|
|
21
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigProvider.js","names":["ConfigProvider","props","parentConfig","useConfigProvider","children","webviewType","isWebView","transitionMotionEnabled","platform","locale","appearanceProp","appearance","onDetectAppearanceByBridge","noop","useAutoDetectAppearance","useDOM","document","useIsomorphicLayoutEffect","VKUITokensClassName","generateVKUITokensClassName","body","classList","add","remove","configContext","useObjectMemo"],"sources":["../../../../src/components/ConfigProvider/ConfigProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"ConfigProvider.js","names":["ConfigProvider","props","parentConfig","useConfigProvider","children","webviewType","isWebView","transitionMotionEnabled","platform","locale","appearanceProp","appearance","onDetectAppearanceByBridge","noop","useAutoDetectAppearance","useDOM","document","useIsomorphicLayoutEffect","VKUITokensClassName","generateVKUITokensClassName","body","classList","add","remove","configContext","useObjectMemo"],"sources":["../../../../src/components/ConfigProvider/ConfigProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { generateVKUITokensClassName } from '../../helpers/generateVKUITokensClassName';\nimport { useAutoDetectAppearance } from '../../hooks/useAutoDetectAppearance';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { useDOM } from '../../lib/dom';\nimport { TokensClassProvider } from '../../lib/tokensClassProvider';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n useConfigProvider,\n} from './ConfigProviderContext';\n\nexport interface ConfigProviderProps extends Partial<ConfigProviderContextInterface> {\n onDetectAppearanceByBridge?: () => void;\n children: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ConfigProvider\n */\nexport const ConfigProvider = (props: ConfigProviderProps) => {\n const parentConfig = useConfigProvider();\n\n const {\n children,\n webviewType,\n isWebView,\n transitionMotionEnabled,\n platform,\n locale,\n appearance: appearanceProp,\n onDetectAppearanceByBridge = noop,\n } = {\n ...parentConfig,\n ...props,\n };\n\n const appearance = useAutoDetectAppearance(appearanceProp, onDetectAppearanceByBridge);\n\n const { document } = useDOM();\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(platform, appearance);\n\n // eslint-disable-next-line no-restricted-properties\n document!.body.classList.add(VKUITokensClassName);\n\n return () => {\n // eslint-disable-next-line no-restricted-properties\n document!.body.classList.remove(VKUITokensClassName);\n };\n }, [platform, appearance]);\n\n const configContext = useObjectMemo({\n webviewType,\n isWebView,\n transitionMotionEnabled,\n platform,\n locale,\n appearance,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <TokensClassProvider platform={platform} appearance={appearance}>\n {children}\n </TokensClassProvider>\n </ConfigProviderContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAWA;AACA;AACA;AACO,IAAMA,cAAc,GAAG,SAAjBA,cAAc,CAAIC,KAA0B,EAAK;EAC5D,IAAMC,YAAY,GAAG,IAAAC,wCAAiB,GAAE;EAExC,sFAUKD,YAAY,GACZD,KAAK;IAVRG,QAAQ,uBAARA,QAAQ;IACRC,WAAW,uBAAXA,WAAW;IACXC,SAAS,uBAATA,SAAS;IACTC,uBAAuB,uBAAvBA,uBAAuB;IACvBC,QAAQ,uBAARA,QAAQ;IACRC,MAAM,uBAANA,MAAM;IACMC,cAAc,uBAA1BC,UAAU;IAAA,4CACVC,0BAA0B;IAA1BA,0BAA0B,sCAAGC,UAAI;EAMnC,IAAMF,UAAU,GAAG,IAAAG,gDAAuB,EAACJ,cAAc,EAAEE,0BAA0B,CAAC;EAEtF,cAAqB,IAAAG,WAAM,GAAE;IAArBC,QAAQ,WAARA,QAAQ;EAEhB,IAAAC,oDAAyB,EAAC,YAAM;IAC9B,IAAMC,mBAAmB,GAAG,IAAAC,wDAA2B,EAACX,QAAQ,EAAEG,UAAU,CAAC;;IAE7E;IACAK,QAAQ,CAAEI,IAAI,CAACC,SAAS,CAACC,GAAG,CAACJ,mBAAmB,CAAC;IAEjD,OAAO,YAAM;MACX;MACAF,QAAQ,CAAEI,IAAI,CAACC,SAAS,CAACE,MAAM,CAACL,mBAAmB,CAAC;IACtD,CAAC;EACH,CAAC,EAAE,CAACV,QAAQ,EAAEG,UAAU,CAAC,CAAC;EAE1B,IAAMa,aAAa,GAAG,IAAAC,4BAAa,EAAC;IAClCpB,WAAW,EAAXA,WAAW;IACXC,SAAS,EAATA,SAAS;IACTC,uBAAuB,EAAvBA,uBAAuB;IACvBC,QAAQ,EAARA,QAAQ;IACRC,MAAM,EAANA,MAAM;IACNE,UAAU,EAAVA;EACF,CAAC,CAAC;EAEF,oBACE,oBAAC,4CAAqB,CAAC,QAAQ;IAAC,KAAK,EAAEa;EAAc,gBACnD,oBAAC,wCAAmB;IAAC,QAAQ,EAAEhB,QAAS;IAAC,UAAU,EAAEG;EAAW,GAC7DP,QAAQ,CACW,CACS;AAErC,CAAC;AAAC"}
|
|
@@ -8,8 +8,8 @@ exports.ConfigProviderOverride = ConfigProviderOverride;
|
|
|
8
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
var _ConfigProviderContext = require("./ConfigProviderContext");
|
|
12
11
|
var _useObjectMemo = require("../../hooks/useObjectMemo");
|
|
12
|
+
var _ConfigProviderContext = require("./ConfigProviderContext");
|
|
13
13
|
var _excluded = ["children"];
|
|
14
14
|
/**
|
|
15
15
|
* Компонент предназначен для перебивания одного из значений контекста
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigProviderOverride.js","names":["ConfigProviderOverride","children","contextValue","parentConfig","useConfigProvider","configContext","useObjectMemo"],"sources":["../../../../src/components/ConfigProvider/ConfigProviderOverride.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n useConfigProvider,\n} from './ConfigProviderContext';\
|
|
1
|
+
{"version":3,"file":"ConfigProviderOverride.js","names":["ConfigProviderOverride","children","contextValue","parentConfig","useConfigProvider","configContext","useObjectMemo"],"sources":["../../../../src/components/ConfigProvider/ConfigProviderOverride.tsx"],"sourcesContent":["import React from 'react';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n useConfigProvider,\n} from './ConfigProviderContext';\n\nexport interface ConfigProviderOverrideProps extends Partial<ConfigProviderContextInterface> {\n children: React.ReactNode;\n}\n\n/**\n * Компонент предназначен для перебивания одного из значений контекста\n */\nexport function ConfigProviderOverride({ children, ...contextValue }: ConfigProviderOverrideProps) {\n const parentConfig = useConfigProvider();\n\n const configContext = useObjectMemo({\n ...parentConfig,\n ...contextValue,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n {children}\n </ConfigProviderContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AAIiC;AAMjC;AACA;AACA;AACO,SAASA,sBAAsB,OAA6D;EAAA,IAA1DC,QAAQ,QAARA,QAAQ;IAAKC,YAAY;EAChE,IAAMC,YAAY,GAAG,IAAAC,wCAAiB,GAAE;EAExC,IAAMC,aAAa,GAAG,IAAAC,4BAAa,8DAC9BH,YAAY,GACZD,YAAY,EACf;EAEF,oBACE,6BAAC,4CAAqB,CAAC,QAAQ;IAAC,KAAK,EAAEG;EAAc,GAClDJ,QAAQ,CACsB;AAErC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { HasRef, HasRootRef } from '../../types';
|
|
2
3
|
import { CardProps } from '../Card/Card';
|
|
3
4
|
import { TappableProps } from '../Tappable/Tappable';
|
|
4
|
-
import { HasRef, HasRootRef } from '../../types';
|
|
5
5
|
export interface ContentCardProps extends HasRootRef<HTMLDivElement>, Omit<TappableProps, 'getRootRef' | 'crossOrigin'>, Omit<React.ImgHTMLAttributes<HTMLImageElement>, keyof React.HTMLAttributes<HTMLImageElement>>, HasRef<HTMLImageElement> {
|
|
6
6
|
/**
|
|
7
7
|
Текст над заголовком
|
|
@@ -9,13 +9,13 @@ exports.ContentCard = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _vkjs = require("@vkontakte/vkjs");
|
|
12
13
|
var _Card = require("../Card/Card");
|
|
14
|
+
var _Tappable = require("../Tappable/Tappable");
|
|
13
15
|
var _Caption = require("../Typography/Caption/Caption");
|
|
14
16
|
var _Footnote = require("../Typography/Footnote/Footnote");
|
|
15
17
|
var _Headline = require("../Typography/Headline/Headline");
|
|
16
18
|
var _Text = require("../Typography/Text/Text");
|
|
17
|
-
var _Tappable = require("../Tappable/Tappable");
|
|
18
|
-
var _vkjs = require("@vkontakte/vkjs");
|
|
19
19
|
var _excluded = ["subtitle", "header", "text", "caption", "className", "mode", "style", "getRootRef", "getRef", "maxHeight", "src", "srcSet", "alt", "width", "height", "crossOrigin", "decoding", "loading", "referrerPolicy", "sizes", "useMap", "hasHover", "hasActive"];
|
|
20
20
|
/**
|
|
21
21
|
* @see https://vkcom.github.io/VKUI/#/ContentCard
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentCard.js","names":["ContentCard","subtitle","header","text","caption","className","mode","style","getRootRef","getRef","maxHeight","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","hasHover","hasActive","restProps","classNames","disabled","onClick","href","hasReactNode"],"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"ContentCard.js","names":["ContentCard","subtitle","header","text","caption","className","mode","style","getRootRef","getRef","maxHeight","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","hasHover","hasActive","restProps","classNames","disabled","onClick","href","hasReactNode"],"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { HasRef, HasRootRef } from '../../types';\nimport { Card, CardProps } from '../Card/Card';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './ContentCard.module.css';\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n Omit<TappableProps, 'getRootRef' | 'crossOrigin'>,\n Omit<React.ImgHTMLAttributes<HTMLImageElement>, keyof React.HTMLAttributes<HTMLImageElement>>,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком\n */\n subtitle?: React.ReactNode;\n /**\n Заголовок\n */\n header?: React.ReactNode;\n /**\n Текст\n */\n text?: React.ReactNode;\n /**\n Нижний текст\n */\n caption?: React.ReactNode;\n /**\n Максимальная высота изображения\n */\n maxHeight?: number;\n mode?: CardProps['mode'];\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ContentCard\n */\nexport const ContentCard = ({\n subtitle,\n header,\n text,\n caption,\n // card props\n className,\n mode = 'shadow',\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n src,\n srcSet,\n alt = '',\n width,\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n hasHover = false,\n hasActive = false,\n ...restProps\n}: ContentCardProps) => {\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n style={style}\n className={classNames(\n styles['ContentCard'],\n restProps.disabled && styles['ContentCard--disabled'],\n className,\n )}\n >\n <Tappable\n {...restProps}\n disabled={restProps.disabled || (!restProps.onClick && !restProps.href)}\n hasHover={hasHover}\n hasActive={hasActive}\n className={styles['ContentCard__tappable']}\n >\n {(src || srcSet) && (\n <img\n ref={getRef}\n className={styles['ContentCard__img']}\n src={src}\n srcSet={srcSet}\n alt={alt}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n useMap={useMap}\n height={height}\n style={{ maxHeight }}\n width=\"100%\"\n />\n )}\n <div className={styles['ContentCard__body']}>\n {hasReactNode(subtitle) && (\n <Caption\n className={classNames(styles['ContentCard__text'], styles['ContentCard__subtitle'])}\n weight=\"1\"\n level=\"3\"\n caps\n >\n {subtitle}\n </Caption>\n )}\n {hasReactNode(header) && (\n <Headline className={styles['ContentCard__text']} weight=\"2\" level=\"1\">\n {header}\n </Headline>\n )}\n {hasReactNode(text) && <Text className={styles['ContentCard__text']}>{text}</Text>}\n {hasReactNode(caption) && (\n <Footnote\n className={classNames(styles['ContentCard__text'], styles['ContentCard__caption'])}\n >\n {caption}\n </Footnote>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAA+C;AA+B/C;AACA;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAW,OA2BA;EAAA,IA1BtBC,QAAQ,QAARA,QAAQ;IACRC,MAAM,QAANA,MAAM;IACNC,IAAI,QAAJA,IAAI;IACJC,OAAO,QAAPA,OAAO;IAEPC,SAAS,QAATA,SAAS;IAAA,iBACTC,IAAI;IAAJA,IAAI,0BAAG,QAAQ;IACfC,KAAK,QAALA,KAAK;IACLC,UAAU,QAAVA,UAAU;IAEVC,MAAM,QAANA,MAAM;IACNC,SAAS,QAATA,SAAS;IACTC,GAAG,QAAHA,GAAG;IACHC,MAAM,QAANA,MAAM;IAAA,gBACNC,GAAG;IAAHA,GAAG,yBAAG,EAAE;IACRC,KAAK,QAALA,KAAK;IACLC,MAAM,QAANA,MAAM;IACNC,WAAW,QAAXA,WAAW;IACXC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPC,cAAc,QAAdA,cAAc;IACdC,KAAK,QAALA,KAAK;IACLC,MAAM,QAANA,MAAM;IAAA,qBACNC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAAA,sBAChBC,SAAS;IAATA,SAAS,+BAAG,KAAK;IACdC,SAAS;EAEZ,oBACE,oBAAC,UAAI;IACH,IAAI,EAAElB,IAAK;IACX,UAAU,EAAEE,UAAW;IACvB,KAAK,EAAED,KAAM;IACb,SAAS,EAAE,IAAAkB,gBAAU,qBAEnBD,SAAS,CAACE,QAAQ,+BAAmC,EACrDrB,SAAS;EACT,gBAEF,oBAAC,kBAAQ,6BACHmB,SAAS;IACb,QAAQ,EAAEA,SAAS,CAACE,QAAQ,IAAK,CAACF,SAAS,CAACG,OAAO,IAAI,CAACH,SAAS,CAACI,IAAM;IACxE,QAAQ,EAAEN,QAAS;IACnB,SAAS,EAAEC,SAAU;IACrB,SAAS;EAAkC,IAE1C,CAACZ,GAAG,IAAIC,MAAM,kBACb;IACE,GAAG,EAAEH,MAAO;IACZ,SAAS,wBAA6B;IACtC,GAAG,EAAEE,GAAI;IACT,MAAM,EAAEC,MAAO;IACf,GAAG,EAAEC,GAAI;IACT,WAAW,EAAEG,WAAY;IACzB,QAAQ,EAAEC,QAAS;IACnB,OAAO,EAAEC,OAAQ;IACjB,cAAc,EAAEC,cAAe;IAC/B,KAAK,EAAEC,KAAM;IACb,MAAM,EAAEC,MAAO;IACf,MAAM,EAAEN,MAAO;IACf,KAAK,EAAE;MAAEL,SAAS,EAATA;IAAU,CAAE;IACrB,KAAK,EAAC;EAAM,EAEf,eACD;IAAK,SAAS;EAA8B,GACzC,IAAAmB,kBAAY,EAAC5B,QAAQ,CAAC,iBACrB,oBAAC,gBAAO;IACN,SAAS,EAAE,IAAAwB,gBAAU,uDAA+D;IACpF,MAAM,EAAC,GAAG;IACV,KAAK,EAAC,GAAG;IACT,IAAI;EAAA,GAEHxB,QAAQ,CAEZ,EACA,IAAA4B,kBAAY,EAAC3B,MAAM,CAAC,iBACnB,oBAAC,kBAAQ;IAAC,SAAS,yBAA8B;IAAC,MAAM,EAAC,GAAG;IAAC,KAAK,EAAC;EAAG,GACnEA,MAAM,CAEV,EACA,IAAA2B,kBAAY,EAAC1B,IAAI,CAAC,iBAAI,oBAAC,UAAI;IAAC,SAAS;EAA8B,GAAEA,IAAI,CAAQ,EACjF,IAAA0B,kBAAY,EAACzB,OAAO,CAAC,iBACpB,oBAAC,kBAAQ;IACP,SAAS,EAAE,IAAAqB,gBAAU;EAA8D,GAElFrB,OAAO,CAEX,CACG,CACG,CACN;AAEX,CAAC;AAAC"}
|
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.CustomScrollView = void 0;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _dom = require("../../lib/dom");
|
|
10
9
|
var _vkjs = require("@vkontakte/vkjs");
|
|
11
|
-
var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
|
|
12
|
-
var _useExternRef = require("../../hooks/useExternRef");
|
|
13
10
|
var _useEventListener = require("../../hooks/useEventListener");
|
|
14
|
-
var
|
|
11
|
+
var _useExternRef = require("../../hooks/useExternRef");
|
|
12
|
+
var _dom = require("../../lib/dom");
|
|
13
|
+
var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
|
|
15
14
|
var _utils = require("../../lib/utils");
|
|
15
|
+
var _useTrackerVisibility2 = require("./useTrackerVisibility");
|
|
16
16
|
var CustomScrollView = function CustomScrollView(_ref) {
|
|
17
17
|
var className = _ref.className,
|
|
18
18
|
children = _ref.children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomScrollView.js","names":["CustomScrollView","className","children","externalBoxRef","boxRef","windowResize","autoHideScrollbar","autoHideScrollbarDelay","useDOM","document","window","ratio","React","useRef","NaN","lastTrackerTop","clientHeight","trackerHeight","scrollHeight","transformProp","startY","trackerTop","useExternRef","barY","trackerY","setTrackerPosition","scrollTop","current","style","setTrackerPositionFromScroll","progress","resize","localClientHeight","localScrollHeight","localRatio","localTrackerHeight","Math","max","display","height","resizeHandler","useEventListener","useIsomorphicLayoutEffect","add","prop","undefined","setScrollPositionFromTracker","onMove","e","preventDefault","diff","clientY","position","min","useTrackerVisibility","trackerVisible","onTargetScroll","onTrackerDragStart","onTrackerDragStop","onTrackerMouseEnter","onTrackerMouseLeave","onUp","unsubscribe","scroll","listeners","subscribe","el","forEach","l","remove","onDragStart","classNames","stopPropagation"],"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { DOMProps, useDOM } from '../../lib/dom';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { TrackerOptionsProps, useTrackerVisibility } from './useTrackerVisibility';\nimport { stopPropagation } from '../../lib/utils';\nimport styles from './CustomScrollView.module.css';\n\nexport interface CustomScrollViewProps extends DOMProps, TrackerOptionsProps {\n windowResize?: boolean;\n boxRef?: React.Ref<HTMLDivElement>;\n className?: HTMLDivElement['className'];\n children: React.ReactNode;\n}\n\nexport const CustomScrollView = ({\n className,\n children,\n boxRef: externalBoxRef,\n windowResize,\n autoHideScrollbar = false,\n autoHideScrollbarDelay,\n}: CustomScrollViewProps) => {\n const { document, window } = useDOM();\n\n const ratio = React.useRef(NaN);\n const lastTrackerTop = React.useRef(0);\n const clientHeight = React.useRef(0);\n const trackerHeight = React.useRef(0);\n const scrollHeight = React.useRef(0);\n const transformProp = React.useRef('');\n const startY = React.useRef(0);\n const trackerTop = React.useRef(0);\n\n const boxRef = useExternRef(externalBoxRef);\n\n const barY = React.useRef<HTMLDivElement>(null);\n const trackerY = React.useRef<HTMLDivElement>(null);\n\n const setTrackerPosition = (scrollTop: number) => {\n lastTrackerTop.current = scrollTop;\n if (trackerY.current !== null) {\n (trackerY.current.style as any)[transformProp.current] = `translate(0, ${scrollTop}px)`;\n }\n };\n\n const setTrackerPositionFromScroll = (scrollTop: number) => {\n const progress = scrollTop / (scrollHeight.current - clientHeight.current);\n setTrackerPosition((clientHeight.current - trackerHeight.current) * progress);\n };\n\n const resize = () => {\n if (!boxRef.current || !barY.current || !trackerY.current) {\n return;\n }\n const localClientHeight = boxRef.current.clientHeight;\n const localScrollHeight = boxRef.current.scrollHeight;\n const localRatio = localClientHeight / localScrollHeight;\n const localTrackerHeight = Math.max(localClientHeight * localRatio, 40);\n\n ratio.current = localRatio;\n clientHeight.current = localClientHeight;\n scrollHeight.current = localScrollHeight;\n trackerHeight.current = localTrackerHeight;\n\n if (localRatio >= 1) {\n barY.current.style.display = 'none';\n } else {\n barY.current.style.display = '';\n trackerY.current.style.height = `${localTrackerHeight}px`;\n setTrackerPositionFromScroll(boxRef.current.scrollTop);\n }\n };\n\n const resizeHandler = useEventListener('resize', resize);\n\n useIsomorphicLayoutEffect(() => {\n if (windowResize && window) {\n resizeHandler.add(window);\n }\n }, [windowResize, window]);\n\n useIsomorphicLayoutEffect(() => {\n let style = trackerY.current?.style;\n let prop = '';\n if (style !== undefined) {\n if ('transform' in style) {\n prop = 'transform';\n } else if ('webkitTransform' in style) {\n prop = 'webkitTransform';\n }\n }\n transformProp.current = prop;\n }, []);\n\n useIsomorphicLayoutEffect(resize);\n\n const setScrollPositionFromTracker = (trackerTop: number) => {\n const progress = trackerTop / (clientHeight.current - trackerHeight.current);\n if (boxRef.current !== null) {\n boxRef.current.scrollTop = (scrollHeight.current - clientHeight.current) * progress;\n }\n };\n\n const onMove = (e: MouseEvent) => {\n e.preventDefault();\n const diff = e.clientY - startY.current;\n const position = Math.min(\n Math.max(trackerTop.current + diff, 0),\n clientHeight.current - trackerHeight.current,\n );\n\n setScrollPositionFromTracker(position);\n };\n\n const {\n trackerVisible,\n onTargetScroll,\n onTrackerDragStart,\n onTrackerDragStop,\n onTrackerMouseEnter,\n onTrackerMouseLeave,\n } = useTrackerVisibility(autoHideScrollbar, autoHideScrollbarDelay);\n\n const onUp = (e: MouseEvent) => {\n e.preventDefault();\n\n if (autoHideScrollbar) {\n onTrackerDragStop();\n }\n\n unsubscribe();\n };\n\n const scroll = () => {\n if (ratio.current >= 1 || !boxRef.current) {\n return;\n }\n\n if (autoHideScrollbar) {\n onTargetScroll();\n }\n\n setTrackerPositionFromScroll(boxRef.current.scrollTop);\n };\n\n const listeners = [useEventListener('mousemove', onMove), useEventListener('mouseup', onUp)];\n\n function subscribe(el: Document | undefined) {\n if (el) {\n listeners.forEach((l) => l.add(el));\n }\n }\n\n function unsubscribe() {\n listeners.forEach((l) => l.remove());\n }\n\n const onDragStart = (e: React.MouseEvent) => {\n e.preventDefault();\n startY.current = e.clientY;\n trackerTop.current = lastTrackerTop.current;\n\n if (autoHideScrollbar) {\n onTrackerDragStart();\n }\n\n subscribe(document);\n };\n\n return (\n <div className={classNames(styles['CustomScrollView'], className)}>\n <div className={styles['CustomScrollView__box']} tabIndex={-1} ref={boxRef} onScroll={scroll}>\n {children}\n </div>\n\n <div className={styles['CustomScrollView__barY']} ref={barY} onClick={stopPropagation}>\n <div\n className={classNames(\n styles['CustomScrollView__trackerY'],\n !trackerVisible && styles[`CustomScrollView__trackerY--hidden`],\n )}\n onMouseEnter={autoHideScrollbar ? onTrackerMouseEnter : undefined}\n onMouseLeave={autoHideScrollbar ? onTrackerMouseLeave : undefined}\n ref={trackerY}\n onMouseDown={onDragStart}\n />\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomScrollView.js","names":["CustomScrollView","className","children","externalBoxRef","boxRef","windowResize","autoHideScrollbar","autoHideScrollbarDelay","useDOM","document","window","ratio","React","useRef","NaN","lastTrackerTop","clientHeight","trackerHeight","scrollHeight","transformProp","startY","trackerTop","useExternRef","barY","trackerY","setTrackerPosition","scrollTop","current","style","setTrackerPositionFromScroll","progress","resize","localClientHeight","localScrollHeight","localRatio","localTrackerHeight","Math","max","display","height","resizeHandler","useEventListener","useIsomorphicLayoutEffect","add","prop","undefined","setScrollPositionFromTracker","onMove","e","preventDefault","diff","clientY","position","min","useTrackerVisibility","trackerVisible","onTargetScroll","onTrackerDragStart","onTrackerDragStop","onTrackerMouseEnter","onTrackerMouseLeave","onUp","unsubscribe","scroll","listeners","subscribe","el","forEach","l","remove","onDragStart","classNames","stopPropagation"],"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { DOMProps, useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { stopPropagation } from '../../lib/utils';\nimport { TrackerOptionsProps, useTrackerVisibility } from './useTrackerVisibility';\nimport styles from './CustomScrollView.module.css';\n\nexport interface CustomScrollViewProps extends DOMProps, TrackerOptionsProps {\n windowResize?: boolean;\n boxRef?: React.Ref<HTMLDivElement>;\n className?: HTMLDivElement['className'];\n children: React.ReactNode;\n}\n\nexport const CustomScrollView = ({\n className,\n children,\n boxRef: externalBoxRef,\n windowResize,\n autoHideScrollbar = false,\n autoHideScrollbarDelay,\n}: CustomScrollViewProps) => {\n const { document, window } = useDOM();\n\n const ratio = React.useRef(NaN);\n const lastTrackerTop = React.useRef(0);\n const clientHeight = React.useRef(0);\n const trackerHeight = React.useRef(0);\n const scrollHeight = React.useRef(0);\n const transformProp = React.useRef('');\n const startY = React.useRef(0);\n const trackerTop = React.useRef(0);\n\n const boxRef = useExternRef(externalBoxRef);\n\n const barY = React.useRef<HTMLDivElement>(null);\n const trackerY = React.useRef<HTMLDivElement>(null);\n\n const setTrackerPosition = (scrollTop: number) => {\n lastTrackerTop.current = scrollTop;\n if (trackerY.current !== null) {\n (trackerY.current.style as any)[transformProp.current] = `translate(0, ${scrollTop}px)`;\n }\n };\n\n const setTrackerPositionFromScroll = (scrollTop: number) => {\n const progress = scrollTop / (scrollHeight.current - clientHeight.current);\n setTrackerPosition((clientHeight.current - trackerHeight.current) * progress);\n };\n\n const resize = () => {\n if (!boxRef.current || !barY.current || !trackerY.current) {\n return;\n }\n const localClientHeight = boxRef.current.clientHeight;\n const localScrollHeight = boxRef.current.scrollHeight;\n const localRatio = localClientHeight / localScrollHeight;\n const localTrackerHeight = Math.max(localClientHeight * localRatio, 40);\n\n ratio.current = localRatio;\n clientHeight.current = localClientHeight;\n scrollHeight.current = localScrollHeight;\n trackerHeight.current = localTrackerHeight;\n\n if (localRatio >= 1) {\n barY.current.style.display = 'none';\n } else {\n barY.current.style.display = '';\n trackerY.current.style.height = `${localTrackerHeight}px`;\n setTrackerPositionFromScroll(boxRef.current.scrollTop);\n }\n };\n\n const resizeHandler = useEventListener('resize', resize);\n\n useIsomorphicLayoutEffect(() => {\n if (windowResize && window) {\n resizeHandler.add(window);\n }\n }, [windowResize, window]);\n\n useIsomorphicLayoutEffect(() => {\n let style = trackerY.current?.style;\n let prop = '';\n if (style !== undefined) {\n if ('transform' in style) {\n prop = 'transform';\n } else if ('webkitTransform' in style) {\n prop = 'webkitTransform';\n }\n }\n transformProp.current = prop;\n }, []);\n\n useIsomorphicLayoutEffect(resize);\n\n const setScrollPositionFromTracker = (trackerTop: number) => {\n const progress = trackerTop / (clientHeight.current - trackerHeight.current);\n if (boxRef.current !== null) {\n boxRef.current.scrollTop = (scrollHeight.current - clientHeight.current) * progress;\n }\n };\n\n const onMove = (e: MouseEvent) => {\n e.preventDefault();\n const diff = e.clientY - startY.current;\n const position = Math.min(\n Math.max(trackerTop.current + diff, 0),\n clientHeight.current - trackerHeight.current,\n );\n\n setScrollPositionFromTracker(position);\n };\n\n const {\n trackerVisible,\n onTargetScroll,\n onTrackerDragStart,\n onTrackerDragStop,\n onTrackerMouseEnter,\n onTrackerMouseLeave,\n } = useTrackerVisibility(autoHideScrollbar, autoHideScrollbarDelay);\n\n const onUp = (e: MouseEvent) => {\n e.preventDefault();\n\n if (autoHideScrollbar) {\n onTrackerDragStop();\n }\n\n unsubscribe();\n };\n\n const scroll = () => {\n if (ratio.current >= 1 || !boxRef.current) {\n return;\n }\n\n if (autoHideScrollbar) {\n onTargetScroll();\n }\n\n setTrackerPositionFromScroll(boxRef.current.scrollTop);\n };\n\n const listeners = [useEventListener('mousemove', onMove), useEventListener('mouseup', onUp)];\n\n function subscribe(el: Document | undefined) {\n if (el) {\n listeners.forEach((l) => l.add(el));\n }\n }\n\n function unsubscribe() {\n listeners.forEach((l) => l.remove());\n }\n\n const onDragStart = (e: React.MouseEvent) => {\n e.preventDefault();\n startY.current = e.clientY;\n trackerTop.current = lastTrackerTop.current;\n\n if (autoHideScrollbar) {\n onTrackerDragStart();\n }\n\n subscribe(document);\n };\n\n return (\n <div className={classNames(styles['CustomScrollView'], className)}>\n <div className={styles['CustomScrollView__box']} tabIndex={-1} ref={boxRef} onScroll={scroll}>\n {children}\n </div>\n\n <div className={styles['CustomScrollView__barY']} ref={barY} onClick={stopPropagation}>\n <div\n className={classNames(\n styles['CustomScrollView__trackerY'],\n !trackerVisible && styles[`CustomScrollView__trackerY--hidden`],\n )}\n onMouseEnter={autoHideScrollbar ? onTrackerMouseEnter : undefined}\n onMouseLeave={autoHideScrollbar ? onTrackerMouseLeave : undefined}\n ref={trackerY}\n onMouseDown={onDragStart}\n />\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { TrackerOptionsProps } from '../CustomScrollView/useTrackerVisibility';
|
|
3
3
|
import { CustomSelectOptionProps } from '../CustomSelectOption/CustomSelectOption';
|
|
4
4
|
import { FormFieldProps } from '../FormField/FormField';
|
|
5
|
-
import {
|
|
5
|
+
import { NativeSelectProps } from '../NativeSelect/NativeSelect';
|
|
6
6
|
import { SelectType } from '../Select/Select';
|
|
7
7
|
declare type SelectValue = React.SelectHTMLAttributes<HTMLSelectElement>['value'];
|
|
8
8
|
export interface CustomSelectOptionInterface {
|
|
@@ -11,18 +11,18 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
13
|
var React = _interopRequireWildcard(require("react"));
|
|
14
|
-
var _SelectMimicry = require("../SelectMimicry/SelectMimicry");
|
|
15
|
-
var _utils = require("../../lib/utils");
|
|
16
|
-
var _useExternRef = require("../../hooks/useExternRef");
|
|
17
14
|
var _vkjs = require("@vkontakte/vkjs");
|
|
15
|
+
var _useExternRef = require("../../hooks/useExternRef");
|
|
16
|
+
var _select = require("../../lib/select");
|
|
17
|
+
var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
|
|
18
|
+
var _utils = require("../../lib/utils");
|
|
19
|
+
var _warnOnce = require("../../lib/warnOnce");
|
|
20
|
+
var _CustomSelectDropdown = require("../CustomSelectDropdown/CustomSelectDropdown");
|
|
18
21
|
var _CustomSelectOption = require("../CustomSelectOption/CustomSelectOption");
|
|
19
|
-
var _Input = require("../Input/Input");
|
|
20
22
|
var _DropdownIcon = require("../DropdownIcon/DropdownIcon");
|
|
23
|
+
var _Input = require("../Input/Input");
|
|
24
|
+
var _SelectMimicry = require("../SelectMimicry/SelectMimicry");
|
|
21
25
|
var _Footnote = require("../Typography/Footnote/Footnote");
|
|
22
|
-
var _warnOnce = require("../../lib/warnOnce");
|
|
23
|
-
var _select = require("../../lib/select");
|
|
24
|
-
var _CustomSelectDropdown = require("../CustomSelectDropdown/CustomSelectDropdown");
|
|
25
|
-
var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
|
|
26
26
|
var _excluded = ["option"],
|
|
27
27
|
_excluded2 = ["before", "name", "className", "getRef", "getRootRef", "popupDirection", "style", "onChange", "children", "onInputChange", "renderDropdown", "onOpen", "onClose", "fetching", "forceDropdownPortal", "selectType", "autoHideScrollbar", "autoHideScrollbarDelay", "searchable", "renderOption", "options", "emptyText", "filterFn", "icon", "dropdownOffsetDistance", "fixDropdownWidth"];
|
|
28
28
|
var findIndexAfter = function findIndexAfter() {
|