@vkontakte/vkui 4.34.0 → 4.35.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/.browserslistrc +5 -0
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +291 -268
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +1 -1
- package/.cache/ts/src/components/Button/Button.d.ts +1 -1
- package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +1 -1
- package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +1 -1
- package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
- package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
- package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
- package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +46 -5
- package/.cache/ts/src/components/Epic/Epic.d.ts +1 -1
- package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/.cache/ts/src/components/Group/Group.d.ts +1 -1
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
- package/.cache/ts/src/components/Input/Input.d.ts +1 -1
- package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
- package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +1 -1
- package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/.cache/ts/src/components/Panel/Panel.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +1 -1
- package/.cache/ts/src/components/Popper/Popper.d.ts +18 -1
- package/.cache/ts/src/components/PopperArrow/PopperArrow.d.ts +8 -0
- package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
- package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/.cache/ts/src/components/RichCell/RichCell.d.ts +1 -1
- package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +7 -2
- package/.cache/ts/src/components/Search/Search.d.ts +1 -1
- package/.cache/ts/src/components/Select/Select.d.ts +1 -1
- package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +5 -1
- package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -0
- package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +8 -1
- package/.cache/ts/src/components/Tabs/Tabs.d.ts +14 -3
- package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +22 -1
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
- package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +5 -1
- package/.cache/ts/src/components/Textarea/Textarea.d.ts +4 -1
- package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +18 -1
- package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +3 -3
- package/.cache/ts/src/components/View/View.d.ts +2 -18
- package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
- package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +5 -1
- package/.cache/ts/src/hoc/withAdaptivity.d.ts +1 -1
- package/.cache/ts/src/hoc/withContext.d.ts +1 -1
- package/.cache/ts/src/hoc/withPlatform.d.ts +1 -1
- package/.cache/ts/src/tokenized/index.d.ts +26 -0
- package/.eslintrc.json +14 -4
- package/dist/cjs/components/AppRoot/AppRoot.js +13 -15
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/Button/Button.js +6 -4
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js +3 -1
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -0
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +7 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +477 -553
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +73 -35
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.js +147 -26
- package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.js +1 -6
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/FocusTrap/FocusTrap.js +9 -10
- package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.js +4 -10
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -7
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -0
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/Input/Input.js +3 -6
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +1 -0
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.js +1 -0
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/Panel/Panel.js +1 -0
- package/dist/cjs/components/Panel/Panel.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js +1 -0
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.js +16 -22
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/PopperArrow/PopperArrow.js +40 -0
- package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -0
- package/dist/cjs/components/Radio/Radio.js +1 -0
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -0
- package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cjs/components/RichTooltip/RichTooltip.js +6 -15
- package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +1 -0
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +4 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js +21 -31
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.js +7 -11
- package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.js +7 -1
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SplitLayout/SplitLayout.js +5 -8
- package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cjs/components/Tabbar/Tabbar.js +15 -14
- package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -10
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js +23 -5
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/TabsItem/TabsItem.js +39 -22
- package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js +6 -9
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.js +5 -4
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +94 -71
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Typography/Headline/Headline.js +11 -2
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/View/View.js +388 -453
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.js +12 -5
- package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -8
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
- package/dist/cjs/hoc/withContext.js.map +1 -1
- package/dist/cjs/hoc/withPlatform.js.map +1 -1
- package/dist/cjs/hooks/useOrientationChange.js +2 -1
- package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
- package/dist/cjs/tokenized/index.js +104 -0
- package/dist/cjs/tokenized/index.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +1 -1
- package/dist/components/AppRoot/AppRoot.js +13 -15
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.js +6 -4
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.d.ts +1 -1
- package/dist/components/CardScroll/CardScroll.js +3 -1
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +5 -0
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.js +3 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +473 -579
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +71 -35
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +46 -5
- package/dist/components/Dropdown/Dropdown.js +137 -27
- package/dist/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts +1 -1
- package/dist/components/Epic/Epic.js +1 -4
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/dist/components/FocusTrap/FocusTrap.js +9 -9
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/FormField/FormField.js +4 -8
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/Group/Group.d.ts +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +3 -5
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -0
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.js +3 -4
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +1 -0
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/components/NativeSelect/NativeSelect.js +1 -0
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +1 -1
- package/dist/components/Panel/Panel.js +1 -0
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +1 -0
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/dist/components/PopoutRoot/PopoutRoot.d.ts +1 -1
- package/dist/components/Popper/Popper.d.ts +18 -1
- package/dist/components/Popper/Popper.js +15 -22
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PopperArrow/PopperArrow.d.ts +8 -0
- package/dist/components/PopperArrow/PopperArrow.js +27 -0
- package/dist/components/PopperArrow/PopperArrow.js.map +1 -0
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/Radio/Radio.js +1 -0
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/components/RangeSlider/UniversalSlider.js +1 -0
- package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +1 -1
- package/dist/components/RichTooltip/RichTooltip.d.ts +7 -2
- package/dist/components/RichTooltip/RichTooltip.js +5 -10
- package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/components/Search/Search.d.ts +1 -1
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.js +1 -0
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js +4 -1
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +19 -28
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +5 -1
- package/dist/components/Snackbar/Snackbar.js +8 -11
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts +1 -0
- package/dist/components/SplitCol/SplitCol.js +3 -0
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +4 -7
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.d.ts +8 -1
- package/dist/components/Tabbar/Tabbar.js +15 -14
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +7 -9
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +14 -3
- package/dist/components/Tabs/Tabs.js +23 -5
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts +22 -1
- package/dist/components/TabsItem/TabsItem.js +40 -21
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +1 -1
- package/dist/components/TextTooltip/TextTooltip.d.ts +5 -1
- package/dist/components/TextTooltip/TextTooltip.js +5 -7
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +4 -1
- package/dist/components/Textarea/Textarea.js +5 -4
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +18 -1
- package/dist/components/Tooltip/Tooltip.js +89 -68
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts +3 -3
- package/dist/components/Typography/Headline/Headline.js +10 -2
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/View/View.d.ts +2 -18
- package/dist/components/View/View.js +384 -462
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +5 -1
- package/dist/components/WriteBar/WriteBar.js +10 -5
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -6
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +143 -127
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.css +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/dist/cssm/components/Alert/Alert.css +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.d.ts +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +13 -15
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.css +3 -5
- package/dist/cssm/components/Badge/Badge.css +3 -3
- package/dist/cssm/components/Banner/Banner.css +5 -5
- package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -1
- package/dist/cssm/components/Button/Button.css +53 -35
- package/dist/cssm/components/Button/Button.d.ts +1 -1
- package/dist/cssm/components/Button/Button.js +6 -4
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.css +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
- package/dist/cssm/components/Card/Card.css +5 -6
- package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.d.ts +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +3 -1
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.css +3 -3
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
- package/dist/cssm/components/CellButton/CellButton.css +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/cssm/components/Chip/Chip.css +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -0
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +3 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
- package/dist/cssm/components/Counter/Counter.css +31 -31
- package/dist/cssm/components/CustomScrollView/CustomScrollView.css +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 +473 -579
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -3
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +71 -35
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -3
- package/dist/cssm/components/DateInput/DateInput.css +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.css +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
- package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
- package/dist/cssm/components/Dropdown/Dropdown.d.ts +46 -5
- package/dist/cssm/components/Dropdown/Dropdown.js +137 -27
- package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.css +1 -1
- package/dist/cssm/components/Epic/Epic.d.ts +1 -1
- package/dist/cssm/components/Epic/Epic.js +1 -4
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.js +9 -9
- package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
- package/dist/cssm/components/Footer/Footer.css +1 -1
- package/dist/cssm/components/FormField/FormField.css +9 -9
- package/dist/cssm/components/FormField/FormField.js +4 -8
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.css +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
- package/dist/cssm/components/Gradient/Gradient.css +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
- package/dist/cssm/components/Group/Group.css +1 -1
- package/dist/cssm/components/Group/Group.d.ts +1 -1
- package/dist/cssm/components/Header/Header.css +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -5
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -0
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +3 -3
- package/dist/cssm/components/IconButton/IconButton.css +1 -1
- package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.css +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +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 +3 -4
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLike.css +1 -1
- package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
- package/dist/cssm/components/Link/Link.css +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -3
- package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -0
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.css +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -0
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.css +1 -1
- package/dist/cssm/components/Panel/Panel.css +1 -1
- package/dist/cssm/components/Panel/Panel.d.ts +1 -1
- package/dist/cssm/components/Panel/Panel.js +1 -0
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -0
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.css +3 -3
- package/dist/cssm/components/PopoutRoot/PopoutRoot.css +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
- package/dist/cssm/components/Popper/Popper.css +1 -1
- package/dist/cssm/components/Popper/Popper.d.ts +18 -1
- package/dist/cssm/components/Popper/Popper.js +15 -22
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.css +1 -0
- package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +8 -0
- package/dist/cssm/components/PopperArrow/PopperArrow.js +28 -0
- package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -0
- package/dist/cssm/components/Progress/Progress.css +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.css +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.css +3 -3
- package/dist/cssm/components/Radio/Radio.css +1 -1
- package/dist/cssm/components/Radio/Radio.d.ts +1 -1
- package/dist/cssm/components/Radio/Radio.js +1 -0
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -0
- package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.css +1 -1
- package/dist/cssm/components/RichCell/RichCell.css +3 -3
- package/dist/cssm/components/RichCell/RichCell.d.ts +1 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.css +3 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +7 -2
- package/dist/cssm/components/RichTooltip/RichTooltip.js +5 -10
- package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cssm/components/Root/Root.css +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
- package/dist/cssm/components/Search/Search.css +1 -1
- package/dist/cssm/components/Search/Search.d.ts +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +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/Select/Select.js +1 -0
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/Separator/Separator.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +19 -28
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.css +1 -1
- package/dist/cssm/components/Slider/Slider.css +3 -3
- package/dist/cssm/components/SliderSwitch/SliderSwitch.css +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.d.ts +5 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +8 -11
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.css +1 -1
- package/dist/cssm/components/Spinner/Spinner.css +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.css +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -0
- package/dist/cssm/components/SplitCol/SplitCol.js +3 -0
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +4 -7
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
- package/dist/cssm/components/Switch/Switch.css +3 -3
- package/dist/cssm/components/Tabbar/Tabbar.css +5 -3
- package/dist/cssm/components/Tabbar/Tabbar.d.ts +8 -1
- package/dist/cssm/components/Tabbar/Tabbar.js +15 -14
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -9
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.css +1 -1
- package/dist/cssm/components/Tabs/Tabs.d.ts +14 -3
- package/dist/cssm/components/Tabs/Tabs.js +23 -5
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.css +5 -1
- package/dist/cssm/components/TabsItem/TabsItem.d.ts +22 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +40 -21
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.css +5 -5
- package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.css +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +5 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.js +5 -7
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.css +1 -1
- package/dist/cssm/components/Textarea/Textarea.d.ts +4 -1
- package/dist/cssm/components/Textarea/Textarea.js +5 -4
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.css +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.d.ts +18 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +89 -68
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.css +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -3
- package/dist/cssm/components/Typography/Headline/Headline.js +10 -2
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
- package/dist/cssm/components/Typography/Text/Text.css +1 -1
- package/dist/cssm/components/Typography/Title/Title.css +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.css +5 -5
- package/dist/cssm/components/View/View.css +1 -1
- package/dist/cssm/components/View/View.d.ts +2 -18
- package/dist/cssm/components/View/View.js +384 -462
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewIOS.css +1 -1
- package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.css +3 -1
- package/dist/cssm/components/WriteBar/WriteBar.d.ts +5 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +10 -5
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.css +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -6
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/fonts/fonts.css +1 -1
- package/dist/cssm/hoc/withAdaptivity.d.ts +1 -1
- package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
- package/dist/cssm/hoc/withContext.d.ts +1 -1
- package/dist/cssm/hoc/withContext.js.map +1 -1
- package/dist/cssm/hoc/withPlatform.d.ts +1 -1
- package/dist/cssm/hoc/withPlatform.js.map +1 -1
- package/dist/cssm/hooks/useOrientationChange.js +2 -1
- package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
- package/dist/cssm/lib/calendar.d.ts +2 -2
- package/dist/cssm/styles/animations.css +1 -1
- package/dist/cssm/styles/bright_light.css +1 -1
- package/dist/cssm/styles/common.css +1 -1
- package/dist/cssm/styles/components.css +143 -127
- package/dist/cssm/styles/constants.css +3 -10
- package/dist/cssm/styles/space_gray.css +1 -1
- package/dist/cssm/styles/themes.css +1 -16
- package/dist/cssm/styles/unstable.css +3 -1
- package/dist/cssm/styles/vkcom_dark.css +1 -6
- package/dist/cssm/styles/vkcom_light.css +1 -11
- package/dist/cssm/tokenized/index.d.ts +26 -0
- package/dist/cssm/tokenized/index.js +13 -0
- package/dist/cssm/tokenized/index.js.map +1 -1
- package/dist/default_scheme.css +1 -1
- package/dist/default_scheme.css.map +1 -1
- package/dist/fonts.css +1 -1
- package/dist/fonts.css.map +1 -1
- package/dist/hoc/withAdaptivity.d.ts +1 -1
- package/dist/hoc/withAdaptivity.js.map +1 -1
- package/dist/hoc/withContext.d.ts +1 -1
- package/dist/hoc/withContext.js.map +1 -1
- package/dist/hoc/withPlatform.d.ts +1 -1
- package/dist/hoc/withPlatform.js.map +1 -1
- package/dist/hooks/useOrientationChange.js +2 -1
- package/dist/hooks/useOrientationChange.js.map +1 -1
- package/dist/lib/calendar.d.ts +2 -2
- package/dist/tokenized/index.d.ts +26 -0
- package/dist/tokenized/index.js +13 -0
- package/dist/tokenized/index.js.map +1 -1
- package/dist/unstable.css +3 -1
- package/dist/unstable.css.map +1 -1
- package/dist/vkui.css +144 -143
- package/dist/vkui.css.map +1 -1
- package/package.json +6 -5
- package/src/components/AppRoot/AppRoot.tsx +15 -11
- package/src/components/Badge/Badge.css +0 -5
- package/src/components/Button/Button.css +0 -4
- package/src/components/Button/Button.tsx +4 -2
- package/src/components/Button/Readme.md +30 -59
- package/src/components/CardScroll/CardScroll.tsx +1 -1
- package/src/components/Cell/Cell.css +3 -2
- package/src/components/ChipsInput/ChipsInput.css +2 -0
- package/src/components/ChipsSelect/ChipsSelect.tsx +8 -0
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +2 -0
- package/src/components/Counter/Counter.css +30 -0
- package/src/components/CustomScrollView/CustomScrollView.css +10 -5
- package/src/components/CustomSelect/CustomSelect.tsx +543 -573
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +45 -22
- package/src/components/Dropdown/Dropdown.css +12 -0
- package/src/components/Dropdown/Dropdown.tsx +174 -20
- package/src/components/Dropdown/Readme.md +1 -0
- package/src/components/Epic/Epic.tsx +1 -4
- package/src/components/FixedLayout/Readme.md +103 -109
- package/src/components/FocusTrap/FocusTrap.tsx +10 -10
- package/src/components/FormField/FormField.css +31 -22
- package/src/components/FormField/FormField.tsx +4 -8
- package/src/components/FormField/Readme.md +9 -82
- package/src/components/Group/Group.css +1 -1
- package/src/components/Group/Readme.md +1 -1
- package/src/components/HorizontalCell/HorizontalCell.css +25 -43
- package/src/components/HorizontalCell/HorizontalCell.tsx +3 -9
- package/src/components/HorizontalScroll/HorizontalScroll.css +23 -0
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +2 -0
- package/src/components/IconButton/IconButton.css +46 -25
- package/src/components/Input/Input.css +20 -9
- package/src/components/Input/Input.tsx +6 -5
- package/src/components/Input/Readme.md +128 -24
- package/src/components/MiniInfoCell/MiniInfoCell.css +13 -3
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
- package/src/components/ModalCardBase/ModalCardBase.tsx +2 -0
- package/src/components/NativeSelect/NativeSelect.tsx +2 -0
- package/src/components/Panel/Panel.tsx +2 -0
- package/src/components/PanelHeader/PanelHeader.tsx +2 -0
- package/src/components/Popper/Popper.css +0 -35
- package/src/components/Popper/Popper.tsx +33 -25
- package/src/components/PopperArrow/PopperArrow.css +34 -0
- package/src/components/PopperArrow/PopperArrow.tsx +40 -0
- package/src/components/Radio/Radio.tsx +2 -0
- package/src/components/RangeSlider/UniversalSlider.tsx +2 -0
- package/src/components/RichTooltip/RichTooltip.css +44 -4
- package/src/components/RichTooltip/RichTooltip.tsx +9 -11
- package/src/components/ScreenSpinner/ScreenSpinner.css +1 -1
- package/src/components/Select/Select.css +23 -9
- package/src/components/Select/Select.tsx +2 -0
- package/src/components/SelectMimicry/SelectMimicry.tsx +6 -2
- package/src/components/SimpleCell/Readme.md +115 -129
- package/src/components/SimpleCell/SimpleCell.css +30 -68
- package/src/components/SimpleCell/SimpleCell.tsx +23 -25
- package/src/components/Snackbar/Readme.md +95 -123
- package/src/components/Snackbar/Snackbar.css +18 -27
- package/src/components/Snackbar/Snackbar.tsx +17 -11
- package/src/components/SplitCol/SplitCol.css +1 -1
- package/src/components/SplitCol/SplitCol.tsx +2 -0
- package/src/components/SplitLayout/SplitLayout.css +3 -7
- package/src/components/SplitLayout/SplitLayout.tsx +9 -6
- package/src/components/Switch/Switch.css +6 -2
- package/src/components/Tabbar/Tabbar.css +4 -1
- package/src/components/Tabbar/Tabbar.tsx +23 -12
- package/src/components/TabbarItem/TabbarItem.css +7 -5
- package/src/components/TabbarItem/TabbarItem.tsx +13 -7
- package/src/components/Tabs/Readme.md +191 -251
- package/src/components/Tabs/Tabs.css +27 -80
- package/src/components/Tabs/Tabs.tsx +45 -7
- package/src/components/TabsItem/Readme.md +1 -0
- package/src/components/TabsItem/TabsItem.css +191 -106
- package/src/components/TabsItem/TabsItem.tsx +72 -20
- package/src/components/TextTooltip/TextTooltip.css +41 -11
- package/src/components/TextTooltip/TextTooltip.tsx +9 -13
- package/src/components/Textarea/Textarea.css +7 -3
- package/src/components/Textarea/Textarea.tsx +5 -4
- package/src/components/Tooltip/Readme.md +128 -101
- package/src/components/Tooltip/Tooltip.css +29 -40
- package/src/components/Tooltip/Tooltip.tsx +98 -66
- package/src/components/Typography/Headline/Headline.tsx +15 -1
- package/src/components/View/Readme.md +2 -0
- package/src/components/View/View.tsx +451 -514
- package/src/components/WriteBar/WriteBar.css +27 -33
- package/src/components/WriteBar/WriteBar.tsx +16 -5
- package/src/components/WriteBarIcon/WriteBarIcon.css +6 -19
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +6 -6
- package/src/hoc/withAdaptivity.tsx +4 -4
- package/src/hoc/withContext.tsx +1 -1
- package/src/hoc/withPlatform.tsx +1 -1
- package/src/hooks/useOrientationChange.ts +1 -0
- package/src/styles/components.css +1 -0
- package/src/styles/constants.css +8 -0
- package/src/tokenized/index.ts +39 -0
- package/tsconfig.json +1 -1
- package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +0 -21
- package/dist/cjs/components/ClickPopper/ClickPopper.js +0 -96
- package/dist/cjs/components/ClickPopper/ClickPopper.js.map +0 -1
- package/dist/components/ClickPopper/ClickPopper.d.ts +0 -21
- package/dist/components/ClickPopper/ClickPopper.js +0 -71
- package/dist/components/ClickPopper/ClickPopper.js.map +0 -1
- package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +0 -21
- package/dist/cssm/components/ClickPopper/ClickPopper.js +0 -71
- package/dist/cssm/components/ClickPopper/ClickPopper.js.map +0 -1
- package/src/components/ClickPopper/ClickPopper.tsx +0 -86
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { Placement } from "@popperjs/core";
|
|
2
3
|
import { HasRootRef } from "../../types";
|
|
3
4
|
import "./Tooltip.css";
|
|
4
5
|
export interface TooltipProps {
|
|
@@ -8,7 +9,15 @@ export interface TooltipProps {
|
|
|
8
9
|
* иначе тултип показан не будет. Если передан React-element, то такой проблемы нет.
|
|
9
10
|
*/
|
|
10
11
|
children: React.ReactElement<HasRootRef<any>> | React.ReactElement<React.PropsWithRef<any>>;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated будет удалено в 5.0.0, устанавливать стиль следует через appearance
|
|
14
|
+
* Стиль отображения подсказки
|
|
15
|
+
*/
|
|
11
16
|
mode?: "accent" | "light";
|
|
17
|
+
/**
|
|
18
|
+
* Стиль отображения подсказки
|
|
19
|
+
*/
|
|
20
|
+
appearance?: "accent" | "neutral" | "white" | "black" | "inversion";
|
|
12
21
|
/**
|
|
13
22
|
* Если передан `false`, то рисуется просто `children`.
|
|
14
23
|
*/
|
|
@@ -39,6 +48,10 @@ export interface TooltipProps {
|
|
|
39
48
|
* Сдвиг по вертикали (относительно портала, в котором рисуется тултип).
|
|
40
49
|
*/
|
|
41
50
|
offsetY?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Отображать ли стрелку, указывающую на якорный элемент
|
|
53
|
+
*/
|
|
54
|
+
arrow?: boolean;
|
|
42
55
|
/**
|
|
43
56
|
* Сдвиг стрелочки относительно центра дочернего элемента.
|
|
44
57
|
*/
|
|
@@ -51,8 +64,12 @@ export interface TooltipProps {
|
|
|
51
64
|
* Callback, который вызывается при клике по любому месту в пределах экрана.
|
|
52
65
|
*/
|
|
53
66
|
onClose?: () => void;
|
|
67
|
+
/**
|
|
68
|
+
* По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства
|
|
69
|
+
*/
|
|
70
|
+
placement?: Placement;
|
|
54
71
|
}
|
|
55
72
|
/**
|
|
56
73
|
* @see https://vkcom.github.io/VKUI/#/Tooltip
|
|
57
74
|
*/
|
|
58
|
-
export declare const Tooltip: ({ children, isShown: _isShown, offsetX, offsetY, alignX, alignY, onClose, cornerOffset, cornerAbsoluteOffset, mode, ...restProps }: TooltipProps) => JSX.Element;
|
|
75
|
+
export declare const Tooltip: ({ children, isShown: _isShown, offsetX, offsetY, alignX, alignY, onClose, cornerOffset, cornerAbsoluteOffset, mode, appearance, arrow, placement, ...restProps }: TooltipProps) => JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { HasComponent } from "../../../types";
|
|
2
|
+
import { HasComponent, HasRootRef } from "../../../types";
|
|
3
3
|
import "./Headline.css";
|
|
4
|
-
export interface HeadlineProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
|
|
4
|
+
export interface HeadlineProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {
|
|
5
5
|
/**
|
|
6
6
|
* Задаёт начертание шрифта отличное от стандартного.
|
|
7
7
|
*
|
|
@@ -13,4 +13,4 @@ export interface HeadlineProps extends React.AllHTMLAttributes<HTMLElement>, Has
|
|
|
13
13
|
/**
|
|
14
14
|
* @see https://vkcom.github.io/VKUI/#/Headline
|
|
15
15
|
*/
|
|
16
|
-
export declare const Headline: ({ children, weight, level, Component, ...restProps }: HeadlineProps) => JSX.Element;
|
|
16
|
+
export declare const Headline: ({ children, weight, level, Component, getRootRef, ...restProps }: HeadlineProps) => JSX.Element;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { HasPlatform } from "../../types";
|
|
3
|
-
import { ConfigProviderContextInterface } from "../ConfigProvider/ConfigProviderContext";
|
|
4
|
-
import { SplitColContextProps } from "../SplitCol/SplitCol";
|
|
5
|
-
import { ScrollContextInterface } from "../AppRoot/ScrollContext";
|
|
6
2
|
import { NavIdProps } from "../../lib/getNavId";
|
|
7
3
|
import "./View.css";
|
|
8
4
|
declare enum SwipeBackResults {
|
|
@@ -16,7 +12,7 @@ interface ViewsScrolls {
|
|
|
16
12
|
[index: string]: Scrolls;
|
|
17
13
|
}
|
|
18
14
|
export declare let scrollsCache: ViewsScrolls;
|
|
19
|
-
export interface ViewProps extends React.HTMLAttributes<HTMLElement>,
|
|
15
|
+
export interface ViewProps extends React.HTMLAttributes<HTMLElement>, NavIdProps {
|
|
20
16
|
activePanel: string;
|
|
21
17
|
/**
|
|
22
18
|
* @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.
|
|
@@ -48,18 +44,6 @@ export interface ViewProps extends React.HTMLAttributes<HTMLElement>, HasPlatfor
|
|
|
48
44
|
*/
|
|
49
45
|
onSwipeBackCancel?(): void;
|
|
50
46
|
history?: string[];
|
|
51
|
-
/**
|
|
52
|
-
* @ignore
|
|
53
|
-
*/
|
|
54
|
-
splitCol?: SplitColContextProps;
|
|
55
|
-
/**
|
|
56
|
-
* @ignore
|
|
57
|
-
*/
|
|
58
|
-
configProvider?: ConfigProviderContextInterface;
|
|
59
|
-
/**
|
|
60
|
-
* @ignore
|
|
61
|
-
*/
|
|
62
|
-
scroll?: ScrollContextInterface;
|
|
63
47
|
}
|
|
64
48
|
export interface ViewState {
|
|
65
49
|
animated: boolean;
|
|
@@ -79,5 +63,5 @@ export interface ViewState {
|
|
|
79
63
|
/**
|
|
80
64
|
* @see https://vkcom.github.io/VKUI/#/View
|
|
81
65
|
*/
|
|
82
|
-
export declare const View:
|
|
66
|
+
export declare const View: ({ popout, modal, activePanel: activePanelProp, history, nav, onTransition, onSwipeBack, onSwipeBackStart, onSwipeBackCancel: onSwipeBackCancelProp, children, ...restProps }: ViewProps) => JSX.Element;
|
|
83
67
|
export {};
|
|
@@ -62,5 +62,5 @@ export interface ViewInfiniteState {
|
|
|
62
62
|
swipeBackResult: SwipeBackResults | null;
|
|
63
63
|
browserSwipe: boolean;
|
|
64
64
|
}
|
|
65
|
-
export declare const ViewInfinite: React.
|
|
65
|
+
export declare const ViewInfinite: React.FC<Pick<ViewInfiniteProps, "style" | "placeholder" | "title" | "hidden" | "modal" | "role" | "security" | "dir" | "nav" | "slot" | "scroll" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "unselectable" | "inputMode" | "is" | "popout" | "onTransition" | "activePanel" | "history" | "onSwipeBack" | "onSwipeBackStart" | "onSwipeBackCancel" | "configProvider" | "isBackCheck" | "splitCol">>;
|
|
66
66
|
export {};
|
|
@@ -18,9 +18,13 @@ export interface WriteBarProps extends React.TextareaHTMLAttributes<HTMLTextArea
|
|
|
18
18
|
* Вызывается при смене высоты поля ввода
|
|
19
19
|
*/
|
|
20
20
|
onHeightChange?: VoidFunction;
|
|
21
|
+
/**
|
|
22
|
+
* Добавляет тень вокруг поля ввода
|
|
23
|
+
*/
|
|
24
|
+
shadow?: boolean;
|
|
21
25
|
children?: never;
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
24
28
|
* @see https://vkcom.github.io/VKUI/#/WriteBar
|
|
25
29
|
*/
|
|
26
|
-
export declare const WriteBar: ({ className, style, before, inlineAfter, after, value, onChange, getRootRef, getRef, onHeightChange, ...restProps }: WriteBarProps) => JSX.Element;
|
|
30
|
+
export declare const WriteBar: ({ className, style, before, inlineAfter, after, value, onChange, getRootRef, getRef, onHeightChange, shadow, ...restProps }: WriteBarProps) => JSX.Element;
|
|
@@ -10,4 +10,4 @@ interface Config {
|
|
|
10
10
|
hasMouse?: boolean;
|
|
11
11
|
deviceHasHover?: boolean;
|
|
12
12
|
}
|
|
13
|
-
export declare function withAdaptivity<T extends AdaptivityProps>(TargetComponent: React.ComponentType<T>, config: Config): React.
|
|
13
|
+
export declare function withAdaptivity<T extends AdaptivityProps>(TargetComponent: React.ComponentType<T>, config: Config): React.FC<Omit<T, keyof AdaptivityContextInterface> & SizeProps>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
export declare function withContext<T, X>(Component: React.ComponentType<T>, Ctx: React.Context<X>, prop: string): React.
|
|
2
|
+
export declare function withContext<T, X>(Component: React.ComponentType<T>, Ctx: React.Context<X>, prop: string): React.FC<T>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { HasPlatform } from "../types";
|
|
3
|
-
export declare function withPlatform<T extends HasPlatform>(Component: React.ComponentType<T>): React.
|
|
3
|
+
export declare function withPlatform<T extends HasPlatform>(Component: React.ComponentType<T>): React.FC<Omit<T, keyof HasPlatform>>;
|
|
@@ -16,6 +16,8 @@ export { CardScroll } from "../components/CardScroll/CardScroll";
|
|
|
16
16
|
export type { CardScrollProps } from "../components/CardScroll/CardScroll";
|
|
17
17
|
export { Group } from "../components/Group/Group";
|
|
18
18
|
export type { GroupProps } from "../components/Group/Group";
|
|
19
|
+
export { WriteBar } from "../components/WriteBar/WriteBar";
|
|
20
|
+
export type { WriteBarProps } from "../components/WriteBar/WriteBar";
|
|
19
21
|
export { Cell } from "../components/Cell/Cell";
|
|
20
22
|
export type { CellProps } from "../components/Cell/Cell";
|
|
21
23
|
export { GridAvatar } from "../components/GridAvatar/GridAvatar";
|
|
@@ -26,6 +28,8 @@ export { IconButton } from "../components/IconButton/IconButton";
|
|
|
26
28
|
export type { IconButtonProps } from "../components/IconButton/IconButton";
|
|
27
29
|
export { InitialsAvatar } from "../components/InitialsAvatar/InitialsAvatar";
|
|
28
30
|
export type { InitialsAvatarProps } from "../components/InitialsAvatar/InitialsAvatar";
|
|
31
|
+
export { Epic } from "../components/Epic/Epic";
|
|
32
|
+
export type { EpicProps } from "../components/Epic/Epic";
|
|
29
33
|
export { InfoRow } from "../components/InfoRow/InfoRow";
|
|
30
34
|
export type { InfoRowProps } from "../components/InfoRow/InfoRow";
|
|
31
35
|
export { ModalCardBase } from "../components/ModalCardBase/ModalCardBase";
|
|
@@ -34,10 +38,16 @@ export { ModalCard } from "../components/ModalCard/ModalCard";
|
|
|
34
38
|
export type { ModalCardProps } from "../components/ModalCard/ModalCard";
|
|
35
39
|
export { Link } from "../components/Link/Link";
|
|
36
40
|
export type { LinkProps } from "../components/Link/Link";
|
|
41
|
+
export { SimpleCell } from "../components/SimpleCell/SimpleCell";
|
|
42
|
+
export type { SimpleCellProps } from "../components/SimpleCell/SimpleCell";
|
|
37
43
|
export { ButtonGroup } from "../components/ButtonGroup/ButtonGroup";
|
|
38
44
|
export type { ButtonGroupProps } from "../components/ButtonGroup/ButtonGroup";
|
|
39
45
|
export { Switch } from "../components/Switch/Switch";
|
|
40
46
|
export type { SwitchProps } from "../components/Switch/Switch";
|
|
47
|
+
export { Tabs } from "../components/Tabs/Tabs";
|
|
48
|
+
export type { TabsProps } from "../components/Tabs/Tabs";
|
|
49
|
+
export { TabsItem } from "../components/TabsItem/TabsItem";
|
|
50
|
+
export type { TabsItemProps } from "../components/TabsItem/TabsItem";
|
|
41
51
|
export { Footnote } from "../components/Typography/Footnote/Footnote";
|
|
42
52
|
export type { FootnoteProps } from "../components/Typography/Footnote/Footnote";
|
|
43
53
|
export { Radio } from "../components/Radio/Radio";
|
|
@@ -52,6 +62,12 @@ export { Tappable } from "../components/Tappable/Tappable";
|
|
|
52
62
|
export type { TappableProps } from "../components/Tappable/Tappable";
|
|
53
63
|
export { Textarea } from "../components/Textarea/Textarea";
|
|
54
64
|
export type { TextareaProps } from "../components/Textarea/Textarea";
|
|
65
|
+
export { Tooltip } from "../components/Tooltip/Tooltip";
|
|
66
|
+
export type { TooltipProps } from "../components/Tooltip/Tooltip";
|
|
67
|
+
export { TextTooltip } from "../components/TextTooltip/TextTooltip";
|
|
68
|
+
export type { TextTooltipProps } from "../components/TextTooltip/TextTooltip";
|
|
69
|
+
export { RichTooltip } from "../components/RichTooltip/RichTooltip";
|
|
70
|
+
export type { RichTooltipProps } from "../components/RichTooltip/RichTooltip";
|
|
55
71
|
export { Title } from "../components/Typography/Title/Title";
|
|
56
72
|
export type { TitleProps } from "../components/Typography/Title/Title";
|
|
57
73
|
export { Subhead } from "../components/Typography/Subhead/Subhead";
|
|
@@ -100,6 +116,8 @@ export { Select } from "../components/Select/Select";
|
|
|
100
116
|
export type { SelectProps } from "../components/Select/Select";
|
|
101
117
|
export { View } from "../components/View/View";
|
|
102
118
|
export type { ViewProps } from "../components/View/View";
|
|
119
|
+
export { HorizontalCell } from "../components/HorizontalCell/HorizontalCell";
|
|
120
|
+
export type { HorizontalCellProps } from "../components/HorizontalCell/HorizontalCell";
|
|
103
121
|
export { Spinner } from "../components/Spinner/Spinner";
|
|
104
122
|
export type { SpinnerProps } from "../components/Spinner/Spinner";
|
|
105
123
|
export { ContentCard } from "../components/ContentCard/ContentCard";
|
|
@@ -122,6 +140,8 @@ export { ChipsSelect } from "../components/ChipsSelect/ChipsSelect";
|
|
|
122
140
|
export type { ChipsSelectProps } from "../components/ChipsSelect/ChipsSelect";
|
|
123
141
|
export { Spacing } from "../components/Spacing/Spacing";
|
|
124
142
|
export type { SpacingProps } from "../components/Spacing/Spacing";
|
|
143
|
+
export { SplitLayout } from "../components/SplitLayout/SplitLayout";
|
|
144
|
+
export type { SplitLayoutProps } from "../components/SplitLayout/SplitLayout";
|
|
125
145
|
export { SplitCol } from "../components/SplitCol/SplitCol";
|
|
126
146
|
export type { SplitColProps } from "../components/SplitCol/SplitCol";
|
|
127
147
|
export { Root } from "../components/Root/Root";
|
|
@@ -134,6 +154,8 @@ export { Banner } from "../components/Banner/Banner";
|
|
|
134
154
|
export type { BannerProps } from "../components/Banner/Banner";
|
|
135
155
|
export { FixedLayout } from "../components/FixedLayout/FixedLayout";
|
|
136
156
|
export type { FixedLayoutProps } from "../components/FixedLayout/FixedLayout";
|
|
157
|
+
export { Snackbar } from "../components/Snackbar/Snackbar";
|
|
158
|
+
export type { SnackbarProps } from "../components/Snackbar/Snackbar";
|
|
137
159
|
export { Counter } from "../components/Counter/Counter";
|
|
138
160
|
export type { CounterProps } from "../components/Counter/Counter";
|
|
139
161
|
export { Progress } from "../components/Progress/Progress";
|
|
@@ -150,5 +172,9 @@ export { DateRangeInput } from "../components/DateRangeInput/DateRangeInput";
|
|
|
150
172
|
export type { DateRangeInputProps } from "../components/DateRangeInput/DateRangeInput";
|
|
151
173
|
export { Footer } from "../components/Footer/Footer";
|
|
152
174
|
export type { FooterProps } from "../components/Footer/Footer";
|
|
175
|
+
export { WriteBarIcon } from "../components/WriteBarIcon/WriteBarIcon";
|
|
176
|
+
export type { WriteBarIconProps } from "../components/WriteBarIcon/WriteBarIcon";
|
|
153
177
|
export { Tabbar } from "../components/Tabbar/Tabbar";
|
|
154
178
|
export type { TabbarProps } from "../components/Tabbar/Tabbar";
|
|
179
|
+
export { TabbarItem } from "../components/TabbarItem/TabbarItem";
|
|
180
|
+
export type { TabbarItemProps } from "../components/TabbarItem/TabbarItem";
|
package/.eslintrc.json
CHANGED
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
"extends": [
|
|
3
3
|
"@vkontakte/eslint-config/typescript/react",
|
|
4
4
|
"prettier",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"plugin:react-hooks/recommended"
|
|
5
|
+
"plugin:react-hooks/recommended",
|
|
6
|
+
"plugin:compat/recommended"
|
|
8
7
|
],
|
|
9
8
|
"parserOptions": {
|
|
10
9
|
"project": "./tsconfig.json",
|
|
@@ -16,6 +15,15 @@
|
|
|
16
15
|
"spread": true
|
|
17
16
|
}
|
|
18
17
|
},
|
|
18
|
+
"settings": {
|
|
19
|
+
"lintAllEsApis": true,
|
|
20
|
+
"polyfills": [
|
|
21
|
+
"Array.includes",
|
|
22
|
+
"Array.find",
|
|
23
|
+
"String.padStart",
|
|
24
|
+
"Intl" // Отсутствует. Не поддерживается в iOS Safari 9, Calendar должен использоваться только на desktop
|
|
25
|
+
]
|
|
26
|
+
},
|
|
19
27
|
"globals": {
|
|
20
28
|
"Element": true
|
|
21
29
|
},
|
|
@@ -128,7 +136,8 @@
|
|
|
128
136
|
{
|
|
129
137
|
"onlyForFunctionsWithNames": ["classNames", "classNamesString"]
|
|
130
138
|
}
|
|
131
|
-
]
|
|
139
|
+
],
|
|
140
|
+
"compat/compat": "error"
|
|
132
141
|
},
|
|
133
142
|
"overrides": [
|
|
134
143
|
{
|
|
@@ -143,6 +152,7 @@
|
|
|
143
152
|
"rules": {
|
|
144
153
|
"no-restricted-properties": "off",
|
|
145
154
|
"no-restricted-globals": "off",
|
|
155
|
+
"compat/compat": "off",
|
|
146
156
|
"react/display-name": "off"
|
|
147
157
|
}
|
|
148
158
|
},
|
|
@@ -87,16 +87,7 @@ var AppRoot = (0, _withAdaptivity.withAdaptivity)(function (_ref) {
|
|
|
87
87
|
var _React$useContext = React.useContext(_ConfigProviderContext.ConfigProviderContext),
|
|
88
88
|
appearance = _React$useContext.appearance;
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (!initialized.current) {
|
|
93
|
-
if (document && mode === "full") {
|
|
94
|
-
document.documentElement.classList.add("vkui");
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
_classScopingMode.classScopingMode.noConflict = noLegacyClasses;
|
|
98
|
-
initialized.current = true;
|
|
99
|
-
}
|
|
90
|
+
_classScopingMode.classScopingMode.noConflict = noLegacyClasses;
|
|
100
91
|
|
|
101
92
|
if (process.env.NODE_ENV === "development") {
|
|
102
93
|
if (scroll !== "global" && mode !== "embedded") {
|
|
@@ -148,12 +139,18 @@ var AppRoot = (0, _withAdaptivity.withAdaptivity)(function (_ref) {
|
|
|
148
139
|
var _parent$classList2;
|
|
149
140
|
|
|
150
141
|
parent === null || parent === void 0 ? void 0 : (_parent$classList2 = parent.classList).remove.apply(_parent$classList2, (0, _toConsumableArray2.default)(classes));
|
|
151
|
-
|
|
152
|
-
if (mode === "full") {
|
|
153
|
-
document === null || document === void 0 ? void 0 : document.documentElement.classList.remove("vkui");
|
|
154
|
-
}
|
|
155
142
|
};
|
|
156
|
-
}, []);
|
|
143
|
+
}, []);
|
|
144
|
+
(0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
|
|
145
|
+
if (mode === "full") {
|
|
146
|
+
document.documentElement.classList.add("vkui");
|
|
147
|
+
return function () {
|
|
148
|
+
document.documentElement.classList.remove("vkui");
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
return undefined;
|
|
153
|
+
}, [document, mode]); // setup insets
|
|
157
154
|
|
|
158
155
|
(0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
|
|
159
156
|
var _rootRef$current2;
|
|
@@ -235,4 +232,5 @@ var AppRoot = (0, _withAdaptivity.withAdaptivity)(function (_ref) {
|
|
|
235
232
|
hasMouse: true
|
|
236
233
|
});
|
|
237
234
|
exports.AppRoot = AppRoot;
|
|
235
|
+
AppRoot.displayName = "AppRoot";
|
|
238
236
|
//# sourceMappingURL=AppRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","portalRoot","portalRootProp","disablePortal","props","isKeyboardInputActive","rootRef","React","useRef","useState","setPortalRoot","document","insets","useContext","ConfigProviderContext","appearance","initialized","current","documentElement","classList","add","classScopingMode","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","noop","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","SizeType","REGULAR","container","undefined","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n /** Элемент используемый в качестве root для порталов\n * При передаче своего элемента необходимо задать ему class=\"vkui__portal-root\" и добавить в DOM\n */\n // TODO: v5.0.0 изменить тип на HTMLElement\n portalRoot?: HTMLDivElement | React.RefObject<HTMLDivElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\nconst warn = warnOnce(\"AppRoot\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n portalRoot: portalRootProp = null,\n disablePortal,\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLDivElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n portal?.parentElement?.removeChild(portal);\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","portalRoot","portalRootProp","disablePortal","props","isKeyboardInputActive","rootRef","React","useRef","useState","setPortalRoot","document","insets","useContext","ConfigProviderContext","appearance","classScopingMode","noConflict","process","env","NODE_ENV","portal","current","createElement","classList","add","body","appendChild","parentElement","removeChild","noop","parent","classes","concat","remove","documentElement","undefined","key","hasOwnProperty","inset","style","setProperty","removeProperty","SizeType","REGULAR","container","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","appRoot","keyboardInput","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;AA0BA,IAAMA,IAAI,GAAG,wBAAS,SAAT,CAAb;AAEA;AACA;AACA;;AACO,IAAMC,OAAO,GAAG,oCACrB,gBAWM;AAAA,MAVJC,QAUI,QAVJA,QAUI;AAAA,MATEC,KASF,QATJC,IASI;AAAA,MARMC,SAQN,QARJC,QAQI;AAAA,MAPJC,KAOI,QAPJA,KAOI;AAAA,MANJC,QAMI,QANJA,QAMI;AAAA,kCALJC,eAKI;AAAA,MALJA,eAKI,qCALc,KAKd;AAAA,yBAJJC,MAII;AAAA,MAJJA,MAII,4BAJK,QAIL;AAAA,6BAHJC,UAGI;AAAA,MAHQC,cAGR,gCAHyB,IAGzB;AAAA,MAFJC,aAEI,QAFJA,aAEI;AAAA,MADDC,KACC;AACJ;AACA,MAAMV,IAAI,GAAGD,KAAK,KAAKE,SAAS,GAAG,UAAH,GAAgB,MAA9B,CAAlB;AACA,MAAMU,qBAAqB,GAAG,uDAA9B;AACA,MAAMC,OAAO,GAAGC,KAAK,CAACC,MAAN,CAAoC,IAApC,CAAhB;;AACA,wBAAoCD,KAAK,CAACE,QAAN,CAClC,IADkC,CAApC;AAAA;AAAA,MAAOR,UAAP;AAAA,MAAmBS,aAAnB;;AAGA,gBAAqB,kBAArB;AAAA,MAAQC,QAAR,WAAQA,QAAR;;AACA,MAAMC,MAAM,GAAG,2BAAf;;AACA,0BAAuBL,KAAK,CAACM,UAAN,CAAiBC,4CAAjB,CAAvB;AAAA,MAAQC,UAAR,qBAAQA,UAAR;;AAEAC,qCAAiBC,UAAjB,GAA8BlB,eAA9B;;AAEA,MAAImB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,QAAIpB,MAAM,KAAK,QAAX,IAAuBN,IAAI,KAAK,UAApC,EAAgD;AAC9CJ,MAAAA,IAAI,qEACkBU,MADlB,wLAEF,OAFE,CAAJ;AAID;;AACD,QAAIP,KAAK,IAAIE,SAAb,EAAwB;AACtBL,MAAAA,IAAI,mEAAmBI,IAAnB,kHAAJ;AACD;AACF,GAxBG,CA0BJ;;;AACA,4DAA0B,YAAM;AAC9B,QAAI2B,MAA6B,GAAG,IAApC;;AACA,QAAInB,cAAJ,EAAoB;AAClB,UAAI,8BAAYA,cAAZ,CAAJ,EAAiC;AAC/BmB,QAAAA,MAAM,GAAGnB,cAAc,CAACoB,OAAxB;AACD,OAFD,MAEO;AACLD,QAAAA,MAAM,GAAGnB,cAAT;AACD;AACF;;AACD,QAAI,CAACmB,MAAL,EAAa;AACXA,MAAAA,MAAM,GAAGV,QAAQ,CAAEY,aAAV,CAAwB,KAAxB,CAAT;AACAF,MAAAA,MAAM,CAACG,SAAP,CAAiBC,GAAjB,CAAqB,mBAArB;AACAd,MAAAA,QAAQ,CAAEe,IAAV,CAAeC,WAAf,CAA2BN,MAA3B;AACD;;AACDX,IAAAA,aAAa,CAACW,MAAD,CAAb;AACA,WAAO,YAAM;AAAA;;AACX,iBAAAA,MAAM,UAAN,mEAAQO,aAAR,gFAAuBC,WAAvB,CAAmCR,MAAnC;AACD,KAFD;AAGD,GAlBD,EAkBG,CAACnB,cAAD,CAlBH,EA3BI,CA+CJ;;AACA,4DAA0B,YAAM;AAAA;;AAC9B,QAAIR,IAAI,KAAK,SAAb,EAAwB;AACtB,aAAOoC,WAAP;AACD;;AAED,QAAMC,MAAM,uBAAGzB,OAAO,CAACgB,OAAX,qDAAG,iBAAiBM,aAAhC;AACA,QAAMI,OAAO,GAAG,CAAC,YAAD,EAAeC,MAAf,CACdvC,IAAI,KAAK,UAAT,GAAsB,sBAAtB,GAA+C,EADjC,CAAhB;AAGAqC,IAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,iCAAAA,MAAM,CAAEP,SAAR,EAAkBC,GAAlB,2DAAyBO,OAAzB;AAEA,WAAO,YAAM;AAAA;;AACXD,MAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,kCAAAA,MAAM,CAAEP,SAAR,EAAkBU,MAAlB,4DAA4BF,OAA5B;AACD,KAFD;AAGD,GAdD,EAcG,EAdH;AAgBA,4DAA0B,YAAM;AAC9B,QAAItC,IAAI,KAAK,MAAb,EAAqB;AACnBiB,MAAAA,QAAQ,CAAEwB,eAAV,CAA0BX,SAA1B,CAAoCC,GAApC,CAAwC,MAAxC;AAEA,aAAO,YAAM;AACXd,QAAAA,QAAQ,CAAEwB,eAAV,CAA0BX,SAA1B,CAAoCU,MAApC,CAA2C,MAA3C;AACD,OAFD;AAGD;;AAED,WAAOE,SAAP;AACD,GAVD,EAUG,CAACzB,QAAD,EAAWjB,IAAX,CAVH,EAhEI,CA4EJ;;AACA,4DAA0B,YAAM;AAAA;;AAC9B,QAAIA,IAAI,KAAK,SAAT,IAAsB,uBAACY,OAAO,CAACgB,OAAT,8CAAC,kBAAiBM,aAAlB,CAA1B,EAA2D;AACzD,aAAOE,WAAP;AACD;;AAED,QAAMC,MAAM,GAAGzB,OAAO,CAACgB,OAAR,CAAgBM,aAA/B;;AAEA,SAAK,IAAMS,GAAX,IAAkBzB,MAAlB,EAA0B;AACxB,UACEA,MAAM,CAAC0B,cAAP,CAAsBD,GAAtB,KACA,OAAOzB,MAAM,CAACyB,GAAD,CAAb,KAAuC,QAFzC,EAGE;AACA,YAAME,KAAK,GAAG3B,MAAM,CAACyB,GAAD,CAApB;AACAN,QAAAA,MAAM,CAACS,KAAP,CAAaC,WAAb,6BAA8CJ,GAA9C,aAAwDE,KAAxD;AACAtC,QAAAA,UAAU,IACRA,UAAU,CAACuC,KAAX,CAAiBC,WAAjB,6BACuBJ,GADvB,aAEKE,KAFL,QADF;AAKD;AACF;;AAED,WAAO,YAAM;AACX,WAAK,IAAMF,IAAX,IAAkBzB,MAAlB,EAA0B;AACxB,YAAIA,MAAM,CAAC0B,cAAP,CAAsBD,IAAtB,CAAJ,EAAgC;AAC9BN,UAAAA,MAAM,CAACS,KAAP,CAAaE,cAAb,6BAAiDL,IAAjD;AACApC,UAAAA,UAAU,IACRA,UAAU,CAACuC,KAAX,CAAiBE,cAAjB,6BAAqDL,IAArD,EADF;AAED;AACF;AACF,KARD;AASD,GA/BD,EA+BG,CAACzB,MAAD,EAASX,UAAT,CA/BH,EA7EI,CA8GJ;;AACA,4DAA0B,YAAM;AAAA;;AAC9B,QAAIP,IAAI,KAAK,SAAT,IAAsBG,KAAK,KAAK8C,yBAASC,OAA7C,EAAsD;AACpD,aAAOd,WAAP;AACD;;AACD,QAAMe,SAAS,GACbnD,IAAI,KAAK,UAAT,wBAAsBY,OAAO,CAACgB,OAA9B,sDAAsB,kBAAiBM,aAAvC,GAAuDjB,QAAQ,CAAEe,IADnE;AAEAmB,IAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAErB,SAAX,CAAqBC,GAArB,CAAyB,qBAAzB;AACA,WAAO;AAAA,aAAMoB,SAAN,aAAMA,SAAN,uBAAMA,SAAS,CAAErB,SAAX,CAAqBU,MAArB,CAA4B,qBAA5B,CAAN;AAAA,KAAP;AACD,GARD,EAQG,CAACrC,KAAD,CARH;AAUA,4DAA0B,YAAM;AAC9B,QAAIH,IAAI,KAAK,MAAT,IAAmBqB,UAAU,KAAKqB,SAAtC,EAAiD;AAC/C,aAAON,WAAP;AACD;;AACDnB,IAAAA,QAAQ,CAAEwB,eAAV,CAA0BK,KAA1B,CAAgCC,WAAhC,CAA4C,cAA5C,EAA4D1B,UAA5D;AAEA,WAAO;AAAA,aACLJ,QAAQ,CAAEwB,eAAV,CAA0BK,KAA1B,CAAgCE,cAAhC,CAA+C,cAA/C,CADK;AAAA,KAAP;AAED,GARD,EAQG,CAAC3B,UAAD,CARH;AAUA,MAAM+B,gBAAgB,GAAGvC,KAAK,CAACwC,OAAN,CACvB;AAAA,WACE/C,MAAM,KAAK,SAAX,GAAuBgD,sCAAvB,GAAiDC,qCADnD;AAAA,GADuB,EAGvB,CAACjD,MAAD,CAHuB,CAAzB;AAMA,MAAMkD,OAAO,GACX,qCAAC,8BAAD,CAAgB,QAAhB;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,OAAO,EAAE7C,OADJ;AAELL,MAAAA,UAAU,EAAVA,UAFK;AAGLL,MAAAA,QAAQ,EAAEF,IAAI,KAAK,UAHd;AAIL0D,MAAAA,aAAa,EAAE/C,qBAJV;AAKLX,MAAAA,IAAI,EAAJA,IALK;AAMLS,MAAAA,aAAa,EAAbA;AANK;AADT,KAUE,qCAAC,gBAAD;AAAkB,IAAA,KAAK,EAAEG;AAAzB,KACE,qCAAC,2BAAD;AACE,IAAA,WAAW,EAAC,MADd;AAEE,IAAA,aAAa,EAAE,CAACP;AAFlB,KAIGP,QAJH,CADF,CAVF,CADF;AAsBA,SAAOE,IAAI,KAAK,SAAT,GACLwD,OADK,GAGL;AACE,IAAA,GAAG,EAAE5C,OADP,CAEE;AAFF;AAGE,IAAA,SAAS,EAAE,4BAAW,SAAX,EAAsB;AAC/B,2BAAqB,CAACR;AADS,KAAtB;AAHb,KAMMM,KANN,GAQG8C,OARH,CAHF;AAcD,CAzLoB,EA0LrB;AACErD,EAAAA,KAAK,EAAE,IADT;AAEEC,EAAAA,QAAQ,EAAE;AAFZ,CA1LqB,CAAhB;;AAgMPP,OAAO,CAAC8D,WAAR,GAAsB,SAAtB","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n /** Элемент используемый в качестве root для порталов\n * При передаче своего элемента необходимо задать ему class=\"vkui__portal-root\" и добавить в DOM\n */\n // TODO: v5.0.0 изменить тип на HTMLElement\n portalRoot?: HTMLDivElement | React.RefObject<HTMLDivElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\nconst warn = warnOnce(\"AppRoot\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n portalRoot: portalRootProp = null,\n disablePortal,\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n classScopingMode.noConflict = noLegacyClasses;\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLDivElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n portal?.parentElement?.removeChild(portal);\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n };\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === \"full\") {\n document!.documentElement.classList.add(\"vkui\");\n\n return () => {\n document!.documentElement.classList.remove(\"vkui\");\n };\n }\n\n return undefined;\n }, [document, mode]);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n\nAppRoot.displayName = \"AppRoot\";\n"],"file":"AppRoot.js"}
|
|
@@ -182,15 +182,16 @@ var ButtonComponent = function ButtonComponent(_ref2) {
|
|
|
182
182
|
resolvedAppearance = _resolveButtonAppeara.resolvedAppearance;
|
|
183
183
|
|
|
184
184
|
var hasNewTokens = React.useContext(_ConfigProviderContext.ConfigProviderContext).hasNewTokens;
|
|
185
|
-
return (0, _jsxRuntime.createScopedElement)(_Tappable.Tappable, (0, _extends2.default)({
|
|
185
|
+
return (0, _jsxRuntime.createScopedElement)(_Tappable.Tappable, (0, _extends2.default)({
|
|
186
|
+
hoverMode: hasNewTokens ? "Button--hover" : "background",
|
|
187
|
+
activeMode: hasNewTokens ? "Button--active" : "opacity"
|
|
188
|
+
}, restProps, {
|
|
186
189
|
Component: restProps.href ? "a" : Component,
|
|
187
190
|
onClick: loading ? undefined : onClick,
|
|
188
191
|
focusVisibleMode: "outside",
|
|
189
192
|
stopPropagation: stopPropagation,
|
|
190
193
|
vkuiClass: (0, _classNames.classNames)("Button", "Button--sz-".concat(size), "Button--lvl-".concat(resolvedMode), "Button--clr-".concat(resolvedAppearance), "Button--aln-".concat(align), "Button--sizeY-".concat(sizeY), stretched && "Button--stretched", hasIcons && "Button--with-icon", hasIconOnly && "Button--singleIcon", loading && "Button--loading"),
|
|
191
|
-
getRootRef: getRootRef
|
|
192
|
-
hoverMode: hasNewTokens ? "Button--hover" : "background",
|
|
193
|
-
activeMode: hasNewTokens ? "Button--active" : "opacity"
|
|
194
|
+
getRootRef: getRootRef
|
|
194
195
|
}), loading && (0, _jsxRuntime.createScopedElement)(_Spinner.Spinner, {
|
|
195
196
|
size: "small",
|
|
196
197
|
vkuiClass: "Button__spinner"
|
|
@@ -219,4 +220,5 @@ var Button = (0, _withAdaptivity.withAdaptivity)(ButtonComponent, {
|
|
|
219
220
|
sizeY: true
|
|
220
221
|
});
|
|
221
222
|
exports.Button = Button;
|
|
223
|
+
Button.displayName = "Button";
|
|
222
224
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"names":["ButtonTypography","size","sizeY","platform","restProps","isCompact","SizeType","COMPACT","ANDROID","VKCOM","IOS","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","ButtonComponent","stretched","align","children","before","after","getRootRef","Component","loading","onClick","stopPropagation","hasIcons","Boolean","hasIconOnly","hasNewTokens","React","useContext","ConfigProviderContext","href","Button"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { TappableProps, Tappable } from \"../Tappable/Tappable\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { HasAlign, HasComponent } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { PlatformType, IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport \"./Button.css\";\n\nexport interface VKUIButtonProps extends HasAlign {\n /**\n Значения `commerce`, `destructive`, `overlay_...` будут упразднены в 5.0.0\n */\n mode?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"outline\"\n | \"commerce\"\n | \"destructive\"\n | \"overlay_primary\"\n | \"overlay_secondary\"\n | \"overlay_outline\";\n appearance?: \"accent\" | \"positive\" | \"negative\" | \"neutral\" | \"overlay\";\n size?: \"s\" | \"m\" | \"l\";\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps\n extends Omit<TappableProps, \"size\">,\n VKUIButtonProps {}\n\ninterface ButtonTypographyProps extends HasComponent {\n size: ButtonProps[\"size\"];\n platform: PlatformType | undefined;\n sizeY: AdaptivityProps[\"sizeY\"];\n children?: ButtonProps[\"children\"];\n}\n\nconst ButtonTypography = ({\n size,\n sizeY,\n platform,\n ...restProps\n}: ButtonTypographyProps) => {\n const isCompact = sizeY === SizeType.COMPACT;\n\n switch (size) {\n case \"l\":\n if (isCompact) {\n return <Text weight=\"2\" {...restProps} />;\n }\n if (platform === ANDROID) {\n return <Headline weight=\"2\" {...restProps} />;\n }\n return <Title level=\"3\" weight=\"2\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead weight={platform === VKCOM ? \"3\" : \"2\"} {...restProps} />\n );\n }\n\n return <Text weight=\"2\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"2\" {...restProps} />;\n }\n\n if (platform === VKCOM) {\n return <Caption {...restProps} />;\n }\n\n if (isCompact) {\n return <Caption weight=\"2\" {...restProps} />;\n }\n\n return <Subhead weight=\"2\" {...restProps} />;\n }\n};\n\ninterface ResolvedButtonAppearance {\n resolvedAppearance: ButtonProps[\"appearance\"];\n resolvedMode: ButtonProps[\"mode\"];\n}\n\nfunction resolveButtonAppearance(\n appearance: ButtonProps[\"appearance\"],\n mode: ButtonProps[\"mode\"]\n): ResolvedButtonAppearance {\n let resolvedAppearance: ButtonProps[\"appearance\"] = appearance;\n let resolvedMode: ButtonProps[\"mode\"] = mode;\n\n if (appearance === undefined) {\n switch (mode) {\n case \"tertiary\":\n case \"secondary\":\n case \"primary\":\n case \"outline\":\n resolvedAppearance = \"accent\";\n break;\n case \"commerce\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"positive\";\n break;\n case \"destructive\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"negative\";\n break;\n case \"overlay_primary\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_secondary\":\n resolvedMode = \"secondary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_outline\":\n resolvedMode = \"outline\";\n resolvedAppearance = \"overlay\";\n break;\n }\n }\n\n return {\n resolvedAppearance,\n resolvedMode,\n };\n}\n\nconst ButtonComponent = ({\n size = \"s\",\n mode = \"primary\",\n appearance,\n stretched = false,\n align = \"center\",\n children,\n before,\n after,\n getRootRef,\n sizeY,\n Component = \"button\",\n loading,\n onClick,\n stopPropagation = true,\n ...restProps\n}: ButtonProps) => {\n const platform = usePlatform();\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { resolvedMode, resolvedAppearance } = resolveButtonAppearance(\n appearance,\n mode\n );\n const hasNewTokens = React.useContext(ConfigProviderContext).hasNewTokens;\n\n return (\n <Tappable\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n stopPropagation={stopPropagation}\n vkuiClass={classNames(\n \"Button\",\n `Button--sz-${size}`,\n `Button--lvl-${resolvedMode}`,\n `Button--clr-${resolvedAppearance}`,\n `Button--aln-${align}`,\n `Button--sizeY-${sizeY}`,\n stretched && \"Button--stretched\",\n hasIcons && \"Button--with-icon\",\n hasIconOnly && \"Button--singleIcon\",\n loading && \"Button--loading\"\n )}\n getRootRef={getRootRef}\n hoverMode={hasNewTokens ? \"Button--hover\" : \"background\"}\n activeMode={hasNewTokens ? \"Button--active\" : \"opacity\"}\n >\n {loading && <Spinner size=\"small\" vkuiClass=\"Button__spinner\" />}\n <span vkuiClass=\"Button__in\">\n {before && (\n <span vkuiClass=\"Button__before\" role=\"presentation\">\n {before}\n </span>\n )}\n {children && (\n <ButtonTypography\n size={size}\n sizeY={sizeY}\n platform={platform}\n vkuiClass=\"Button__content\"\n Component=\"span\"\n >\n {children}\n </ButtonTypography>\n )}\n {after && (\n <span vkuiClass=\"Button__after\" role=\"presentation\">\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = withAdaptivity(ButtonComponent, {\n sizeY: true,\n});\n"],"file":"Button.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"names":["ButtonTypography","size","sizeY","platform","restProps","isCompact","SizeType","COMPACT","ANDROID","VKCOM","IOS","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","ButtonComponent","stretched","align","children","before","after","getRootRef","Component","loading","onClick","stopPropagation","hasIcons","Boolean","hasIconOnly","hasNewTokens","React","useContext","ConfigProviderContext","href","Button","displayName"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAKA;;AACA;;AACA;;;;;AAoCA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,OAKI;AAAA,MAJ3BC,IAI2B,QAJ3BA,IAI2B;AAAA,MAH3BC,KAG2B,QAH3BA,KAG2B;AAAA,MAF3BC,QAE2B,QAF3BA,QAE2B;AAAA,MADxBC,SACwB;AAC3B,MAAMC,SAAS,GAAGH,KAAK,KAAKI,yBAASC,OAArC;;AAEA,UAAQN,IAAR;AACE,SAAK,GAAL;AACE,UAAII,SAAJ,EAAe;AACb,eAAO,qCAAC,UAAD;AAAM,UAAA,MAAM,EAAC;AAAb,WAAqBD,SAArB,EAAP;AACD;;AACD,UAAID,QAAQ,KAAKK,iBAAjB,EAA0B;AACxB,eAAO,qCAAC,kBAAD;AAAU,UAAA,MAAM,EAAC;AAAjB,WAAyBJ,SAAzB,EAAP;AACD;;AACD,aAAO,qCAAC,YAAD;AAAO,QAAA,KAAK,EAAC,GAAb;AAAiB,QAAA,MAAM,EAAC;AAAxB,SAAgCA,SAAhC,EAAP;;AACF,SAAK,GAAL;AACE,UAAIC,SAAJ,EAAe;AACb,eACE,qCAAC,gBAAD;AAAS,UAAA,MAAM,EAAEF,QAAQ,KAAKM,eAAb,GAAqB,GAArB,GAA2B;AAA5C,WAAqDL,SAArD,EADF;AAGD;;AAED,aAAO,qCAAC,UAAD;AAAM,QAAA,MAAM,EAAC;AAAb,SAAqBA,SAArB,EAAP;;AACF,SAAK,GAAL;AACA;AACE,UAAID,QAAQ,KAAKO,aAAjB,EAAsB;AACpB,eAAO,qCAAC,gBAAD;AAAS,UAAA,MAAM,EAAC;AAAhB,WAAwBN,SAAxB,EAAP;AACD;;AAED,UAAID,QAAQ,KAAKM,eAAjB,EAAwB;AACtB,eAAO,qCAAC,gBAAD,EAAaL,SAAb,CAAP;AACD;;AAED,UAAIC,SAAJ,EAAe;AACb,eAAO,qCAAC,gBAAD;AAAS,UAAA,MAAM,EAAC;AAAhB,WAAwBD,SAAxB,EAAP;AACD;;AAED,aAAO,qCAAC,gBAAD;AAAS,QAAA,MAAM,EAAC;AAAhB,SAAwBA,SAAxB,EAAP;AA/BJ;AAiCD,CAzCD;;AAgDA,SAASO,uBAAT,CACEC,UADF,EAEEC,IAFF,EAG4B;AAC1B,MAAIC,kBAA6C,GAAGF,UAApD;AACA,MAAIG,YAAiC,GAAGF,IAAxC;;AAEA,MAAID,UAAU,KAAKI,SAAnB,EAA8B;AAC5B,YAAQH,IAAR;AACE,WAAK,UAAL;AACA,WAAK,WAAL;AACA,WAAK,SAAL;AACA,WAAK,SAAL;AACEC,QAAAA,kBAAkB,GAAG,QAArB;AACA;;AACF,WAAK,UAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,UAArB;AACA;;AACF,WAAK,aAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,UAArB;AACA;;AACF,WAAK,iBAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;;AACF,WAAK,mBAAL;AACEC,QAAAA,YAAY,GAAG,WAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;;AACF,WAAK,iBAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;AA1BJ;AA4BD;;AAED,SAAO;AACLA,IAAAA,kBAAkB,EAAlBA,kBADK;AAELC,IAAAA,YAAY,EAAZA;AAFK,GAAP;AAID;;AAED,IAAME,eAAe,GAAG,SAAlBA,eAAkB,QAgBL;AAAA,yBAfjBhB,IAeiB;AAAA,MAfjBA,IAeiB,2BAfV,GAeU;AAAA,yBAdjBY,IAciB;AAAA,MAdjBA,IAciB,2BAdV,SAcU;AAAA,MAbjBD,UAaiB,SAbjBA,UAaiB;AAAA,8BAZjBM,SAYiB;AAAA,MAZjBA,SAYiB,gCAZL,KAYK;AAAA,0BAXjBC,KAWiB;AAAA,MAXjBA,KAWiB,4BAXT,QAWS;AAAA,MAVjBC,QAUiB,SAVjBA,QAUiB;AAAA,MATjBC,MASiB,SATjBA,MASiB;AAAA,MARjBC,KAQiB,SARjBA,KAQiB;AAAA,MAPjBC,UAOiB,SAPjBA,UAOiB;AAAA,MANjBrB,KAMiB,SANjBA,KAMiB;AAAA,8BALjBsB,SAKiB;AAAA,MALjBA,SAKiB,gCALL,QAKK;AAAA,MAJjBC,OAIiB,SAJjBA,OAIiB;AAAA,MAHjBC,OAGiB,SAHjBA,OAGiB;AAAA,oCAFjBC,eAEiB;AAAA,MAFjBA,eAEiB,sCAFC,IAED;AAAA,MADdvB,SACc;AACjB,MAAMD,QAAQ,GAAG,+BAAjB;AACA,MAAMyB,QAAQ,GAAGC,OAAO,CAACR,MAAM,IAAIC,KAAX,CAAxB;AACA,MAAMQ,WAAW,GAAG,CAACV,QAAD,IAAaS,OAAO,CAACP,KAAD,CAAP,KAAmBO,OAAO,CAACR,MAAD,CAA3D;;AACA,8BAA6CV,uBAAuB,CAClEC,UADkE,EAElEC,IAFkE,CAApE;AAAA,MAAQE,YAAR,yBAAQA,YAAR;AAAA,MAAsBD,kBAAtB,yBAAsBA,kBAAtB;;AAIA,MAAMiB,YAAY,GAAGC,KAAK,CAACC,UAAN,CAAiBC,4CAAjB,EAAwCH,YAA7D;AAEA,SACE,qCAAC,kBAAD;AACE,IAAA,SAAS,EAAEA,YAAY,GAAG,eAAH,GAAqB,YAD9C;AAEE,IAAA,UAAU,EAAEA,YAAY,GAAG,gBAAH,GAAsB;AAFhD,KAGM3B,SAHN;AAIE,IAAA,SAAS,EAAEA,SAAS,CAAC+B,IAAV,GAAiB,GAAjB,GAAuBX,SAJpC;AAKE,IAAA,OAAO,EAAEC,OAAO,GAAGT,SAAH,GAAeU,OALjC;AAME,IAAA,gBAAgB,EAAC,SANnB;AAOE,IAAA,eAAe,EAAEC,eAPnB;AAQE,IAAA,SAAS,EAAE,4BACT,QADS,uBAEK1B,IAFL,yBAGMc,YAHN,yBAIMD,kBAJN,yBAKMK,KALN,2BAMQjB,KANR,GAOTgB,SAAS,IAAI,mBAPJ,EAQTU,QAAQ,IAAI,mBARH,EASTE,WAAW,IAAI,oBATN,EAUTL,OAAO,IAAI,iBAVF,CARb;AAoBE,IAAA,UAAU,EAAEF;AApBd,MAsBGE,OAAO,IAAI,qCAAC,gBAAD;AAAS,IAAA,IAAI,EAAC,OAAd;AAAsB,IAAA,SAAS,EAAC;AAAhC,IAtBd,EAuBE;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGJ,MAAM,IACL;AAAM,IAAA,SAAS,EAAC,gBAAhB;AAAiC,IAAA,IAAI,EAAC;AAAtC,KACGA,MADH,CAFJ,EAMGD,QAAQ,IACP,qCAAC,gBAAD;AACE,IAAA,IAAI,EAAEnB,IADR;AAEE,IAAA,KAAK,EAAEC,KAFT;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,SAAS,EAAC,iBAJZ;AAKE,IAAA,SAAS,EAAC;AALZ,KAOGiB,QAPH,CAPJ,EAiBGE,KAAK,IACJ;AAAM,IAAA,SAAS,EAAC,eAAhB;AAAgC,IAAA,IAAI,EAAC;AAArC,KACGA,KADH,CAlBJ,CAvBF,CADF;AAiDD,CA3ED;AA6EA;AACA;AACA;;;AACO,IAAMc,MAAM,GAAG,oCAAenB,eAAf,EAAgC;AACpDf,EAAAA,KAAK,EAAE;AAD6C,CAAhC,CAAf;;AAIPkC,MAAM,CAACC,WAAP,GAAqB,QAArB","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { TappableProps, Tappable } from \"../Tappable/Tappable\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { HasAlign, HasComponent } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { PlatformType, IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport \"./Button.css\";\n\nexport interface VKUIButtonProps extends HasAlign {\n /**\n Значения `commerce`, `destructive`, `overlay_...` будут упразднены в 5.0.0\n */\n mode?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"outline\"\n | \"commerce\"\n | \"destructive\"\n | \"overlay_primary\"\n | \"overlay_secondary\"\n | \"overlay_outline\";\n appearance?: \"accent\" | \"positive\" | \"negative\" | \"neutral\" | \"overlay\";\n size?: \"s\" | \"m\" | \"l\";\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps\n extends Omit<TappableProps, \"size\">,\n VKUIButtonProps {}\n\ninterface ButtonTypographyProps extends HasComponent {\n size: ButtonProps[\"size\"];\n platform: PlatformType | undefined;\n sizeY: AdaptivityProps[\"sizeY\"];\n children?: ButtonProps[\"children\"];\n}\n\nconst ButtonTypography = ({\n size,\n sizeY,\n platform,\n ...restProps\n}: ButtonTypographyProps) => {\n const isCompact = sizeY === SizeType.COMPACT;\n\n switch (size) {\n case \"l\":\n if (isCompact) {\n return <Text weight=\"2\" {...restProps} />;\n }\n if (platform === ANDROID) {\n return <Headline weight=\"2\" {...restProps} />;\n }\n return <Title level=\"3\" weight=\"2\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead weight={platform === VKCOM ? \"3\" : \"2\"} {...restProps} />\n );\n }\n\n return <Text weight=\"2\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"2\" {...restProps} />;\n }\n\n if (platform === VKCOM) {\n return <Caption {...restProps} />;\n }\n\n if (isCompact) {\n return <Caption weight=\"2\" {...restProps} />;\n }\n\n return <Subhead weight=\"2\" {...restProps} />;\n }\n};\n\ninterface ResolvedButtonAppearance {\n resolvedAppearance: ButtonProps[\"appearance\"];\n resolvedMode: ButtonProps[\"mode\"];\n}\n\nfunction resolveButtonAppearance(\n appearance: ButtonProps[\"appearance\"],\n mode: ButtonProps[\"mode\"]\n): ResolvedButtonAppearance {\n let resolvedAppearance: ButtonProps[\"appearance\"] = appearance;\n let resolvedMode: ButtonProps[\"mode\"] = mode;\n\n if (appearance === undefined) {\n switch (mode) {\n case \"tertiary\":\n case \"secondary\":\n case \"primary\":\n case \"outline\":\n resolvedAppearance = \"accent\";\n break;\n case \"commerce\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"positive\";\n break;\n case \"destructive\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"negative\";\n break;\n case \"overlay_primary\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_secondary\":\n resolvedMode = \"secondary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_outline\":\n resolvedMode = \"outline\";\n resolvedAppearance = \"overlay\";\n break;\n }\n }\n\n return {\n resolvedAppearance,\n resolvedMode,\n };\n}\n\nconst ButtonComponent = ({\n size = \"s\",\n mode = \"primary\",\n appearance,\n stretched = false,\n align = \"center\",\n children,\n before,\n after,\n getRootRef,\n sizeY,\n Component = \"button\",\n loading,\n onClick,\n stopPropagation = true,\n ...restProps\n}: ButtonProps) => {\n const platform = usePlatform();\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { resolvedMode, resolvedAppearance } = resolveButtonAppearance(\n appearance,\n mode\n );\n const hasNewTokens = React.useContext(ConfigProviderContext).hasNewTokens;\n\n return (\n <Tappable\n hoverMode={hasNewTokens ? \"Button--hover\" : \"background\"}\n activeMode={hasNewTokens ? \"Button--active\" : \"opacity\"}\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n stopPropagation={stopPropagation}\n vkuiClass={classNames(\n \"Button\",\n `Button--sz-${size}`,\n `Button--lvl-${resolvedMode}`,\n `Button--clr-${resolvedAppearance}`,\n `Button--aln-${align}`,\n `Button--sizeY-${sizeY}`,\n stretched && \"Button--stretched\",\n hasIcons && \"Button--with-icon\",\n hasIconOnly && \"Button--singleIcon\",\n loading && \"Button--loading\"\n )}\n getRootRef={getRootRef}\n >\n {loading && <Spinner size=\"small\" vkuiClass=\"Button__spinner\" />}\n <span vkuiClass=\"Button__in\">\n {before && (\n <span vkuiClass=\"Button__before\" role=\"presentation\">\n {before}\n </span>\n )}\n {children && (\n <ButtonTypography\n size={size}\n sizeY={sizeY}\n platform={platform}\n vkuiClass=\"Button__content\"\n Component=\"span\"\n >\n {children}\n </ButtonTypography>\n )}\n {after && (\n <span vkuiClass=\"Button__after\" role=\"presentation\">\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = withAdaptivity(ButtonComponent, {\n sizeY: true,\n});\n\nButton.displayName = \"Button\";\n"],"file":"Button.js"}
|
|
@@ -15,6 +15,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
15
15
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
|
|
18
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
|
+
|
|
18
20
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
21
|
|
|
20
22
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -62,7 +64,7 @@ var CardScroll = function CardScroll(_ref) {
|
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
var containerWidth = refContainer.current.offsetWidth;
|
|
65
|
-
var slideIndex =
|
|
67
|
+
var slideIndex = (0, _toConsumableArray2.default)(refContainer.current.children).findIndex(function (el) {
|
|
66
68
|
return el.offsetLeft + el.offsetWidth + parseInt(window.getComputedStyle(el).marginRight) - offset >= 0;
|
|
67
69
|
});
|
|
68
70
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CardScroll/CardScroll.tsx"],"names":["CardScroll","children","size","showArrows","withSpaces","restProps","platform","sizeX","refContainer","React","useRef","gapRef","window","getScrollToLeft","offset","current","containerWidth","offsetWidth","slideIndex","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CardScroll/CardScroll.tsx"],"names":["CardScroll","children","size","showArrows","withSpaces","restProps","platform","sizeX","refContainer","React","useRef","gapRef","window","getScrollToLeft","offset","current","containerWidth","offsetWidth","slideIndex","findIndex","el","offsetLeft","parseInt","getComputedStyle","marginRight","slide","scrollTo","getScrollToRight","Array","prototype","find","call"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n HorizontalScroll,\n HorizontalScrollProps,\n} from \"../HorizontalScroll/HorizontalScroll\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./CardScroll.css\";\n\nexport interface CardScrollProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * При `size=false` ширина `Card` будет регулироваться контентом внутри. В остальных случаях — будет явно задана в процентах.\n */\n size?: \"s\" | \"m\" | \"l\" | false;\n showArrows?: HorizontalScrollProps[\"showArrows\"];\n withSpaces?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardScroll\n */\nexport const CardScroll = ({\n children,\n size = \"s\",\n showArrows = true,\n withSpaces = true,\n ...restProps\n}: CardScrollProps) => {\n const platform = usePlatform();\n const { sizeX } = useAdaptivity();\n\n const refContainer = React.useRef<HTMLDivElement>(null);\n const gapRef = React.useRef<HTMLDivElement>(null);\n\n const { window } = useDOM();\n\n function getScrollToLeft(offset: number): number {\n if (!refContainer.current || !gapRef.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n const slideIndex = (\n [...refContainer.current.children] as HTMLElement[]\n ).findIndex(\n (el: HTMLElement) =>\n el.offsetLeft +\n el.offsetWidth +\n parseInt(window!.getComputedStyle(el).marginRight) -\n offset >=\n 0\n );\n\n if (slideIndex === -1) {\n return offset;\n }\n\n if (slideIndex === 0) {\n return 0;\n }\n\n const slide = refContainer.current.children[slideIndex] as HTMLElement;\n\n const scrollTo =\n slide.offsetLeft -\n (containerWidth - slide.offsetWidth) +\n gapRef.current.offsetWidth;\n\n if (scrollTo <= 2 * gapRef.current.offsetWidth) {\n return 0;\n }\n\n return scrollTo;\n }\n\n function getScrollToRight(offset: number): number {\n if (!refContainer.current || !gapRef.current) {\n return offset;\n }\n\n const containerWidth = refContainer.current.offsetWidth;\n const slide = Array.prototype.find.call(\n refContainer.current.children,\n (el: HTMLElement) =>\n el.offsetLeft + el.offsetWidth - offset > containerWidth\n ) as HTMLElement;\n\n if (!slide) {\n return offset;\n }\n\n return slide.offsetLeft - gapRef.current.offsetWidth;\n }\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"CardScroll\", platform),\n `CardScroll--sizeX-${sizeX}`,\n `CardScroll--${size}`,\n { [\"CardScroll--withSpaces\"]: withSpaces }\n )}\n >\n <HorizontalScroll\n getScrollToLeft={getScrollToLeft}\n getScrollToRight={getScrollToRight}\n showArrows={showArrows}\n >\n <div vkuiClass=\"CardScroll__in\" ref={refContainer}>\n <span vkuiClass=\"CardScroll__gap\" ref={gapRef} />\n {children}\n <span vkuiClass=\"CardScroll__gap\" />\n </div>\n </HorizontalScroll>\n </div>\n );\n};\n"],"file":"CardScroll.js"}
|