@vkontakte/vkui 4.35.1 → 4.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +21609 -18311
- package/.cache/ts/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
- package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +6 -2
- package/.cache/ts/src/components/Chip/Chip.d.ts +12 -5
- package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +5 -26
- package/.cache/ts/src/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
- package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +4 -4
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
- package/.cache/ts/src/components/DateInput/DateInput.d.ts +4 -2
- package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +4 -2
- package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +4 -2
- package/.cache/ts/src/components/FormField/FormField.d.ts +2 -1
- package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
- package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +1 -0
- package/.cache/ts/src/components/Input/Input.d.ts +1 -1
- package/.cache/ts/src/components/List/List.d.ts +2 -1
- package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +13 -1
- package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +3 -2
- package/.cache/ts/src/components/Select/Select.d.ts +1 -1
- package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +2 -2
- package/.cache/ts/src/components/Textarea/Textarea.d.ts +3 -2
- package/.cache/ts/src/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
- package/{dist/cssm/components/ChipsSelect → .cache/ts/src/hooks}/useChipsSelect.d.ts +4 -4
- package/.cache/ts/src/index.d.ts +3 -0
- package/.cache/ts/src/tokenized/index.d.ts +56 -0
- package/README.md +3 -2
- package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -4
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +24 -0
- package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +10 -8
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -5
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +15 -39
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.js +11 -12
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +2 -5
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.js +4 -17
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js +41 -47
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -21
- package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js +2 -5
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.js +15 -198
- package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +215 -0
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +44 -27
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +33 -32
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +3 -0
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.js +4 -2
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js +4 -2
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cjs/components/DropdownIcon/DropdownIcon.js +16 -7
- package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.js +4 -2
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +12 -3
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cjs/components/FormStatus/FormStatus.js +4 -6
- package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +3 -11
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.js +4 -3
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/Input/Input.js +4 -2
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/List/List.js.map +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +1 -6
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.js +11 -10
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +3 -4
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +4 -18
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +3 -11
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.js +4 -2
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/Panel/Panel.js +4 -10
- package/dist/cjs/components/Panel/Panel.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js +2 -11
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +2 -7
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -4
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +4 -8
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.js +53 -50
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js +1 -6
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/Search/Search.js +7 -9
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +4 -2
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitch.js +2 -5
- package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -7
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +1 -6
- package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +2 -5
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.js +8 -16
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.js +4 -2
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.js +71 -34
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.js +1 -10
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/{components/ChipsInput → hooks}/useChipsInput.js +0 -0
- package/dist/cjs/hooks/useChipsInput.js.map +1 -0
- package/dist/cjs/{components/ChipsSelect → hooks}/useChipsSelect.js +1 -1
- package/dist/cjs/hooks/useChipsSelect.js.map +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/animate.js +2 -2
- package/dist/cjs/lib/animate.js.map +1 -1
- package/dist/cjs/lib/platform.js +9 -4
- package/dist/cjs/lib/platform.js.map +1 -1
- package/dist/cjs/lib/testing.js +2 -2
- package/dist/cjs/lib/testing.js.map +1 -1
- package/dist/cjs/lib/touch.js +2 -2
- package/dist/cjs/lib/touch.js.map +1 -1
- package/dist/cjs/tokenized/index.js +232 -0
- package/dist/cjs/tokenized/index.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +4 -4
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
- package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +10 -0
- package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
- package/dist/components/ActionSheet/ActionSheetDropdown.js +7 -7
- package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -4
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +16 -36
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -4
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/Alert/Alert.js +12 -12
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +2 -5
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/Avatar/Avatar.js +4 -17
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Banner/Banner.js +41 -48
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +6 -2
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +4 -21
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.js +1 -3
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Chip/Chip.d.ts +12 -5
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts +5 -26
- package/dist/components/ChipsInput/ChipsInput.js +14 -183
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
- package/dist/components/ChipsInputBase/ChipsInputBase.js +188 -0
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -4
- package/dist/components/ChipsSelect/ChipsSelect.js +42 -26
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +33 -32
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -0
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +4 -2
- package/dist/components/DateInput/DateInput.js +4 -2
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +4 -2
- package/dist/components/DateRangeInput/DateRangeInput.js +4 -2
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.d.ts +4 -2
- package/dist/components/DropdownIcon/DropdownIcon.js +15 -7
- package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/components/FormField/FormField.d.ts +2 -1
- package/dist/components/FormField/FormField.js +4 -2
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +9 -3
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/FormStatus/FormStatus.d.ts +1 -0
- package/dist/components/FormStatus/FormStatus.js +4 -4
- package/dist/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/components/Header/Header.js +3 -10
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/IconButton/IconButton.js +4 -3
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.js +4 -2
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/List/List.d.ts +2 -1
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -4
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +13 -1
- package/dist/components/ModalPage/ModalPage.js +12 -10
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js +3 -3
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +4 -18
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js +3 -11
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +3 -2
- package/dist/components/NativeSelect/NativeSelect.js +4 -2
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Panel/Panel.js +4 -8
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +2 -11
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js +2 -6
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
- 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 +5 -5
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -7
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
- 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/Popper/Popper.js +53 -50
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +1 -4
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/Search/Search.js +6 -8
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +2 -2
- package/dist/components/SelectMimicry/SelectMimicry.js +4 -2
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/components/SliderSwitch/SliderSwitch.js +1 -4
- package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -5
- package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -4
- package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +2 -5
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Tappable/Tappable.js +3 -10
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +3 -2
- package/dist/components/Textarea/Textarea.js +4 -2
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.js +69 -28
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/ViewInfinite.js +1 -10
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components.css +93 -15
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.css +3 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -4
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
- package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +10 -0
- package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +7 -7
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -4
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +7 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +16 -36
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -4
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.css +7 -1
- package/dist/cssm/components/Alert/Alert.js +12 -12
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +2 -5
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.js +4 -17
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js +41 -48
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +6 -2
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -21
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +1 -3
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
- package/dist/cssm/components/Chip/Chip.css +1 -1
- package/dist/cssm/components/Chip/Chip.d.ts +12 -5
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +5 -26
- package/dist/cssm/components/ChipsInput/ChipsInput.js +14 -183
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.css +1 -0
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +189 -0
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
- package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -4
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +42 -26
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +33 -32
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -0
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.css +1 -1
- package/dist/cssm/components/DateInput/DateInput.d.ts +4 -2
- package/dist/cssm/components/DateInput/DateInput.js +4 -2
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +4 -2
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -2
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +4 -2
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js +15 -8
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.css +4 -4
- package/dist/cssm/components/FormField/FormField.d.ts +2 -1
- package/dist/cssm/components/FormField/FormField.js +4 -2
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +9 -3
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.css +3 -1
- package/dist/cssm/components/FormStatus/FormStatus.d.ts +1 -0
- package/dist/cssm/components/FormStatus/FormStatus.js +4 -4
- package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cssm/components/Header/Header.css +1 -1
- package/dist/cssm/components/Header/Header.js +3 -10
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.js +4 -3
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/Input/Input.css +1 -1
- package/dist/cssm/components/Input/Input.d.ts +1 -1
- package/dist/cssm/components/Input/Input.js +4 -2
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/List/List.d.ts +2 -1
- package/dist/cssm/components/List/List.js +1 -1
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -4
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.css +5 -1
- package/dist/cssm/components/ModalPage/ModalPage.d.ts +13 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +12 -10
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -3
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +4 -18
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +3 -11
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +3 -2
- package/dist/cssm/components/NativeSelect/NativeSelect.js +4 -2
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.css +19 -1
- package/dist/cssm/components/Panel/Panel.js +4 -8
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.css +9 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -11
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -6
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +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.css +5 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +5 -5
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -7
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
- 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/Popper/Popper.js +53 -50
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.css +3 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -4
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/Search/Search.css +27 -1
- package/dist/cssm/components/Search/Search.js +6 -8
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/Select/Select.css +1 -1
- package/dist/cssm/components/Select/Select.d.ts +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +2 -2
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -2
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -4
- package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -5
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.css +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -4
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +2 -5
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.css +1 -1
- package/dist/cssm/components/Tappable/Tappable.js +3 -10
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.css +1 -1
- package/dist/cssm/components/Textarea/Textarea.d.ts +3 -2
- package/dist/cssm/components/Textarea/Textarea.js +4 -2
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
- package/dist/cssm/components/Typography/Text/Text.css +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js +69 -28
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +1 -10
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
- package/dist/{components/ChipsInput → cssm/hooks}/useChipsInput.js +0 -0
- package/dist/cssm/hooks/useChipsInput.js.map +1 -0
- package/{.cache/ts/src/components/ChipsSelect → dist/cssm/hooks}/useChipsSelect.d.ts +4 -4
- package/dist/{components/ChipsSelect → cssm/hooks}/useChipsSelect.js +1 -1
- package/dist/cssm/hooks/useChipsSelect.js.map +1 -0
- package/dist/cssm/index.d.ts +3 -0
- package/dist/cssm/index.js +1 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/animate.js +1 -1
- package/dist/cssm/lib/animate.js.map +1 -1
- package/dist/cssm/lib/platform.js +8 -3
- package/dist/cssm/lib/platform.js.map +1 -1
- package/dist/cssm/lib/testing.js +1 -1
- package/dist/cssm/lib/testing.js.map +1 -1
- package/dist/cssm/lib/touch.js +1 -1
- package/dist/cssm/lib/touch.js.map +1 -1
- package/dist/cssm/styles/components.css +93 -15
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/cssm/styles/unstable.css +1 -1
- package/dist/cssm/tokenized/index.d.ts +56 -0
- package/dist/cssm/tokenized/index.js +29 -0
- package/dist/cssm/tokenized/index.js.map +1 -1
- package/dist/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
- package/dist/{cssm/components/ChipsInput → hooks}/useChipsInput.js +0 -0
- package/dist/hooks/useChipsInput.js.map +1 -0
- package/dist/{components/ChipsSelect → hooks}/useChipsSelect.d.ts +4 -4
- package/dist/{cssm/components/ChipsSelect → hooks}/useChipsSelect.js +1 -1
- package/dist/hooks/useChipsSelect.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/animate.js +1 -1
- package/dist/lib/animate.js.map +1 -1
- package/dist/lib/platform.js +8 -3
- package/dist/lib/platform.js.map +1 -1
- package/dist/lib/testing.js +1 -1
- package/dist/lib/testing.js.map +1 -1
- package/dist/lib/touch.js +1 -1
- package/dist/lib/touch.js.map +1 -1
- package/dist/tokenized/index.d.ts +56 -0
- package/dist/tokenized/index.js +29 -0
- package/dist/tokenized/index.js.map +1 -1
- package/dist/unstable.css +1 -1
- package/dist/unstable.css.map +1 -1
- package/dist/vkui.css +94 -16
- package/dist/vkui.css.map +1 -1
- package/package.json +9 -9
- package/src/components/ActionSheet/ActionSheet.css +31 -59
- package/src/components/ActionSheet/ActionSheet.tsx +4 -7
- package/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx +12 -0
- package/src/components/ActionSheet/ActionSheetDropdown.tsx +9 -6
- package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +4 -4
- package/src/components/ActionSheet/Readme.md +6 -30
- package/src/components/ActionSheetItem/ActionSheetItem.css +67 -120
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +42 -71
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +5 -5
- package/src/components/Alert/Alert.css +79 -79
- package/src/components/Alert/Alert.tsx +14 -14
- package/src/components/Alert/Readme.md +83 -104
- package/src/components/AppRoot/AppRoot.css +2 -1
- package/src/components/AppRoot/AppRoot.tsx +1 -4
- package/src/components/Avatar/Avatar.tsx +15 -17
- package/src/components/Avatar/Readme.md +3 -3
- package/src/components/Banner/Banner.tsx +58 -63
- package/src/components/ButtonGroup/ButtonGroup.tsx +6 -3
- package/src/components/ButtonGroup/Readme.md +13 -11
- package/src/components/Calendar/Readme.md +3 -0
- package/src/components/CalendarDay/CalendarDay.tsx +21 -20
- package/src/components/CalendarRange/Readme.md +3 -0
- package/src/components/CardScroll/CardScroll.tsx +1 -2
- package/src/components/Cell/CellCheckbox/CellCheckbox.css +2 -2
- package/src/components/Cell/CellDragger/CellDragger.css +1 -1
- package/src/components/Chip/Chip.css +1 -0
- package/src/components/Chip/Chip.tsx +14 -2
- package/src/components/ChipsInput/ChipsInput.css +0 -71
- package/src/components/ChipsInput/ChipsInput.tsx +20 -220
- package/src/components/ChipsInputBase/ChipsInputBase.css +73 -0
- package/src/components/ChipsInputBase/ChipsInputBase.tsx +206 -0
- package/src/components/ChipsSelect/ChipsSelect.css +8 -0
- package/src/components/ChipsSelect/ChipsSelect.tsx +47 -39
- package/src/components/CustomSelect/CustomSelect.css +1 -0
- package/src/components/CustomSelect/CustomSelect.tsx +3 -4
- package/src/components/CustomSelect/Readme.md +8 -2
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +2 -0
- package/src/components/DateInput/DateInput.css +1 -1
- package/src/components/DateInput/DateInput.tsx +6 -3
- package/src/components/DateInput/Readme.md +13 -0
- package/src/components/DateRangeInput/DateRangeInput.css +1 -1
- package/src/components/DateRangeInput/DateRangeInput.tsx +6 -3
- package/src/components/DateRangeInput/Readme.md +13 -0
- package/src/components/DropdownIcon/DropdownIcon.tsx +22 -8
- package/src/components/Epic/Readme.md +10 -5
- package/src/components/FormField/FormField.css +58 -6
- package/src/components/FormField/FormField.tsx +3 -0
- package/src/components/FormItem/FormItem.css +5 -3
- package/src/components/FormLayoutGroup/FormLayoutGroup.css +35 -0
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +13 -2
- package/src/components/FormLayoutGroup/Readme.md +58 -48
- package/src/components/FormStatus/FormStatus.css +8 -5
- package/src/components/FormStatus/FormStatus.tsx +4 -8
- package/src/components/Gallery/Readme.md +64 -18
- package/src/components/Header/Header.css +8 -12
- package/src/components/Header/Header.tsx +9 -8
- package/src/components/HorizontalCell/Readme.md +1 -1
- package/src/components/IconButton/IconButton.tsx +2 -2
- package/src/components/Input/Input.css +1 -1
- package/src/components/Input/Input.tsx +2 -0
- package/src/components/List/List.tsx +3 -4
- package/src/components/ModalDismissButton/ModalDismissButton.css +6 -6
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -5
- package/src/components/ModalDismissButton/Readme.md +1 -1
- package/src/components/ModalPage/ModalPage.css +69 -63
- package/src/components/ModalPage/ModalPage.tsx +24 -11
- package/src/components/ModalPageHeader/ModalPageHeader.css +9 -12
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +3 -2
- package/src/components/ModalRoot/ModalRoot.tsx +24 -24
- package/src/components/ModalRoot/ModalRootDesktop.tsx +12 -14
- package/src/components/ModalRoot/Readme.md +8 -3
- package/src/components/NativeSelect/NativeSelect.tsx +5 -2
- package/src/components/Panel/Panel.css +52 -24
- package/src/components/Panel/Panel.tsx +7 -9
- package/src/components/PanelHeader/PanelHeader.css +28 -21
- package/src/components/PanelHeader/PanelHeader.tsx +11 -12
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +6 -5
- package/src/components/PanelHeaderButton/PanelHeaderButton.css +8 -15
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +6 -6
- package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +2 -6
- package/src/components/PanelHeaderContent/PanelHeaderContent.css +17 -23
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +11 -5
- package/src/components/PanelHeaderContext/PanelHeaderContext.css +9 -25
- package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +11 -7
- package/src/components/PanelHeaderContext/Readme.md +85 -101
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +2 -2
- package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +2 -6
- package/src/components/Popper/Popper.tsx +37 -31
- package/src/components/PromoBanner/PromoBanner.css +10 -22
- package/src/components/PromoBanner/PromoBanner.tsx +1 -5
- package/src/components/RichTooltip/Readme.md +2 -2
- package/src/components/Search/Search.css +134 -48
- package/src/components/Search/Search.tsx +13 -8
- package/src/components/Select/Select.css +2 -2
- package/src/components/SelectMimicry/Readme.md +3 -3
- package/src/components/SelectMimicry/SelectMimicry.tsx +3 -1
- package/src/components/SliderSwitch/SliderSwitch.tsx +5 -5
- package/src/components/SliderSwitch/SliderSwitchButton.tsx +7 -7
- package/src/components/Snackbar/Readme.md +12 -3
- package/src/components/Spacing/Readme.md +20 -20
- package/src/components/Spacing/Spacing.css +5 -1
- package/src/components/SplitLayout/Readme.md +1 -1
- package/src/components/SubnavigationBar/SubnavigationBar.css +7 -19
- package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -8
- package/src/components/SubnavigationButton/SubnavigationButton.css +13 -0
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -4
- package/src/components/TabbarItem/Readme.md +6 -1
- package/src/components/Tabs/Readme.md +10 -2
- package/src/components/TabsItem/TabsItem.css +1 -1
- package/src/components/Tappable/Tappable.tsx +9 -11
- package/src/components/Textarea/Textarea.css +1 -1
- package/src/components/Textarea/Textarea.tsx +5 -2
- package/src/components/Tooltip/Readme.md +2 -2
- package/src/components/Touch/Readme.md +4 -4
- package/src/components/Typography/Headline/Headline.css +10 -0
- package/src/components/Typography/Text/Text.css +10 -0
- package/src/components/UsersStack/UsersStack.css +42 -0
- package/src/components/UsersStack/UsersStack.tsx +71 -15
- package/src/components/View/ViewInfinite.tsx +14 -14
- package/src/{components/ChipsInput → hooks}/useChipsInput.ts +5 -8
- package/src/{components/ChipsSelect → hooks}/useChipsSelect.ts +4 -4
- package/src/index.ts +3 -0
- package/src/lib/animate.ts +1 -1
- package/src/lib/platform.ts +12 -6
- package/src/lib/testing.ts +1 -1
- package/src/lib/touch.ts +1 -1
- package/src/styles/components.css +1 -0
- package/src/tokenized/index.ts +85 -0
- package/.cache/ts/src/components/UsersStack/masks.d.ts +0 -1
- package/dist/cjs/components/ChipsInput/useChipsInput.js.map +0 -1
- package/dist/cjs/components/ChipsSelect/useChipsSelect.js.map +0 -1
- package/dist/cjs/components/UsersStack/masks.js +0 -29
- package/dist/cjs/components/UsersStack/masks.js.map +0 -1
- package/dist/components/ChipsInput/useChipsInput.js.map +0 -1
- package/dist/components/ChipsSelect/useChipsSelect.js.map +0 -1
- package/dist/components/UsersStack/masks.d.ts +0 -1
- package/dist/components/UsersStack/masks.js +0 -20
- package/dist/components/UsersStack/masks.js.map +0 -1
- package/dist/cssm/components/ChipsInput/useChipsInput.js.map +0 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +0 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.css +0 -1
- package/dist/cssm/components/UsersStack/masks.d.ts +0 -1
- package/dist/cssm/components/UsersStack/masks.js +0 -20
- package/dist/cssm/components/UsersStack/masks.js.map +0 -1
- package/src/components/DropdownIcon/DropdownIcon.css +0 -3
- package/src/components/UsersStack/masks.tsx +0 -69
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { CalendarProps } from "../Calendar/Calendar";
|
|
3
3
|
import { Placement } from "../Popper/Popper";
|
|
4
|
+
import { FormFieldProps } from "../FormField/FormField";
|
|
4
5
|
import { HasRootRef } from "../../types";
|
|
5
6
|
import "./DateInput.css";
|
|
6
|
-
export interface DateInputProps extends Omit<React.InputHTMLAttributes<HTMLDivElement>, "value" | "onChange" | "size">, Pick<CalendarProps, "disablePast" | "disableFuture" | "enableTime" | "shouldDisableDate" | "onChange" | "value" | "doneButtonText" | "weekStartsOn" | "disablePickers" | "changeHoursAriaLabel" | "changeMinutesAriaLabel" | "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "changeDayAriaLabel" | "showNeighboringMonth" | "size" | "viewDate" | "onHeaderChange" | "onNextMonth" | "onPrevMonth" | "prevMonthIcon" | "nextMonthIcon">, HasRootRef<HTMLDivElement
|
|
7
|
+
export interface DateInputProps extends Omit<React.InputHTMLAttributes<HTMLDivElement>, "value" | "onChange" | "size">, Pick<CalendarProps, "disablePast" | "disableFuture" | "enableTime" | "shouldDisableDate" | "onChange" | "value" | "doneButtonText" | "weekStartsOn" | "disablePickers" | "changeHoursAriaLabel" | "changeMinutesAriaLabel" | "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "changeDayAriaLabel" | "showNeighboringMonth" | "size" | "viewDate" | "onHeaderChange" | "onNextMonth" | "onPrevMonth" | "prevMonthIcon" | "nextMonthIcon">, HasRootRef<HTMLDivElement>, FormFieldProps {
|
|
7
8
|
calendarPlacement?: Placement;
|
|
8
9
|
closeOnChange?: boolean;
|
|
9
10
|
clearFieldAriaLabel?: string;
|
|
10
11
|
showCalendarAriaLabel?: string;
|
|
12
|
+
disableCalendar?: boolean;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* @see https://vkcom.github.io/VKUI/#/DateInput
|
|
14
16
|
*/
|
|
15
|
-
export declare const DateInput: ({ enableTime, shouldDisableDate, disableFuture, disablePast, value, onChange, calendarPlacement, style, className, doneButtonText, closeOnChange, disablePickers, getRootRef, name, autoFocus, disabled, onClick, onFocus, prevMonthAriaLabel, nextMonthAriaLabel, showNeighboringMonth, size, changeMonthAriaLabel, changeYearAriaLabel, changeDayAriaLabel, changeHoursAriaLabel, changeMinutesAriaLabel, clearFieldAriaLabel, showCalendarAriaLabel, viewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, ...props }: DateInputProps) => JSX.Element;
|
|
17
|
+
export declare const DateInput: ({ enableTime, shouldDisableDate, disableFuture, disablePast, value, onChange, calendarPlacement, style, className, doneButtonText, closeOnChange, disablePickers, getRootRef, name, autoFocus, disabled, onClick, onFocus, prevMonthAriaLabel, nextMonthAriaLabel, showNeighboringMonth, size, changeMonthAriaLabel, changeYearAriaLabel, changeDayAriaLabel, changeHoursAriaLabel, changeMinutesAriaLabel, clearFieldAriaLabel, showCalendarAriaLabel, viewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, disableCalendar, ...props }: DateInputProps) => JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["enableTime", "shouldDisableDate", "disableFuture", "disablePast", "value", "onChange", "calendarPlacement", "style", "className", "doneButtonText", "closeOnChange", "disablePickers", "getRootRef", "name", "autoFocus", "disabled", "onClick", "onFocus", "prevMonthAriaLabel", "nextMonthAriaLabel", "showNeighboringMonth", "size", "changeMonthAriaLabel", "changeYearAriaLabel", "changeDayAriaLabel", "changeHoursAriaLabel", "changeMinutesAriaLabel", "clearFieldAriaLabel", "showCalendarAriaLabel", "viewDate", "onHeaderChange", "onNextMonth", "onPrevMonth", "prevMonthIcon", "nextMonthIcon"];
|
|
3
|
+
var _excluded = ["enableTime", "shouldDisableDate", "disableFuture", "disablePast", "value", "onChange", "calendarPlacement", "style", "className", "doneButtonText", "closeOnChange", "disablePickers", "getRootRef", "name", "autoFocus", "disabled", "onClick", "onFocus", "prevMonthAriaLabel", "nextMonthAriaLabel", "showNeighboringMonth", "size", "changeMonthAriaLabel", "changeYearAriaLabel", "changeDayAriaLabel", "changeHoursAriaLabel", "changeMinutesAriaLabel", "clearFieldAriaLabel", "showCalendarAriaLabel", "viewDate", "onHeaderChange", "onNextMonth", "onPrevMonth", "prevMonthIcon", "nextMonthIcon", "disableCalendar"];
|
|
4
4
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { format, isMatch, parse } from "../../lib/date";
|
|
@@ -116,6 +116,8 @@ export var DateInput = function DateInput(_ref) {
|
|
|
116
116
|
onPrevMonth = _ref.onPrevMonth,
|
|
117
117
|
prevMonthIcon = _ref.prevMonthIcon,
|
|
118
118
|
nextMonthIcon = _ref.nextMonthIcon,
|
|
119
|
+
_ref$disableCalendar = _ref.disableCalendar,
|
|
120
|
+
disableCalendar = _ref$disableCalendar === void 0 ? false : _ref$disableCalendar,
|
|
119
121
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
120
122
|
|
|
121
123
|
var daysRef = React.useRef(null);
|
|
@@ -242,7 +244,7 @@ export var DateInput = function DateInput(_ref) {
|
|
|
242
244
|
onElementSelect: setFocusedElement,
|
|
243
245
|
value: internalValue[4],
|
|
244
246
|
"aria-label": changeMinutesAriaLabel
|
|
245
|
-
}))), open && createScopedElement(Popper, {
|
|
247
|
+
}))), open && !disableCalendar && createScopedElement(Popper, {
|
|
246
248
|
targetRef: rootRef,
|
|
247
249
|
offsetDistance: 8,
|
|
248
250
|
placement: calendarPlacement
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/DateInput/DateInput.tsx"],"names":["React","format","isMatch","parse","Icon16Clear","Icon20CalendarOutline","Calendar","Popper","multiRef","IconButton","classNames","FormField","useDateInput","InputLike","InputLikeDivider","useAdaptivity","callMultiple","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","doneButtonText","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","showNeighboringMonth","size","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","changeHoursAriaLabel","changeMinutesAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","props","daysRef","useRef","monthsRef","yearsRef","hoursRef","minutesRef","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","Date","refs","useMemo","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport { Calendar, CalendarProps } from \"../Calendar/Calendar\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { multiRef } from \"../../lib/utils\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { classNames } from \"../../lib/classNames\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateInput.css\";\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n \"value\" | \"onChange\" | \"size\"\n >,\n Pick<\n CalendarProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"enableTime\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"doneButtonText\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"changeHoursAriaLabel\"\n | \"changeMinutesAriaLabel\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"showNeighboringMonth\"\n | \"size\"\n | \"viewDate\"\n | \"onHeaderChange\"\n | \"onNextMonth\"\n | \"onPrevMonth\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\"];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, \"0\");\n newValue[1] = String(value.getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value.getFullYear()).padStart(4, \"0\");\n newValue[3] = String(value.getHours()).padStart(2, \"0\");\n newValue[4] = String(value.getMinutes()).padStart(2, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateInput\n */\nexport const DateInput = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n doneButtonText,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n showNeighboringMonth,\n size,\n changeMonthAriaLabel = \"Изменить месяц\",\n changeYearAriaLabel = \"Изменить год\",\n changeDayAriaLabel = \"Изменить день\",\n changeHoursAriaLabel = \"Изменить час\",\n changeMinutesAriaLabel = \"Изменить минуту\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n viewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}: DateInputProps) => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = \"DD.MM.YYYY\";\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += \" HH:mm\";\n }\n\n if (isMatch(formattedValue, mask)) {\n onChange?.(parse(formattedValue, mask, value ?? new Date()));\n }\n },\n [enableTime, maxElement, onChange, value]\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (value?: Date | undefined) => {\n onChange?.(value);\n if (closeOnChange && !enableTime) {\n removeFocusFromField();\n }\n },\n [onChange, removeFocusFromField, closeOnChange, enableTime]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateInput\", `DateInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? format(value, enableTime ? \"DD.MM.YYYYTHH:mm\" : \"DD.MM.YYYY\")\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n tabIndex={1}\n length={2}\n getRootRef={daysRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeYearAriaLabel}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider vkuiClass=\"DateInput__input-time-divider\">\n {\" \"}\n </InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeHoursAriaLabel}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeMinutesAriaLabel}\n />\n </React.Fragment>\n )}\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <Calendar\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n disablePickers={disablePickers}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n viewDate={viewDate}\n onHeaderChange={onHeaderChange}\n onNextMonth={onNextMonth}\n onPrevMonth={onPrevMonth}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/DateInput/DateInput.tsx"],"names":["React","format","isMatch","parse","Icon16Clear","Icon20CalendarOutline","Calendar","Popper","multiRef","IconButton","classNames","FormField","useDateInput","InputLike","InputLikeDivider","useAdaptivity","callMultiple","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","doneButtonText","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","showNeighboringMonth","size","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","changeHoursAriaLabel","changeMinutesAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","disableCalendar","props","daysRef","useRef","monthsRef","yearsRef","hoursRef","minutesRef","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","Date","refs","useMemo","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport { Calendar, CalendarProps } from \"../Calendar/Calendar\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { multiRef } from \"../../lib/utils\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { classNames } from \"../../lib/classNames\";\nimport { FormField, FormFieldProps } from \"../FormField/FormField\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateInput.css\";\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n \"value\" | \"onChange\" | \"size\"\n >,\n Pick<\n CalendarProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"enableTime\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"doneButtonText\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"changeHoursAriaLabel\"\n | \"changeMinutesAriaLabel\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"showNeighboringMonth\"\n | \"size\"\n | \"viewDate\"\n | \"onHeaderChange\"\n | \"onNextMonth\"\n | \"onPrevMonth\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement>,\n FormFieldProps {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n disableCalendar?: boolean;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\"];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, \"0\");\n newValue[1] = String(value.getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value.getFullYear()).padStart(4, \"0\");\n newValue[3] = String(value.getHours()).padStart(2, \"0\");\n newValue[4] = String(value.getMinutes()).padStart(2, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateInput\n */\nexport const DateInput = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n doneButtonText,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n showNeighboringMonth,\n size,\n changeMonthAriaLabel = \"Изменить месяц\",\n changeYearAriaLabel = \"Изменить год\",\n changeDayAriaLabel = \"Изменить день\",\n changeHoursAriaLabel = \"Изменить час\",\n changeMinutesAriaLabel = \"Изменить минуту\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n viewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n disableCalendar = false,\n ...props\n}: DateInputProps) => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = \"DD.MM.YYYY\";\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += \" HH:mm\";\n }\n\n if (isMatch(formattedValue, mask)) {\n onChange?.(parse(formattedValue, mask, value ?? new Date()));\n }\n },\n [enableTime, maxElement, onChange, value]\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (value?: Date | undefined) => {\n onChange?.(value);\n if (closeOnChange && !enableTime) {\n removeFocusFromField();\n }\n },\n [onChange, removeFocusFromField, closeOnChange, enableTime]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateInput\", `DateInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? format(value, enableTime ? \"DD.MM.YYYYTHH:mm\" : \"DD.MM.YYYY\")\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n tabIndex={1}\n length={2}\n getRootRef={daysRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeYearAriaLabel}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider vkuiClass=\"DateInput__input-time-divider\">\n {\" \"}\n </InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeHoursAriaLabel}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeMinutesAriaLabel}\n />\n </React.Fragment>\n )}\n </span>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <Calendar\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n disablePickers={disablePickers}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n viewDate={viewDate}\n onHeaderChange={onHeaderChange}\n onNextMonth={onNextMonth}\n onPrevMonth={onPrevMonth}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateInput.js"}
|
|
@@ -2,8 +2,9 @@ import * as React from "react";
|
|
|
2
2
|
import { CalendarRangeProps } from "../CalendarRange/CalendarRange";
|
|
3
3
|
import { Placement } from "../Popper/Popper";
|
|
4
4
|
import { HasRootRef } from "../../types";
|
|
5
|
+
import { FormFieldProps } from "../FormField/FormField";
|
|
5
6
|
import "./DateRangeInput.css";
|
|
6
|
-
export interface DateRangeInputProps extends Omit<React.InputHTMLAttributes<HTMLDivElement>, "value" | "onChange">, Pick<CalendarRangeProps, "disablePast" | "disableFuture" | "shouldDisableDate" | "onChange" | "value" | "weekStartsOn" | "disablePickers" | "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "changeDayAriaLabel" | "prevMonthIcon" | "nextMonthIcon">, HasRootRef<HTMLDivElement
|
|
7
|
+
export interface DateRangeInputProps extends Omit<React.InputHTMLAttributes<HTMLDivElement>, "value" | "onChange">, Pick<CalendarRangeProps, "disablePast" | "disableFuture" | "shouldDisableDate" | "onChange" | "value" | "weekStartsOn" | "disablePickers" | "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "changeDayAriaLabel" | "prevMonthIcon" | "nextMonthIcon">, HasRootRef<HTMLDivElement>, FormFieldProps {
|
|
7
8
|
calendarPlacement?: Placement;
|
|
8
9
|
closeOnChange?: boolean;
|
|
9
10
|
clearFieldAriaLabel?: string;
|
|
@@ -14,8 +15,9 @@ export interface DateRangeInputProps extends Omit<React.InputHTMLAttributes<HTML
|
|
|
14
15
|
changeEndDayAriaLabel?: string;
|
|
15
16
|
changeEndMonthAriaLabel?: string;
|
|
16
17
|
changeEndYearAriaLabel?: string;
|
|
18
|
+
disableCalendar?: boolean;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* @see https://vkcom.github.io/VKUI/#/DateRangeInput
|
|
20
22
|
*/
|
|
21
|
-
export declare const DateRangeInput: ({ shouldDisableDate, disableFuture, disablePast, value, onChange, calendarPlacement, style, className, closeOnChange, disablePickers, getRootRef, name, autoFocus, disabled, onClick, onFocus, prevMonthAriaLabel, nextMonthAriaLabel, changeDayAriaLabel, changeMonthAriaLabel, changeYearAriaLabel, changeStartDayAriaLabel, changeStartMonthAriaLabel, changeStartYearAriaLabel, changeEndDayAriaLabel, changeEndMonthAriaLabel, changeEndYearAriaLabel, clearFieldAriaLabel, showCalendarAriaLabel, prevMonthIcon, nextMonthIcon, ...props }: DateRangeInputProps) => JSX.Element;
|
|
23
|
+
export declare const DateRangeInput: ({ shouldDisableDate, disableFuture, disablePast, value, onChange, calendarPlacement, style, className, closeOnChange, disablePickers, getRootRef, name, autoFocus, disabled, onClick, onFocus, prevMonthAriaLabel, nextMonthAriaLabel, changeDayAriaLabel, changeMonthAriaLabel, changeYearAriaLabel, changeStartDayAriaLabel, changeStartMonthAriaLabel, changeStartYearAriaLabel, changeEndDayAriaLabel, changeEndMonthAriaLabel, changeEndYearAriaLabel, clearFieldAriaLabel, showCalendarAriaLabel, prevMonthIcon, nextMonthIcon, disableCalendar, ...props }: DateRangeInputProps) => JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["shouldDisableDate", "disableFuture", "disablePast", "value", "onChange", "calendarPlacement", "style", "className", "closeOnChange", "disablePickers", "getRootRef", "name", "autoFocus", "disabled", "onClick", "onFocus", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeDayAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "changeStartDayAriaLabel", "changeStartMonthAriaLabel", "changeStartYearAriaLabel", "changeEndDayAriaLabel", "changeEndMonthAriaLabel", "changeEndYearAriaLabel", "clearFieldAriaLabel", "showCalendarAriaLabel", "prevMonthIcon", "nextMonthIcon"];
|
|
3
|
+
var _excluded = ["shouldDisableDate", "disableFuture", "disablePast", "value", "onChange", "calendarPlacement", "style", "className", "closeOnChange", "disablePickers", "getRootRef", "name", "autoFocus", "disabled", "onClick", "onFocus", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeDayAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "changeStartDayAriaLabel", "changeStartMonthAriaLabel", "changeStartYearAriaLabel", "changeEndDayAriaLabel", "changeEndMonthAriaLabel", "changeEndYearAriaLabel", "clearFieldAriaLabel", "showCalendarAriaLabel", "prevMonthIcon", "nextMonthIcon", "disableCalendar"];
|
|
4
4
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { format, isMatch, parse, isAfter } from "../../lib/date";
|
|
@@ -112,6 +112,8 @@ export var DateRangeInput = function DateRangeInput(_ref) {
|
|
|
112
112
|
showCalendarAriaLabel = _ref$showCalendarAria === void 0 ? "Показать календарь" : _ref$showCalendarAria,
|
|
113
113
|
prevMonthIcon = _ref.prevMonthIcon,
|
|
114
114
|
nextMonthIcon = _ref.nextMonthIcon,
|
|
115
|
+
_ref$disableCalendar = _ref.disableCalendar,
|
|
116
|
+
disableCalendar = _ref$disableCalendar === void 0 ? false : _ref$disableCalendar,
|
|
115
117
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
116
118
|
|
|
117
119
|
var daysStartRef = React.useRef(null);
|
|
@@ -264,7 +266,7 @@ export var DateRangeInput = function DateRangeInput(_ref) {
|
|
|
264
266
|
onElementSelect: setFocusedElement,
|
|
265
267
|
value: internalValue[5],
|
|
266
268
|
"aria-label": changeEndYearAriaLabel
|
|
267
|
-
})), open && createScopedElement(Popper, {
|
|
269
|
+
})), open && !disableCalendar && createScopedElement(Popper, {
|
|
268
270
|
targetRef: rootRef,
|
|
269
271
|
offsetDistance: 8,
|
|
270
272
|
placement: calendarPlacement
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["React","format","isMatch","parse","isAfter","Icon16Clear","Icon20CalendarOutline","CalendarRange","Popper","IconButton","useDateInput","useAdaptivity","classNames","multiRef","FormField","InputLike","InputLikeDivider","callMultiple","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","prevMonthIcon","nextMonthIcon","props","daysStartRef","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateRangeInput\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}: DateRangeInputProps) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? `${value[0] ? format(value[0], \"DD.MM.YYYY\") : \"\"} - ${\n value[1] ? format(value[1], \"DD.MM.YYYY\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["React","format","isMatch","parse","isAfter","Icon16Clear","Icon20CalendarOutline","CalendarRange","Popper","IconButton","useDateInput","useAdaptivity","classNames","multiRef","FormField","InputLike","InputLikeDivider","callMultiple","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","prevMonthIcon","nextMonthIcon","disableCalendar","props","daysStartRef","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField, FormFieldProps } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement>,\n FormFieldProps {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: string;\n disableCalendar?: boolean;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateRangeInput\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n prevMonthIcon,\n nextMonthIcon,\n disableCalendar = false,\n ...props\n}: DateRangeInputProps) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? `${value[0] ? format(value[0], \"DD.MM.YYYY\") : \"\"} - ${\n value[1] ? format(value[1], \"DD.MM.YYYY\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export interface DropdownIconProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
opened?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const DropdownIcon: ({ opened, ...restProps }: DropdownIconProps) => JSX.Element;
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["opened"];
|
|
2
4
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
3
|
-
import { Icon20Dropdown, Icon24ChevronDown } from "@vkontakte/icons";
|
|
5
|
+
import { Icon20Dropdown, Icon24ChevronDown, Icon24ChevronUp, Icon20ChevronUp } from "@vkontakte/icons";
|
|
6
|
+
import { classNames } from "../../lib/classNames";
|
|
4
7
|
import { SizeType } from "../AdaptivityProvider/AdaptivityContext";
|
|
5
|
-
import { getClassName } from "../../helpers/getClassName";
|
|
6
8
|
import { useAdaptivity } from "../../hooks/useAdaptivity";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
export var DropdownIcon = function DropdownIcon(_ref) {
|
|
10
|
+
var _ref$opened = _ref.opened,
|
|
11
|
+
opened = _ref$opened === void 0 ? false : _ref$opened,
|
|
12
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
10
13
|
|
|
11
14
|
var _useAdaptivity = useAdaptivity(),
|
|
12
15
|
sizeY = _useAdaptivity.sizeY;
|
|
13
16
|
|
|
14
17
|
var Icon = sizeY === SizeType.COMPACT ? Icon20Dropdown : Icon24ChevronDown;
|
|
18
|
+
|
|
19
|
+
if (opened) {
|
|
20
|
+
Icon = sizeY === SizeType.COMPACT ? Icon20ChevronUp : Icon24ChevronUp;
|
|
21
|
+
}
|
|
22
|
+
|
|
15
23
|
return createScopedElement(Icon, _extends({
|
|
16
|
-
vkuiClass:
|
|
17
|
-
},
|
|
24
|
+
vkuiClass: classNames("DropdownIcon")
|
|
25
|
+
}, restProps));
|
|
18
26
|
};
|
|
19
27
|
//# sourceMappingURL=DropdownIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/DropdownIcon/DropdownIcon.tsx"],"names":["Icon20Dropdown","Icon24ChevronDown","
|
|
1
|
+
{"version":3,"sources":["../../../src/components/DropdownIcon/DropdownIcon.tsx"],"names":["Icon20Dropdown","Icon24ChevronDown","Icon24ChevronUp","Icon20ChevronUp","classNames","SizeType","useAdaptivity","DropdownIcon","opened","restProps","sizeY","Icon","COMPACT"],"mappings":";;;;AACA,SACEA,cADF,EAEEC,iBAFF,EAGEC,eAHF,EAIEC,eAJF,QAKO,kBALP;AAMA,SAASC,UAAT;AACA,SAASC,QAAT;AACA,SAASC,aAAT;AAOA,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAGH;AAAA,yBAFvBC,MAEuB;AAAA,MAFvBA,MAEuB,4BAFd,KAEc;AAAA,MADpBC,SACoB;;AACvB,uBAAkBH,aAAa,EAA/B;AAAA,MAAQI,KAAR,kBAAQA,KAAR;;AAEA,MAAIC,IAAI,GAAGD,KAAK,KAAKL,QAAQ,CAACO,OAAnB,GAA6BZ,cAA7B,GAA8CC,iBAAzD;;AAEA,MAAIO,MAAJ,EAAY;AACVG,IAAAA,IAAI,GAAGD,KAAK,KAAKL,QAAQ,CAACO,OAAnB,GAA6BT,eAA7B,GAA+CD,eAAtD;AACD;;AAED,SAAO,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEE,UAAU,CAAC,cAAD;AAA3B,KAAiDK,SAAjD,EAAP;AACD,CAbM","sourcesContent":["import * as React from \"react\";\nimport {\n Icon20Dropdown,\n Icon24ChevronDown,\n Icon24ChevronUp,\n Icon20ChevronUp,\n} from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { SizeType } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\n\nexport interface DropdownIconProps\n extends React.HTMLAttributes<HTMLDivElement> {\n opened?: boolean;\n}\n\nexport const DropdownIcon = ({\n opened = false,\n ...restProps\n}: DropdownIconProps) => {\n const { sizeY } = useAdaptivity();\n\n let Icon = sizeY === SizeType.COMPACT ? Icon20Dropdown : Icon24ChevronDown;\n\n if (opened) {\n Icon = sizeY === SizeType.COMPACT ? Icon20ChevronUp : Icon24ChevronUp;\n }\n\n return <Icon vkuiClass={classNames(\"DropdownIcon\")} {...restProps} />;\n};\n"],"file":"DropdownIcon.js"}
|
|
@@ -6,6 +6,7 @@ export declare const FormFieldMode: {
|
|
|
6
6
|
readonly plain: "plain";
|
|
7
7
|
};
|
|
8
8
|
export interface FormFieldProps {
|
|
9
|
+
status?: "default" | "error" | "valid";
|
|
9
10
|
/**
|
|
10
11
|
* Добавляет иконку слева.
|
|
11
12
|
*
|
|
@@ -32,5 +33,5 @@ interface FormFieldOwnProps extends React.AllHTMLAttributes<HTMLElement>, HasRoo
|
|
|
32
33
|
/**
|
|
33
34
|
* @see https://vkcom.github.io/VKUI/#/FormField
|
|
34
35
|
*/
|
|
35
|
-
export declare const FormField: ({ Component, children, getRootRef, before, after, disabled, mode, ...restProps }: FormFieldOwnProps) => JSX.Element;
|
|
36
|
+
export declare const FormField: ({ Component, status, children, getRootRef, before, after, disabled, mode, ...restProps }: FormFieldOwnProps) => JSX.Element;
|
|
36
37
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["Component", "children", "getRootRef", "before", "after", "disabled", "mode"];
|
|
4
|
+
var _excluded = ["Component", "status", "children", "getRootRef", "before", "after", "disabled", "mode"];
|
|
5
5
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { classNames } from "../../lib/classNames";
|
|
@@ -17,6 +17,8 @@ export var FormFieldMode = {
|
|
|
17
17
|
export var FormField = function FormField(_ref) {
|
|
18
18
|
var _ref$Component = _ref.Component,
|
|
19
19
|
Component = _ref$Component === void 0 ? "div" : _ref$Component,
|
|
20
|
+
_ref$status = _ref.status,
|
|
21
|
+
status = _ref$status === void 0 ? "default" : _ref$status,
|
|
20
22
|
children = _ref.children,
|
|
21
23
|
getRootRef = _ref.getRootRef,
|
|
22
24
|
before = _ref.before,
|
|
@@ -50,7 +52,7 @@ export var FormField = function FormField(_ref) {
|
|
|
50
52
|
ref: getRootRef,
|
|
51
53
|
onMouseEnter: handleMouseEnter,
|
|
52
54
|
onMouseLeave: handleMouseLeave,
|
|
53
|
-
vkuiClass: classNames("FormField", "FormField--".concat(mode), "FormField--sizeY-".concat(sizeY), // TODO v5.0.0 поправить под новую адаптивность
|
|
55
|
+
vkuiClass: classNames("FormField", "FormField--".concat(mode), "FormField--status-".concat(status), "FormField--sizeY-".concat(sizeY), // TODO v5.0.0 поправить под новую адаптивность
|
|
54
56
|
disabled && "FormField--disabled", !disabled && hover && "FormField--hover")
|
|
55
57
|
}), before && createScopedElement("div", {
|
|
56
58
|
role: "presentation",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/FormField/FormField.tsx"],"names":["React","classNames","useAdaptivity","FormFieldMode","default","plain","FormField","Component","children","getRootRef","before","after","disabled","mode","restProps","sizeY","useState","hover","setHover","handleMouseEnter","e","stopPropagation","handleMouseLeave"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AAEA,SAASC,aAAT;AAGA,OAAO,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,OAAO,EAAE,SADkB;AAE3BC,EAAAA,KAAK,EAAE;AAFoB,CAAtB;;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/FormField/FormField.tsx"],"names":["React","classNames","useAdaptivity","FormFieldMode","default","plain","FormField","Component","status","children","getRootRef","before","after","disabled","mode","restProps","sizeY","useState","hover","setHover","handleMouseEnter","e","stopPropagation","handleMouseLeave"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AAEA,SAASC,aAAT;AAGA,OAAO,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,OAAO,EAAE,SADkB;AAE3BC,EAAAA,KAAK,EAAE;AAFoB,CAAtB;;AAoCP;AACA;AACA;AACA,OAAO,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAUA;AAAA,4BATvBC,SASuB;AAAA,MATvBA,SASuB,+BATX,KASW;AAAA,yBARvBC,MAQuB;AAAA,MARvBA,MAQuB,4BARd,SAQc;AAAA,MAPvBC,QAOuB,QAPvBA,QAOuB;AAAA,MANvBC,UAMuB,QANvBA,UAMuB;AAAA,MALvBC,MAKuB,QALvBA,MAKuB;AAAA,MAJvBC,KAIuB,QAJvBA,KAIuB;AAAA,MAHvBC,QAGuB,QAHvBA,QAGuB;AAAA,uBAFvBC,IAEuB;AAAA,MAFvBA,IAEuB,0BAFhBX,aAAa,CAACC,OAEE;AAAA,MADpBW,SACoB;;AACvB,uBAAkBb,aAAa,EAA/B;AAAA,MAAQc,KAAR,kBAAQA,KAAR;;AACA,wBAA0BhB,KAAK,CAACiB,QAAN,CAAe,KAAf,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,CAAD,EAAmB;AAC1CA,IAAAA,CAAC,CAACC,eAAF;AACAH,IAAAA,QAAQ,CAAC,IAAD,CAAR;AACD,GAHD;;AAKA,MAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACF,CAAD,EAAmB;AAC1CA,IAAAA,CAAC,CAACC,eAAF;AACAH,IAAAA,QAAQ,CAAC,KAAD,CAAR;AACD,GAHD;;AAKA,SACE,oBAAC,SAAD;AACE,IAAA,IAAI,EAAC;AADP,KAEMJ,SAFN;AAGE,IAAA,GAAG,EAAEL,UAHP;AAIE,IAAA,YAAY,EAAEU,gBAJhB;AAKE,IAAA,YAAY,EAAEG,gBALhB;AAME,IAAA,SAAS,EAAEtB,UAAU,CACnB,WADmB,uBAELa,IAFK,+BAGEN,MAHF,8BAICQ,KAJD,GAIU;AAC7BH,IAAAA,QAAQ,IAAI,qBALO,EAMnB,CAACA,QAAD,IAAaK,KAAb,IAAsB,kBANH;AANvB,MAeGP,MAAM,IACL;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGA,MADH,CAhBJ,EAoBGF,QApBH,EAqBGG,KAAK,IACJ;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGA,KADH,CAtBJ,EA0BE;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,IA1BF,CADF;AA8BD,CAtDM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport \"./FormField.css\";\n\nexport const FormFieldMode = {\n default: \"default\",\n plain: \"plain\",\n} as const;\n\nexport interface FormFieldProps {\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Добавляет иконку слева.\n *\n * Рекомендации:\n *\n * - Используйте следующие размеры иконок `12` | `16` | `20` | `24` | `28`.\n * - Используйте [IconButton](https://vkcom.github.io/VKUI/#/IconButton), если вам нужна кликабельная иконка.\n */\n before?: React.ReactNode;\n /**\n * Добавляет иконку справа.\n *\n * Рекомендации:\n *\n * - Используйте следующие размеры иконок `12` | `16` | `20` | `24` | `28`.\n * - Используйте [IconButton](https://vkcom.github.io/VKUI/#/IconButton), если вам нужна кликабельная иконка.\n */\n after?: React.ReactNode;\n mode?: keyof typeof FormFieldMode;\n}\n\ninterface FormFieldOwnProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n FormFieldProps {\n disabled?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FormField\n */\nexport const FormField = ({\n Component = \"div\",\n status = \"default\",\n children,\n getRootRef,\n before,\n after,\n disabled,\n mode = FormFieldMode.default,\n ...restProps\n}: FormFieldOwnProps) => {\n const { sizeY } = useAdaptivity();\n const [hover, setHover] = React.useState(false);\n\n const handleMouseEnter = (e: MouseEvent) => {\n e.stopPropagation();\n setHover(true);\n };\n\n const handleMouseLeave = (e: MouseEvent) => {\n e.stopPropagation();\n setHover(false);\n };\n\n return (\n <Component\n role=\"presentation\"\n {...restProps}\n ref={getRootRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n vkuiClass={classNames(\n \"FormField\",\n `FormField--${mode}`,\n `FormField--status-${status}`,\n `FormField--sizeY-${sizeY}`, // TODO v5.0.0 поправить под новую адаптивность\n disabled && \"FormField--disabled\",\n !disabled && hover && \"FormField--hover\"\n )}\n >\n {before && (\n <div role=\"presentation\" vkuiClass=\"FormField__before\">\n {before}\n </div>\n )}\n {children}\n {after && (\n <div role=\"presentation\" vkuiClass=\"FormField__after\">\n {after}\n </div>\n )}\n <div role=\"presentation\" vkuiClass=\"FormField__border\" />\n </Component>\n );\n};\n"],"file":"FormField.js"}
|
|
@@ -8,8 +8,12 @@ export interface FormLayoutGroupProps extends React.HTMLAttributes<HTMLDivElemen
|
|
|
8
8
|
* Только для режима horizontal. Дает возможность удалить всю группу `FormItem`.
|
|
9
9
|
*/
|
|
10
10
|
removable?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Только для режима horizontal. Дает возможность склеить несколько `FormItem`.
|
|
13
|
+
*/
|
|
14
|
+
segmented?: boolean;
|
|
11
15
|
}
|
|
12
16
|
/**
|
|
13
17
|
* @see https://vkcom.github.io/VKUI/#/FormLayoutGroup
|
|
14
18
|
*/
|
|
15
|
-
export declare const FormLayoutGroup: ({ children, mode, removable, removePlaceholder, onRemove, getRootRef, ...restProps }: FormLayoutGroupProps) => JSX.Element;
|
|
19
|
+
export declare const FormLayoutGroup: ({ children, mode, removable, segmented, removePlaceholder, onRemove, getRootRef, ...restProps }: FormLayoutGroupProps) => JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["children", "mode", "removable", "removePlaceholder", "onRemove", "getRootRef"];
|
|
3
|
+
var _excluded = ["children", "mode", "removable", "segmented", "removePlaceholder", "onRemove", "getRootRef"];
|
|
4
4
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
5
|
+
import * as React from "react";
|
|
5
6
|
import { getClassName } from "../../helpers/getClassName";
|
|
6
7
|
import { classNames } from "../../lib/classNames";
|
|
7
8
|
import { noop } from "../../lib/utils";
|
|
@@ -18,6 +19,7 @@ export var FormLayoutGroup = function FormLayoutGroup(_ref) {
|
|
|
18
19
|
_ref$mode = _ref.mode,
|
|
19
20
|
mode = _ref$mode === void 0 ? "vertical" : _ref$mode,
|
|
20
21
|
removable = _ref.removable,
|
|
22
|
+
segmented = _ref.segmented,
|
|
21
23
|
_ref$removePlaceholde = _ref.removePlaceholder,
|
|
22
24
|
removePlaceholder = _ref$removePlaceholde === void 0 ? "Удалить" : _ref$removePlaceholde,
|
|
23
25
|
_ref$onRemove = _ref.onRemove,
|
|
@@ -31,11 +33,12 @@ export var FormLayoutGroup = function FormLayoutGroup(_ref) {
|
|
|
31
33
|
sizeY = _useAdaptivity.sizeY;
|
|
32
34
|
|
|
33
35
|
var isRemovable = removable && mode === "horizontal";
|
|
36
|
+
var isSegmented = segmented && mode === "horizontal";
|
|
34
37
|
var rootEl = useExternRef(getRootRef);
|
|
35
38
|
return createScopedElement("div", _extends({
|
|
36
39
|
ref: rootEl,
|
|
37
40
|
vkuiClass: classNames(getClassName("FormLayoutGroup", platform), // TODO: v5 remove
|
|
38
|
-
"FormLayoutGroup--sizeY-".concat(sizeY), "FormLayoutGroup--".concat(mode), isRemovable && "FormLayoutGroup--removable")
|
|
41
|
+
"FormLayoutGroup--sizeY-".concat(sizeY), "FormLayoutGroup--".concat(mode), isRemovable && "FormLayoutGroup--removable", isSegmented && "FormLayoutGroup--segmented")
|
|
39
42
|
}, restProps), isRemovable ? createScopedElement(Removable, {
|
|
40
43
|
vkuiClass: "FormLayoutGroup__removable",
|
|
41
44
|
align: "start",
|
|
@@ -45,6 +48,9 @@ export var FormLayoutGroup = function FormLayoutGroup(_ref) {
|
|
|
45
48
|
_onRemove(e, rootEl.current);
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
|
-
}, children) : children
|
|
51
|
+
}, children) : createScopedElement(React.Fragment, null, children, createScopedElement("span", {
|
|
52
|
+
vkuiClass: "FormLayoutGroup__offset",
|
|
53
|
+
"aria-hidden": true
|
|
54
|
+
})));
|
|
49
55
|
};
|
|
50
56
|
//# sourceMappingURL=FormLayoutGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/FormLayoutGroup/FormLayoutGroup.tsx"],"names":["getClassName","classNames","noop","useExternRef","usePlatform","Removable","useAdaptivity","FormLayoutGroup","children","mode","removable","removePlaceholder","onRemove","getRootRef","restProps","platform","sizeY","isRemovable","rootEl","e","current"],"mappings":";;;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/FormLayoutGroup/FormLayoutGroup.tsx"],"names":["React","getClassName","classNames","noop","useExternRef","usePlatform","Removable","useAdaptivity","FormLayoutGroup","children","mode","removable","segmented","removePlaceholder","onRemove","getRootRef","restProps","platform","sizeY","isRemovable","isSegmented","rootEl","e","current"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,IAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,SAAT;AACA,SAASC,aAAT;;AAmBA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,OASH;AAAA,MAR1BC,QAQ0B,QAR1BA,QAQ0B;AAAA,uBAP1BC,IAO0B;AAAA,MAP1BA,IAO0B,0BAPnB,UAOmB;AAAA,MAN1BC,SAM0B,QAN1BA,SAM0B;AAAA,MAL1BC,SAK0B,QAL1BA,SAK0B;AAAA,mCAJ1BC,iBAI0B;AAAA,MAJ1BA,iBAI0B,sCAJN,SAIM;AAAA,2BAH1BC,QAG0B;AAAA,MAH1BA,SAG0B,8BAHfX,IAGe;AAAA,MAF1BY,UAE0B,QAF1BA,UAE0B;AAAA,MADvBC,SACuB;;AAC1B,MAAMC,QAAQ,GAAGZ,WAAW,EAA5B;;AACA,uBAAkBE,aAAa,EAA/B;AAAA,MAAQW,KAAR,kBAAQA,KAAR;;AACA,MAAMC,WAAW,GAAGR,SAAS,IAAID,IAAI,KAAK,YAA1C;AACA,MAAMU,WAAW,GAAGR,SAAS,IAAIF,IAAI,KAAK,YAA1C;AACA,MAAMW,MAAM,GAAGjB,YAAY,CAACW,UAAD,CAA3B;AAEA,SACE;AACE,IAAA,GAAG,EAAEM,MADP;AAEE,IAAA,SAAS,EAAEnB,UAAU,CACnBD,YAAY,CAAC,iBAAD,EAAoBgB,QAApB,CADO,EACwB;AADxB,qCAEOC,KAFP,8BAGCR,IAHD,GAInBS,WAAW,IAAI,4BAJI,EAKnBC,WAAW,IAAI,4BALI;AAFvB,KASMJ,SATN,GAWGG,WAAW,GACV,oBAAC,SAAD;AACE,IAAA,SAAS,EAAC,4BADZ;AAEE,IAAA,KAAK,EAAC,OAFR;AAGE,IAAA,iBAAiB,EAAEN,iBAHrB;AAIE,IAAA,QAAQ,EAAE,kBAACS,CAAD,EAAO;AACf,UAAID,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEE,OAAZ,EAAqB;AACnBT,QAAAA,SAAQ,CAACQ,CAAD,EAAID,MAAM,CAACE,OAAX,CAAR;AACD;AACF;AARH,KAUGd,QAVH,CADU,GAcV,oBAAC,KAAD,CAAO,QAAP,QACGA,QADH,EAEE;AAAM,IAAA,SAAS,EAAC,yBAAhB;AAA0C;AAA1C,IAFF,CAzBJ,CADF;AAiCD,CAjDM","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { noop } from \"../../lib/utils\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport \"./FormLayoutGroup.css\";\n\nexport interface FormLayoutGroupProps\n extends React.HTMLAttributes<HTMLDivElement>,\n RemovableProps,\n HasRootRef<HTMLDivElement> {\n mode?: \"vertical\" | \"horizontal\";\n /**\n * Только для режима horizontal. Дает возможность удалить всю группу `FormItem`.\n */\n removable?: boolean;\n\n /**\n * Только для режима horizontal. Дает возможность склеить несколько `FormItem`.\n */\n segmented?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FormLayoutGroup\n */\nexport const FormLayoutGroup = ({\n children,\n mode = \"vertical\",\n removable,\n segmented,\n removePlaceholder = \"Удалить\",\n onRemove = noop,\n getRootRef,\n ...restProps\n}: FormLayoutGroupProps) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const isRemovable = removable && mode === \"horizontal\";\n const isSegmented = segmented && mode === \"horizontal\";\n const rootEl = useExternRef(getRootRef);\n\n return (\n <div\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormLayoutGroup\", platform), // TODO: v5 remove\n `FormLayoutGroup--sizeY-${sizeY}`,\n `FormLayoutGroup--${mode}`,\n isRemovable && \"FormLayoutGroup--removable\",\n isSegmented && \"FormLayoutGroup--segmented\"\n )}\n {...restProps}\n >\n {isRemovable ? (\n <Removable\n vkuiClass=\"FormLayoutGroup__removable\"\n align=\"start\"\n removePlaceholder={removePlaceholder}\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n >\n {children}\n </Removable>\n ) : (\n <React.Fragment>\n {children}\n <span vkuiClass=\"FormLayoutGroup__offset\" aria-hidden />\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"file":"FormLayoutGroup.js"}
|
|
@@ -5,6 +5,7 @@ export interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
5
5
|
header?: React.ReactNode;
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
|
+
* @deprecated Этот компонент устарел и будет удален в v5.0.0. Используйте [`Banner`](#/Banner).
|
|
8
9
|
* @see https://vkcom.github.io/VKUI/#/FormStatus
|
|
9
10
|
*/
|
|
10
11
|
export declare const FormStatus: ({ mode, header, children, dangerouslySetInnerHTML, ...restProps }: FormStatusProps) => JSX.Element;
|
|
@@ -3,13 +3,14 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
var _excluded = ["mode", "header", "children", "dangerouslySetInnerHTML"];
|
|
4
4
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
5
5
|
import { classNames } from "../../lib/classNames";
|
|
6
|
-
import { getClassName } from "../../helpers/getClassName";
|
|
7
|
-
import { usePlatform } from "../../hooks/usePlatform";
|
|
8
6
|
import { Headline } from "../Typography/Headline/Headline";
|
|
9
7
|
import { Caption } from "../Typography/Caption/Caption";
|
|
10
8
|
import { hasReactNode } from "../../lib/utils";
|
|
11
9
|
|
|
10
|
+
/* TODO: v5.0.0 удалить */
|
|
11
|
+
|
|
12
12
|
/**
|
|
13
|
+
* @deprecated Этот компонент устарел и будет удален в v5.0.0. Используйте [`Banner`](#/Banner).
|
|
13
14
|
* @see https://vkcom.github.io/VKUI/#/FormStatus
|
|
14
15
|
*/
|
|
15
16
|
export var FormStatus = function FormStatus(_ref) {
|
|
@@ -19,9 +20,8 @@ export var FormStatus = function FormStatus(_ref) {
|
|
|
19
20
|
dangerouslySetInnerHTML = _ref.dangerouslySetInnerHTML,
|
|
20
21
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
21
22
|
|
|
22
|
-
var platform = usePlatform();
|
|
23
23
|
return createScopedElement("div", _extends({}, restProps, {
|
|
24
|
-
vkuiClass: classNames(
|
|
24
|
+
vkuiClass: classNames("FormStatus", "FormStatus--".concat(mode))
|
|
25
25
|
}), hasReactNode(header) && createScopedElement(Headline, {
|
|
26
26
|
weight: "2",
|
|
27
27
|
vkuiClass: "FormStatus__header"
|