@vkontakte/vkui 4.32.0 → 4.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +363 -283
- package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -2
- package/.cache/ts/src/components/Banner/Banner.d.ts +1 -2
- package/.cache/ts/src/components/BaseGallery/BaseGallery.d.ts +4 -0
- package/.cache/ts/src/components/BaseGallery/helpers.d.ts +12 -0
- package/.cache/ts/src/components/BaseGallery/types.d.ts +43 -0
- package/.cache/ts/src/components/CellButton/CellButton.d.ts +1 -2
- package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +3 -1
- package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +1 -2
- package/.cache/ts/src/components/ContentCard/ContentCard.d.ts +1 -2
- package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -2
- package/.cache/ts/src/components/Epic/Epic.d.ts +1 -3
- package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +1 -2
- package/.cache/ts/src/components/FocusVisible/FocusVisible.d.ts +3 -4
- package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -2
- package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
- package/.cache/ts/src/components/Gallery/Gallery.d.ts +6 -43
- package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +4 -1
- package/.cache/ts/src/components/Group/Group.d.ts +4 -2
- package/.cache/ts/src/components/Header/Header.d.ts +1 -2
- package/.cache/ts/src/components/IconButton/IconButton.d.ts +5 -2
- package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
- package/.cache/ts/src/components/Link/Link.d.ts +1 -2
- package/.cache/ts/src/components/List/List.d.ts +1 -2
- package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +4 -2
- package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
- package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +4 -2
- package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
- package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
- package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
- package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
- package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
- package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +1 -2
- package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +2 -2
- package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +1 -2
- package/.cache/ts/src/components/RichCell/RichCell.d.ts +4 -2
- package/.cache/ts/src/components/Root/Root.d.ts +1 -2
- package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
- package/.cache/ts/src/components/Search/Search.d.ts +1 -2
- package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +4 -2
- package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
- package/.cache/ts/src/components/Slider/Slider.d.ts +1 -2
- package/.cache/ts/src/components/Spacing/Spacing.d.ts +2 -1
- package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +1 -2
- package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -2
- package/.cache/ts/src/components/Tabs/Tabs.d.ts +4 -2
- package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +1 -2
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +7 -4
- package/.cache/ts/src/components/Textarea/Textarea.d.ts +2 -3
- package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +1 -2
- package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -1
- package/.cache/ts/src/components/UsersStack/UsersStack.d.ts +4 -2
- package/.cache/ts/src/components/View/View.d.ts +6 -3
- package/.cache/ts/src/index.d.ts +44 -44
- package/.cache/ts/src/lib/animate.d.ts +1 -1
- package/.cache/ts/src/tokenized/index.d.ts +44 -0
- package/README.md +1 -1
- package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +2 -2
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.js +8 -6
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.d.ts +1 -2
- package/dist/cjs/components/Avatar/Avatar.js +6 -13
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.d.ts +1 -2
- package/dist/cjs/components/Banner/Banner.js +27 -36
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +4 -0
- package/dist/cjs/components/BaseGallery/BaseGallery.js +399 -0
- package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -0
- package/dist/cjs/components/BaseGallery/helpers.d.ts +12 -0
- package/dist/cjs/components/BaseGallery/helpers.js +62 -0
- package/dist/cjs/components/BaseGallery/helpers.js.map +1 -0
- package/dist/cjs/components/BaseGallery/types.d.ts +43 -0
- package/dist/cjs/components/BaseGallery/types.js +6 -0
- package/dist/cjs/components/BaseGallery/types.js.map +1 -0
- package/dist/cjs/components/Button/Button.js +3 -3
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/CalendarDay/CalendarDay.js +2 -4
- package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js +3 -5
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.js +2 -2
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/CellButton/CellButton.d.ts +1 -2
- package/dist/cjs/components/CellButton/CellButton.js +4 -12
- package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +3 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +69 -15
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js +2 -2
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -2
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js +3 -5
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.d.ts +1 -2
- package/dist/cjs/components/ContentCard/ContentCard.js +38 -50
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.js +3 -3
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.d.ts +1 -2
- package/dist/cjs/components/DatePicker/DatePicker.js +6 -7
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js +3 -3
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.d.ts +1 -3
- package/dist/cjs/components/Epic/Epic.js +9 -11
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +1 -2
- package/dist/cjs/components/FixedLayout/FixedLayout.js +6 -11
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +3 -4
- package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js +3 -6
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormLayout/FormLayout.d.ts +1 -2
- package/dist/cjs/components/FormLayout/FormLayout.js +3 -5
- package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +6 -10
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cjs/components/Gallery/Gallery.d.ts +6 -43
- package/dist/cjs/components/Gallery/Gallery.js +23 -565
- package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
- package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +4 -1
- package/dist/cjs/components/GridAvatar/GridAvatar.js +9 -11
- package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cjs/components/Group/Group.d.ts +4 -2
- package/dist/cjs/components/Group/Group.js +12 -14
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.d.ts +1 -2
- package/dist/cjs/components/Header/Header.js +4 -8
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -4
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +2 -4
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.d.ts +5 -2
- package/dist/cjs/components/IconButton/IconButton.js +14 -18
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +2 -4
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
- package/dist/cjs/components/Link/Link.d.ts +1 -2
- package/dist/cjs/components/Link/Link.js +5 -7
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/List/List.d.ts +1 -2
- package/dist/cjs/components/List/List.js +3 -5
- package/dist/cjs/components/List/List.js.map +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.d.ts +4 -2
- package/dist/cjs/components/ModalCard/ModalCard.js +32 -29
- package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +2 -2
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +15 -12
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.d.ts +4 -2
- package/dist/cjs/components/ModalPage/ModalPage.js +34 -31
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +10 -4
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootContext.js +2 -6
- package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -2
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/ModalRoot/withModalRootContext.js +2 -2
- package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.js +2 -2
- package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js +5 -5
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +11 -11
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +4 -8
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -7
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +2 -2
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +8 -12
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +4 -8
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.d.ts +1 -2
- package/dist/cjs/components/Placeholder/Placeholder.js +3 -5
- package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -10
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.js +4 -1
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +2 -2
- package/dist/cjs/components/PromoBanner/PromoBanner.js +7 -9
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -2
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.js +2 -4
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +1 -2
- package/dist/cjs/components/RangeSlider/RangeSlider.js +3 -5
- package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -6
- package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.js +10 -7
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCell.d.ts +4 -2
- package/dist/cjs/components/RichCell/RichCell.js +11 -11
- package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
- package/dist/cjs/components/Root/Root.d.ts +1 -2
- package/dist/cjs/components/Root/Root.js +6 -20
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +14 -14
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cjs/components/Search/Search.d.ts +1 -2
- package/dist/cjs/components/Search/Search.js +19 -18
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +4 -2
- package/dist/cjs/components/SimpleCell/SimpleCell.js +10 -12
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +3 -2
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/cjs/components/Slider/Slider.d.ts +1 -2
- package/dist/cjs/components/Slider/Slider.js +3 -5
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -2
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cjs/components/Spacing/Spacing.d.ts +2 -1
- package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +2 -2
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Tabbar/Tabbar.d.ts +1 -2
- package/dist/cjs/components/Tabbar/Tabbar.js +8 -12
- package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -2
- package/dist/cjs/components/TabbarItem/TabbarItem.js +5 -7
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.d.ts +4 -2
- package/dist/cjs/components/Tabs/Tabs.js +10 -13
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/TabsItem/TabsItem.d.ts +1 -2
- package/dist/cjs/components/TabsItem/TabsItem.js +6 -10
- package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +7 -4
- package/dist/cjs/components/Tappable/Tappable.js +10 -9
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.d.ts +2 -3
- package/dist/cjs/components/Textarea/Textarea.js +14 -14
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.d.ts +1 -2
- package/dist/cjs/components/Tooltip/Tooltip.js +8 -13
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.d.ts +1 -1
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.d.ts +4 -2
- package/dist/cjs/components/UsersStack/UsersStack.js +51 -46
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/UsersStack/masks.js +1 -1
- package/dist/cjs/components/UsersStack/masks.js.map +1 -1
- package/dist/cjs/components/View/View.d.ts +6 -3
- package/dist/cjs/components/View/View.js +26 -43
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.js +9 -29
- package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/index.d.ts +44 -44
- package/dist/cjs/index.js +88 -88
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/animate.d.ts +1 -1
- package/dist/cjs/lib/animate.js +1 -2
- package/dist/cjs/lib/animate.js.map +1 -1
- package/dist/cjs/lib/polyfills.js +20 -0
- package/dist/cjs/lib/polyfills.js.map +1 -1
- package/dist/cjs/tokenized/index.d.ts +44 -0
- package/dist/cjs/tokenized/index.js +176 -0
- package/dist/cjs/tokenized/index.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/Alert/Alert.js +6 -4
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -2
- package/dist/components/Avatar/Avatar.js +4 -11
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Banner/Banner.d.ts +1 -2
- package/dist/components/Banner/Banner.js +25 -35
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/BaseGallery/BaseGallery.d.ts +4 -0
- package/dist/components/BaseGallery/BaseGallery.js +371 -0
- package/dist/components/BaseGallery/BaseGallery.js.map +1 -0
- package/dist/components/BaseGallery/helpers.d.ts +12 -0
- package/dist/components/BaseGallery/helpers.js +50 -0
- package/dist/components/BaseGallery/helpers.js.map +1 -0
- package/dist/components/BaseGallery/types.d.ts +43 -0
- package/dist/components/BaseGallery/types.js +2 -0
- package/dist/components/BaseGallery/types.js.map +1 -0
- package/dist/components/Button/Button.js +2 -2
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +1 -1
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/Cell/Cell.js +1 -1
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/CellButton/CellButton.d.ts +1 -2
- package/dist/components/CellButton/CellButton.js +3 -10
- package/dist/components/CellButton/CellButton.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +3 -1
- package/dist/components/Checkbox/Checkbox.js +67 -15
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Chip/Chip.js +1 -1
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -2
- package/dist/components/ConfigProvider/ConfigProvider.js +2 -5
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts +1 -2
- package/dist/components/ContentCard/ContentCard.js +35 -46
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/DateInput/DateInput.js +1 -1
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +1 -2
- package/dist/components/DatePicker/DatePicker.js +4 -4
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts +1 -3
- package/dist/components/Epic/Epic.js +8 -6
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.d.ts +1 -2
- package/dist/components/FixedLayout/FixedLayout.js +5 -11
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/FocusVisible/FocusVisible.d.ts +3 -4
- package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
- package/dist/components/FormItem/FormItem.js +3 -6
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayout/FormLayout.d.ts +1 -2
- package/dist/components/FormLayout/FormLayout.js +2 -5
- package/dist/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/Gallery/Gallery.d.ts +6 -43
- package/dist/components/Gallery/Gallery.js +20 -567
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/GridAvatar/GridAvatar.d.ts +4 -1
- package/dist/components/GridAvatar/GridAvatar.js +8 -9
- package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/components/Group/Group.d.ts +4 -2
- package/dist/components/Group/Group.js +9 -10
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.d.ts +1 -2
- package/dist/components/Header/Header.js +3 -8
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +2 -2
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +5 -2
- package/dist/components/IconButton/IconButton.js +11 -13
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
- package/dist/components/InitialsAvatar/InitialsAvatar.js +1 -1
- package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
- package/dist/components/Link/Link.d.ts +1 -2
- package/dist/components/Link/Link.js +3 -6
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/List/List.d.ts +1 -2
- package/dist/components/List/List.js +2 -5
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +4 -2
- package/dist/components/ModalCard/ModalCard.js +29 -25
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
- package/dist/components/ModalDismissButton/ModalDismissButton.js +10 -9
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +4 -2
- package/dist/components/ModalPage/ModalPage.js +31 -28
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +9 -3
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRootContext.js +1 -3
- package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/ModalRoot/withModalRootContext.js +1 -1
- package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/components/Pagination/Pagination.js +1 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +2 -2
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.d.ts +1 -2
- package/dist/components/Placeholder/Placeholder.js +2 -5
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -9
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popper/Popper.js +4 -1
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.d.ts +2 -2
- package/dist/components/PromoBanner/PromoBanner.js +4 -7
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/Radio/Radio.js +1 -1
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.d.ts +1 -2
- package/dist/components/RangeSlider/RangeSlider.js +2 -5
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/RangeSlider/UniversalSlider.js +1 -5
- package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/components/Removable/Removable.js +7 -4
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +4 -2
- package/dist/components/RichCell/RichCell.js +8 -7
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/Root/Root.d.ts +1 -2
- package/dist/components/Root/Root.js +5 -19
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
- package/dist/components/ScreenSpinner/ScreenSpinner.js +12 -13
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/Search/Search.d.ts +1 -2
- package/dist/components/Search/Search.js +17 -15
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +4 -2
- package/dist/components/SimpleCell/SimpleCell.js +7 -8
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +1 -2
- package/dist/components/Slider/Slider.js +2 -5
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -1
- package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +2 -1
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.d.ts +1 -2
- package/dist/components/Tabbar/Tabbar.js +6 -11
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.d.ts +1 -2
- package/dist/components/TabbarItem/TabbarItem.js +3 -6
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +4 -2
- package/dist/components/Tabs/Tabs.js +8 -9
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts +1 -2
- package/dist/components/TabsItem/TabsItem.js +4 -9
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +7 -4
- package/dist/components/Tappable/Tappable.js +9 -6
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +2 -3
- package/dist/components/Textarea/Textarea.js +12 -9
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -2
- package/dist/components/Tooltip/Tooltip.js +7 -13
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts +1 -1
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.d.ts +4 -2
- package/dist/components/UsersStack/UsersStack.js +48 -39
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/UsersStack/masks.js +1 -1
- package/dist/components/UsersStack/masks.js.map +1 -1
- package/dist/components/View/View.d.ts +6 -3
- package/dist/components/View/View.js +25 -39
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.js +9 -28
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +27 -9
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +6 -4
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.css +5 -1
- package/dist/cssm/components/Avatar/Avatar.d.ts +1 -2
- package/dist/cssm/components/Avatar/Avatar.js +4 -11
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.css +5 -1
- package/dist/cssm/components/Banner/Banner.d.ts +1 -2
- package/dist/cssm/components/Banner/Banner.js +25 -35
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -0
- package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +4 -0
- package/dist/cssm/components/BaseGallery/BaseGallery.js +372 -0
- package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -0
- package/dist/cssm/components/BaseGallery/helpers.d.ts +12 -0
- package/dist/cssm/components/BaseGallery/helpers.js +50 -0
- package/dist/cssm/components/BaseGallery/helpers.js.map +1 -0
- package/dist/cssm/components/BaseGallery/types.d.ts +43 -0
- package/dist/cssm/components/BaseGallery/types.js +2 -0
- package/dist/cssm/components/BaseGallery/types.js.map +1 -0
- package/dist/cssm/components/Button/Button.css +1 -1
- package/dist/cssm/components/Button/Button.js +2 -2
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js +1 -1
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/CellButton/CellButton.css +1 -1
- package/dist/cssm/components/CellButton/CellButton.d.ts +1 -2
- package/dist/cssm/components/CellButton/CellButton.js +3 -10
- package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.d.ts +3 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +67 -15
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Chip/Chip.js +1 -1
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +1 -2
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -5
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.d.ts +1 -2
- package/dist/cssm/components/ContentCard/ContentCard.js +35 -46
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +1 -1
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -2
- package/dist/cssm/components/DatePicker/DatePicker.js +4 -4
- package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.d.ts +1 -3
- package/dist/cssm/components/Epic/Epic.js +8 -6
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -2
- package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -11
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +3 -4
- package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.css +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +3 -6
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -2
- package/dist/cssm/components/FormLayout/FormLayout.js +2 -5
- package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.d.ts +6 -43
- package/dist/cssm/components/Gallery/Gallery.js +20 -568
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +4 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.js +8 -9
- package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cssm/components/Group/Group.css +1 -1
- package/dist/cssm/components/Group/Group.d.ts +4 -2
- package/dist/cssm/components/Group/Group.js +9 -10
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Header/Header.d.ts +1 -2
- package/dist/cssm/components/Header/Header.js +3 -8
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +2 -2
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.css +1 -1
- package/dist/cssm/components/IconButton/IconButton.d.ts +5 -2
- package/dist/cssm/components/IconButton/IconButton.js +11 -13
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
- package/dist/cssm/components/Link/Link.d.ts +1 -2
- package/dist/cssm/components/Link/Link.js +3 -6
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/List/List.d.ts +1 -2
- package/dist/cssm/components/List/List.js +2 -5
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
- 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 +4 -2
- package/dist/cssm/components/ModalCard/ModalCard.js +29 -25
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +10 -9
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.d.ts +4 -2
- package/dist/cssm/components/ModalPage/ModalPage.js +31 -28
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +9 -3
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootContext.js +1 -3
- package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
- package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.js +1 -1
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -2
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -2
- package/dist/cssm/components/Placeholder/Placeholder.js +2 -5
- package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -9
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js +4 -1
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +2 -2
- package/dist/cssm/components/PromoBanner/PromoBanner.js +4 -7
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.css +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +1 -1
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +1 -2
- package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -5
- package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -5
- package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.css +1 -1
- package/dist/cssm/components/Removable/Removable.js +7 -4
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.d.ts +4 -2
- package/dist/cssm/components/RichCell/RichCell.js +8 -7
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/Root/Root.css +1 -1
- package/dist/cssm/components/Root/Root.d.ts +1 -2
- package/dist/cssm/components/Root/Root.js +5 -19
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +12 -13
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/Search/Search.d.ts +1 -2
- package/dist/cssm/components/Search/Search.js +17 -15
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +4 -2
- package/dist/cssm/components/SimpleCell/SimpleCell.js +7 -8
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/cssm/components/Slider/Slider.css +3 -1
- package/dist/cssm/components/Slider/Slider.d.ts +1 -2
- package/dist/cssm/components/Slider/Slider.js +2 -5
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
- package/dist/cssm/components/Spacing/Spacing.css +1 -1
- package/dist/cssm/components/Spacing/Spacing.d.ts +2 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -2
- package/dist/cssm/components/Tabbar/Tabbar.js +6 -11
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -2
- package/dist/cssm/components/TabbarItem/TabbarItem.js +3 -6
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.d.ts +4 -2
- package/dist/cssm/components/Tabs/Tabs.js +8 -9
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -2
- package/dist/cssm/components/TabsItem/TabsItem.js +4 -9
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.css +5 -1
- package/dist/cssm/components/Tappable/Tappable.d.ts +7 -4
- package/dist/cssm/components/Tappable/Tappable.js +9 -6
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.css +1 -1
- package/dist/cssm/components/Textarea/Textarea.d.ts +2 -3
- package/dist/cssm/components/Textarea/Textarea.js +12 -9
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.d.ts +1 -2
- package/dist/cssm/components/Tooltip/Tooltip.js +7 -13
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.d.ts +1 -1
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.css +5 -1
- package/dist/cssm/components/UsersStack/UsersStack.d.ts +4 -2
- package/dist/cssm/components/UsersStack/UsersStack.js +48 -39
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/UsersStack/masks.js +1 -1
- package/dist/cssm/components/UsersStack/masks.js.map +1 -1
- package/dist/cssm/components/View/View.css +1 -1
- package/dist/cssm/components/View/View.d.ts +6 -3
- package/dist/cssm/components/View/View.js +25 -39
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +9 -28
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/index.d.ts +44 -44
- package/dist/cssm/index.js +44 -44
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/animate.d.ts +1 -1
- package/dist/cssm/lib/animate.js +1 -2
- package/dist/cssm/lib/animate.js.map +1 -1
- package/dist/cssm/lib/polyfills.js +20 -0
- package/dist/cssm/lib/polyfills.js.map +1 -1
- package/dist/cssm/styles/components.css +27 -9
- package/dist/cssm/tokenized/index.d.ts +44 -0
- package/dist/cssm/tokenized/index.js +22 -0
- package/dist/cssm/tokenized/index.js.map +1 -1
- package/dist/default_scheme.css.map +1 -1
- package/dist/index.d.ts +44 -44
- package/dist/index.js +44 -44
- package/dist/index.js.map +1 -1
- package/dist/lib/animate.d.ts +1 -1
- package/dist/lib/animate.js +1 -2
- package/dist/lib/animate.js.map +1 -1
- package/dist/lib/polyfills.js +20 -0
- package/dist/lib/polyfills.js.map +1 -1
- package/dist/tokenized/index.d.ts +44 -0
- package/dist/tokenized/index.js +22 -0
- package/dist/tokenized/index.js.map +1 -1
- package/dist/vkui.css +27 -9
- package/dist/vkui.css.map +1 -1
- package/package.json +3 -3
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
- package/src/components/Alert/Alert.tsx +6 -4
- package/src/components/Avatar/Avatar.css +27 -20
- package/src/components/Avatar/Avatar.tsx +3 -9
- package/src/components/Avatar/Readme.md +43 -304
- package/src/components/Banner/Banner.css +24 -25
- package/src/components/Banner/Banner.tsx +28 -42
- package/src/components/{Gallery/Gallery.css → BaseGallery/BaseGallery.css} +7 -3
- package/src/components/BaseGallery/BaseGallery.tsx +394 -0
- package/src/components/BaseGallery/helpers.ts +51 -0
- package/src/components/BaseGallery/types.ts +52 -0
- package/src/components/Button/Button.css +4 -0
- package/src/components/Button/Button.tsx +3 -2
- package/src/components/CalendarDay/CalendarDay.tsx +1 -1
- package/src/components/CalendarHeader/CalendarHeader.tsx +1 -1
- package/src/components/Cell/Cell.tsx +1 -1
- package/src/components/CellButton/CellButton.css +10 -4
- package/src/components/CellButton/CellButton.tsx +4 -13
- package/src/components/Checkbox/Checkbox.css +41 -55
- package/src/components/Checkbox/Checkbox.tsx +89 -30
- package/src/components/Checkbox/Readme.md +19 -0
- package/src/components/Chip/Chip.tsx +1 -1
- package/src/components/ConfigProvider/ConfigProvider.tsx +1 -4
- package/src/components/ContentCard/ContentCard.css +10 -18
- package/src/components/ContentCard/ContentCard.tsx +44 -49
- package/src/components/ContentCard/Readme.md +6 -0
- package/src/components/DateInput/DateInput.tsx +1 -1
- package/src/components/DatePicker/DatePicker.tsx +4 -3
- package/src/components/DateRangeInput/DateRangeInput.tsx +1 -1
- package/src/components/Epic/Epic.tsx +7 -6
- package/src/components/FixedLayout/FixedLayout.css +1 -1
- package/src/components/FixedLayout/FixedLayout.tsx +5 -10
- package/src/components/FocusVisible/FocusVisible.css +1 -1
- package/src/components/FocusVisible/FocusVisible.tsx +2 -5
- package/src/components/FormItem/FormItem.css +22 -13
- package/src/components/FormItem/FormItem.tsx +3 -6
- package/src/components/FormLayout/FormLayout.tsx +3 -4
- package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +3 -9
- package/src/components/Gallery/Gallery.tsx +10 -512
- package/src/components/GridAvatar/GridAvatar.tsx +17 -15
- package/src/components/Group/Group.css +12 -0
- package/src/components/Group/Group.tsx +8 -11
- package/src/components/Group/Readme.md +129 -134
- package/src/components/Header/Header.tsx +2 -9
- package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +4 -1
- package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -1
- package/src/components/IconButton/IconButton.css +14 -19
- package/src/components/IconButton/IconButton.tsx +14 -16
- package/src/components/IconButton/Readme.md +51 -0
- package/src/components/InitialsAvatar/InitialsAvatar.css +26 -29
- package/src/components/InitialsAvatar/InitialsAvatar.tsx +2 -2
- package/src/components/Link/Link.tsx +5 -5
- package/src/components/List/List.tsx +3 -7
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
- package/src/components/ModalCard/ModalCard.css +1 -1
- package/src/components/ModalCard/ModalCard.tsx +31 -30
- package/src/components/ModalCardBase/ModalCardBase.tsx +1 -1
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +7 -12
- package/src/components/ModalPage/ModalPage.tsx +32 -32
- package/src/components/ModalRoot/ModalRoot.tsx +9 -2
- package/src/components/ModalRoot/ModalRootContext.tsx +0 -3
- package/src/components/ModalRoot/ModalRootDesktop.tsx +2 -1
- package/src/components/ModalRoot/withModalRootContext.tsx +2 -1
- package/src/components/Pagination/Pagination.tsx +1 -1
- package/src/components/PanelHeader/PanelHeader.css +9 -0
- package/src/components/PanelHeader/PanelHeader.tsx +2 -2
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +9 -8
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
- package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +3 -11
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
- package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -1
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +4 -13
- package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +3 -11
- package/src/components/Placeholder/Placeholder.tsx +3 -4
- package/src/components/PopoutWrapper/PopoutWrapper.css +4 -15
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +5 -11
- package/src/components/Popper/Popper.tsx +3 -0
- package/src/components/PromoBanner/PromoBanner.tsx +3 -6
- package/src/components/PullToRefresh/PullToRefresh.css +1 -1
- package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
- package/src/components/Radio/Radio.tsx +1 -1
- package/src/components/RangeSlider/RangeSlider.tsx +1 -4
- package/src/components/RangeSlider/Readme.md +19 -27
- package/src/components/RangeSlider/UniversalSlider.tsx +1 -4
- package/src/components/Removable/Removable.css +15 -19
- package/src/components/Removable/Removable.tsx +5 -3
- package/src/components/RichCell/RichCell.tsx +8 -7
- package/src/components/Root/Root.css +9 -14
- package/src/components/Root/Root.tsx +26 -21
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +13 -13
- package/src/components/Search/Search.tsx +9 -14
- package/src/components/SimpleCell/SimpleCell.css +3 -52
- package/src/components/SimpleCell/SimpleCell.tsx +6 -7
- package/src/components/SimpleCheckbox/Readme.md +4 -0
- package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +2 -1
- package/src/components/Slider/Readme.md +68 -76
- package/src/components/Slider/Slider.css +9 -49
- package/src/components/Slider/Slider.tsx +1 -4
- package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -1
- package/src/components/Snackbar/Snackbar.css +6 -2
- package/src/components/Spacing/Spacing.css +1 -1
- package/src/components/Spacing/Spacing.tsx +2 -1
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
- package/src/components/Tabbar/Tabbar.tsx +6 -9
- package/src/components/TabbarItem/TabbarItem.tsx +2 -5
- package/src/components/Tabs/Tabs.tsx +7 -10
- package/src/components/TabsItem/TabsItem.tsx +3 -10
- package/src/components/Tappable/Readme.md +53 -0
- package/src/components/Tappable/Tappable.css +12 -27
- package/src/components/Tappable/Tappable.tsx +13 -8
- package/src/components/Textarea/Readme.md +1 -2
- package/src/components/Textarea/Textarea.css +12 -8
- package/src/components/Textarea/Textarea.tsx +54 -55
- package/src/components/Tooltip/Tooltip.tsx +4 -12
- package/src/components/Typography/Title/Title.tsx +1 -1
- package/src/components/UsersStack/Readme.md +0 -1
- package/src/components/UsersStack/UsersStack.css +12 -30
- package/src/components/UsersStack/UsersStack.tsx +49 -43
- package/src/components/UsersStack/masks.tsx +28 -5
- package/src/components/View/View.css +1 -13
- package/src/components/View/View.tsx +39 -43
- package/src/components/WriteBar/WriteBar.tsx +13 -27
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
- package/src/index.ts +44 -44
- package/src/lib/animate.ts +1 -2
- package/src/lib/polyfills.ts +17 -0
- package/src/styles/components.css +1 -1
- package/src/tokenized/index.ts +66 -0
- package/tasks/postcss-restructure-variable.js +11 -4
- package/dist/cssm/components/Gallery/Gallery.css +0 -1
|
@@ -10,10 +10,13 @@ import { usePlatform } from "../../hooks/usePlatform";
|
|
|
10
10
|
/**
|
|
11
11
|
* @see https://vkcom.github.io/VKUI/#/PanelHeaderEdit
|
|
12
12
|
*/
|
|
13
|
-
var PanelHeaderEdit = function PanelHeaderEdit(_ref) {
|
|
14
|
-
var isActive = _ref.isActive,
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
export var PanelHeaderEdit = function PanelHeaderEdit(_ref) {
|
|
14
|
+
var _ref$isActive = _ref.isActive,
|
|
15
|
+
isActive = _ref$isActive === void 0 ? false : _ref$isActive,
|
|
16
|
+
_ref$editLabel = _ref.editLabel,
|
|
17
|
+
editLabel = _ref$editLabel === void 0 ? "Редактировать" : _ref$editLabel,
|
|
18
|
+
_ref$doneLabel = _ref.doneLabel,
|
|
19
|
+
doneLabel = _ref$doneLabel === void 0 ? "Готово" : _ref$doneLabel,
|
|
17
20
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
18
21
|
|
|
19
22
|
var iOSText = isActive ? doneLabel : editLabel;
|
|
@@ -23,12 +26,4 @@ var PanelHeaderEdit = function PanelHeaderEdit(_ref) {
|
|
|
23
26
|
"aria-label": iOSText
|
|
24
27
|
}, restProps), platform === ANDROID || platform === VKCOM ? createScopedElement(AndroidIcon, null) : iOSText);
|
|
25
28
|
};
|
|
26
|
-
|
|
27
|
-
PanelHeaderEdit.defaultProps = {
|
|
28
|
-
isActive: false,
|
|
29
|
-
editLabel: "Редактировать",
|
|
30
|
-
doneLabel: "Готово"
|
|
31
|
-
}; // eslint-disable-next-line import/no-default-export
|
|
32
|
-
|
|
33
|
-
export default PanelHeaderEdit;
|
|
34
29
|
//# sourceMappingURL=PanelHeaderEdit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"names":["PanelHeaderButton","ANDROID","VKCOM","Icon28EditOutline","Icon28DoneOutline","usePlatform","PanelHeaderEdit","isActive","editLabel","doneLabel","restProps","iOSText","AndroidIcon","platform"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"names":["PanelHeaderButton","ANDROID","VKCOM","Icon28EditOutline","Icon28DoneOutline","usePlatform","PanelHeaderEdit","isActive","editLabel","doneLabel","restProps","iOSText","AndroidIcon","platform"],"mappings":";;;;AACA,SACEA,iBADF;AAIA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,QAAqD,kBAArD;AACA,SAASC,WAAT;;AAiBA;AACA;AACA;AACA,OAAO,IAAMC,eAA8D,GAAG,SAAjEA,eAAiE,OAKlD;AAAA,2BAJ1BC,QAI0B;AAAA,MAJ1BA,QAI0B,8BAJf,KAIe;AAAA,4BAH1BC,SAG0B;AAAA,MAH1BA,SAG0B,+BAHd,eAGc;AAAA,4BAF1BC,SAE0B;AAAA,MAF1BA,SAE0B,+BAFd,QAEc;AAAA,MADvBC,SACuB;;AAC1B,MAAMC,OAAO,GAAGJ,QAAQ,GAAGE,SAAH,GAAeD,SAAvC;AACA,MAAMI,WAAW,GAAGL,QAAQ,GAAGH,iBAAH,GAAuBD,iBAAnD;AACA,MAAMU,QAAQ,GAAGR,WAAW,EAA5B;AAEA,SACE,oBAAC,iBAAD;AAAmB,kBAAYM;AAA/B,KAA4CD,SAA5C,GACGG,QAAQ,KAAKZ,OAAb,IAAwBY,QAAQ,KAAKX,KAArC,GAA6C,oBAAC,WAAD,OAA7C,GAA+DS,OADlE,CADF;AAKD,CAfM","sourcesContent":["import * as React from \"react\";\nimport {\n PanelHeaderButton,\n PanelHeaderButtonProps,\n} from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon28EditOutline, Icon28DoneOutline } from \"@vkontakte/icons\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\n\nexport interface PanelHeaderEditProps extends PanelHeaderButtonProps {\n /**\n * Включен ли режим редактирования\n */\n isActive?: boolean;\n /**\n * iOS only. Текст кнопки, когда режим редактирования не активен\n */\n editLabel?: string;\n /**\n * iOS only. Текст кнопки при активном режиме редактирования для выхода из него\n */\n doneLabel?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderEdit\n */\nexport const PanelHeaderEdit: React.FunctionComponent<PanelHeaderEditProps> = ({\n isActive = false,\n editLabel = \"Редактировать\",\n doneLabel = \"Готово\",\n ...restProps\n}: PanelHeaderEditProps) => {\n const iOSText = isActive ? doneLabel : editLabel;\n const AndroidIcon = isActive ? Icon28DoneOutline : Icon28EditOutline;\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton aria-label={iOSText} {...restProps}>\n {platform === ANDROID || platform === VKCOM ? <AndroidIcon /> : iOSText}\n </PanelHeaderButton>\n );\n};\n"],"file":"PanelHeaderEdit.js"}
|
|
@@ -3,5 +3,4 @@ import { PanelHeaderButtonProps } from "../PanelHeaderButton/PanelHeaderButton";
|
|
|
3
3
|
/**
|
|
4
4
|
* @see https://vkcom.github.io/VKUI/#/PanelHeaderSubmit
|
|
5
5
|
*/
|
|
6
|
-
declare const PanelHeaderSubmit: React.FunctionComponent<PanelHeaderButtonProps>;
|
|
7
|
-
export default PanelHeaderSubmit;
|
|
6
|
+
export declare const PanelHeaderSubmit: React.FunctionComponent<PanelHeaderButtonProps>;
|
|
@@ -11,8 +11,9 @@ import { getTitleFromChildren } from "../../lib/utils";
|
|
|
11
11
|
* @see https://vkcom.github.io/VKUI/#/PanelHeaderSubmit
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
var PanelHeaderSubmit = function PanelHeaderSubmit(_ref) {
|
|
15
|
-
var children = _ref.children,
|
|
14
|
+
export var PanelHeaderSubmit = function PanelHeaderSubmit(_ref) {
|
|
15
|
+
var _ref$children = _ref.children,
|
|
16
|
+
children = _ref$children === void 0 ? "Готово" : _ref$children,
|
|
16
17
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
17
18
|
|
|
18
19
|
var platform = usePlatform();
|
|
@@ -21,10 +22,4 @@ var PanelHeaderSubmit = function PanelHeaderSubmit(_ref) {
|
|
|
21
22
|
primary: true
|
|
22
23
|
}, restProps), platform === ANDROID || platform === VKCOM ? createScopedElement(Icon28DoneOutline, null) : children);
|
|
23
24
|
};
|
|
24
|
-
|
|
25
|
-
PanelHeaderSubmit.defaultProps = {
|
|
26
|
-
children: "Готово"
|
|
27
|
-
}; // eslint-disable-next-line import/no-default-export
|
|
28
|
-
|
|
29
|
-
export default PanelHeaderSubmit;
|
|
30
25
|
//# sourceMappingURL=PanelHeaderSubmit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"names":["PanelHeaderButton","Icon28DoneOutline","ANDROID","VKCOM","usePlatform","getTitleFromChildren","PanelHeaderSubmit","children","restProps","platform"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"names":["PanelHeaderButton","Icon28DoneOutline","ANDROID","VKCOM","usePlatform","getTitleFromChildren","PanelHeaderSubmit","children","restProps","platform"],"mappings":";;;;AACA,SACEA,iBADF;AAIA,SAASC,iBAAT,QAAkC,kBAAlC;AACA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,WAAT;AACA,SAASC,oBAAT;AAEA;AACA;AACA;;AACA,OAAO,IAAMC,iBAEZ,GAAG,SAFSA,iBAET,OAAmE;AAAA,2BAAhEC,QAAgE;AAAA,MAAhEA,QAAgE,8BAArD,QAAqD;AAAA,MAAxCC,SAAwC;;AACrE,MAAMC,QAAQ,GAAGL,WAAW,EAA5B;AAEA,SACE,oBAAC,iBAAD;AACE,kBAAYC,oBAAoB,CAACE,QAAD,CADlC;AAEE,IAAA,OAAO;AAFT,KAGMC,SAHN,GAKGC,QAAQ,KAAKP,OAAb,IAAwBO,QAAQ,KAAKN,KAArC,GACC,oBAAC,iBAAD,OADD,GAGCI,QARJ,CADF;AAaD,CAlBM","sourcesContent":["import * as React from \"react\";\nimport {\n PanelHeaderButton,\n PanelHeaderButtonProps,\n} from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { Icon28DoneOutline } from \"@vkontakte/icons\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getTitleFromChildren } from \"../../lib/utils\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderSubmit\n */\nexport const PanelHeaderSubmit: React.FunctionComponent<\n PanelHeaderButtonProps\n> = ({ children = \"Готово\", ...restProps }: PanelHeaderButtonProps) => {\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton\n aria-label={getTitleFromChildren(children)}\n primary\n {...restProps}\n >\n {platform === ANDROID || platform === VKCOM ? (\n <Icon28DoneOutline />\n ) : (\n children\n )}\n </PanelHeaderButton>\n );\n};\n"],"file":"PanelHeaderSubmit.js"}
|
|
@@ -22,5 +22,4 @@ export interface PlaceholderProps extends React.HTMLAttributes<HTMLDivElement>,
|
|
|
22
22
|
/**
|
|
23
23
|
* @see https://vkcom.github.io/VKUI/#/Placeholder
|
|
24
24
|
*/
|
|
25
|
-
declare const Placeholder: React.FC<PlaceholderProps>;
|
|
26
|
-
export default Placeholder;
|
|
25
|
+
export declare const Placeholder: React.FC<PlaceholderProps>;
|
|
@@ -10,7 +10,7 @@ import { Headline } from "../Typography/Headline/Headline";
|
|
|
10
10
|
/**
|
|
11
11
|
* @see https://vkcom.github.io/VKUI/#/Placeholder
|
|
12
12
|
*/
|
|
13
|
-
var Placeholder = function Placeholder(props) {
|
|
13
|
+
export var Placeholder = function Placeholder(props) {
|
|
14
14
|
var icon = props.icon,
|
|
15
15
|
header = props.header,
|
|
16
16
|
action = props.action,
|
|
@@ -39,8 +39,5 @@ var Placeholder = function Placeholder(props) {
|
|
|
39
39
|
}, children), hasReactNode(action) && createScopedElement("div", {
|
|
40
40
|
vkuiClass: "Placeholder__action"
|
|
41
41
|
}, action)));
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
export default Placeholder;
|
|
42
|
+
};
|
|
46
43
|
//# sourceMappingURL=Placeholder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Placeholder/Placeholder.tsx"],"names":["classNames","hasReactNode","Title","Headline","Placeholder","props","icon","header","action","children","stretched","getRootRef","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,SAASC,KAAT;AACA,SAASC,QAAT;;AAyBA;AACA;AACA;AACA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Placeholder/Placeholder.tsx"],"names":["classNames","hasReactNode","Title","Headline","Placeholder","props","icon","header","action","children","stretched","getRootRef","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,SAASC,KAAT;AACA,SAASC,QAAT;;AAyBA;AACA;AACA;AACA,OAAO,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CACrDC,KADqD,EAElD;AACH,MACEC,IADF,GAQID,KARJ,CACEC,IADF;AAAA,MAEEC,MAFF,GAQIF,KARJ,CAEEE,MAFF;AAAA,MAGEC,MAHF,GAQIH,KARJ,CAGEG,MAHF;AAAA,MAIEC,QAJF,GAQIJ,KARJ,CAIEI,QAJF;AAAA,MAKEC,SALF,GAQIL,KARJ,CAKEK,SALF;AAAA,MAMEC,UANF,GAQIN,KARJ,CAMEM,UANF;AAAA,MAOKC,SAPL,4BAQIP,KARJ;;AAUA,SACE,wCACMO,SADN;AAEE,IAAA,GAAG,EAAED,UAFP,CAGE;AAHF;AAIE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAJvB,MAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,YAAY,CAACK,IAAD,CAAZ,IAAsB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,IAApC,CADzB,EAEGL,YAAY,CAACM,MAAD,CAAZ,IACC,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAC,GAAb;AAAiB,IAAA,MAAM,EAAC,GAAxB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,GAAjB;AAAqB,IAAA,SAAS,EAAC;AAA/B,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CARF,CADF;AA2BD,CAxCM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Placeholder.css\";\n\nexport interface PlaceholderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера\n */\n header?: React.ReactNode;\n /**\n * Кнопка действия\n */\n action?: React.ReactNode;\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер\n */\n stretched?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Placeholder\n */\nexport const Placeholder: React.FC<PlaceholderProps> = (\n props: PlaceholderProps\n) => {\n const {\n icon,\n header,\n action,\n children,\n stretched,\n getRootRef,\n ...restProps\n } = props;\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Placeholder\", {\n \"Placeholder--stretched\": stretched,\n })}\n >\n <div vkuiClass=\"Placeholder__in\">\n {hasReactNode(icon) && <div vkuiClass=\"Placeholder__icon\">{icon}</div>}\n {hasReactNode(header) && (\n <Title level=\"2\" weight=\"2\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"3\" vkuiClass=\"Placeholder__text\">\n {children}\n </Headline>\n )}\n {hasReactNode(action) && (\n <div vkuiClass=\"Placeholder__action\">{action}</div>\n )}\n </div>\n </div>\n );\n};\n"],"file":"Placeholder.js"}
|
|
@@ -4,7 +4,6 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
4
4
|
var _excluded = ["alignY", "alignX", "closing", "hasMask", "fixed", "children", "onClick"];
|
|
5
5
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
6
6
|
import * as React from "react";
|
|
7
|
-
import { getClassName } from "../../helpers/getClassName";
|
|
8
7
|
import { classNames } from "../../lib/classNames";
|
|
9
8
|
import { IOS } from "../../lib/platform";
|
|
10
9
|
import { useTimeout } from "../../hooks/useTimeout";
|
|
@@ -58,15 +57,8 @@ export var PopoutWrapper = function PopoutWrapper(_ref) {
|
|
|
58
57
|
}, {
|
|
59
58
|
passive: false
|
|
60
59
|
});
|
|
61
|
-
var baseClassNames = getClassName("PopoutWrapper", platform);
|
|
62
60
|
return createScopedElement("div", _extends({}, restProps, {
|
|
63
|
-
|
|
64
|
-
vkuiClass: classNames(baseClassNames, "PopoutWrapper--v-".concat(alignY), "PopoutWrapper--h-".concat(alignX), {
|
|
65
|
-
"PopoutWrapper--closing": closing,
|
|
66
|
-
"PopoutWrapper--opened": opened,
|
|
67
|
-
"PopoutWrapper--fixed": fixed,
|
|
68
|
-
"PopoutWrapper--masked": hasMask
|
|
69
|
-
}),
|
|
61
|
+
vkuiClass: classNames("PopoutWrapper", "PopoutWrapper--v-".concat(alignY), "PopoutWrapper--h-".concat(alignX), closing && "PopoutWrapper--closing", opened && "PopoutWrapper--opened", fixed && "PopoutWrapper--fixed", hasMask && "PopoutWrapper--masked"),
|
|
70
62
|
onAnimationEnd: opened ? undefined : onFadeInEnd,
|
|
71
63
|
ref: elRef
|
|
72
64
|
}), createScopedElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":["React","
|
|
1
|
+
{"version":3,"sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":["React","classNames","IOS","useTimeout","usePlatform","useGlobalEventListener","useDOM","PopoutWrapper","alignY","alignX","closing","hasMask","fixed","children","onClick","restProps","platform","useState","opened","setOpened","elRef","useRef","onFadeInEnd","e","animationName","animationFinishFallback","useEffect","set","window","preventDefault","passive","undefined"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,GAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,sBAAT;AACA,SAASC,MAAT;;AAYA;AACA;AACA;AACA,OAAO,IAAMC,aAA2C,GAAG,SAA9CA,aAA8C,OASjC;AAAA,yBARxBC,MAQwB;AAAA,MARxBA,MAQwB,4BARf,QAQe;AAAA,yBAPxBC,MAOwB;AAAA,MAPxBA,MAOwB,4BAPf,QAOe;AAAA,0BANxBC,OAMwB;AAAA,MANxBA,OAMwB,6BANd,KAMc;AAAA,0BALxBC,OAKwB;AAAA,MALxBA,OAKwB,6BALd,IAKc;AAAA,wBAJxBC,KAIwB;AAAA,MAJxBA,KAIwB,2BAJhB,IAIgB;AAAA,MAHxBC,QAGwB,QAHxBA,QAGwB;AAAA,MAFxBC,OAEwB,QAFxBA,OAEwB;AAAA,MADrBC,SACqB;;AACxB,MAAMC,QAAQ,GAAGZ,WAAW,EAA5B;;AACA,wBAA4BJ,KAAK,CAACiB,QAAN,CAAe,CAACN,OAAhB,CAA5B;AAAA;AAAA,MAAOO,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,KAAK,GAAGpB,KAAK,CAACqB,MAAN,CAA6B,IAA7B,CAAd;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAA8B;AAChD,QAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,aAAF,KAAoB,6BAA9B,EAA6D;AAC3DL,MAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AACF,GAJD;;AAKA,MAAMM,uBAAuB,GAAGtB,UAAU,CACxCmB,WADwC,EAExCN,QAAQ,KAAKd,GAAb,GAAmB,GAAnB,GAAyB,GAFe,CAA1C;AAIAF,EAAAA,KAAK,CAAC0B,SAAN,CAAgB,YAAM;AACpB,KAACR,MAAD,IAAWO,uBAAuB,CAACE,GAAxB,EAAX;AACD,GAFD,EAEG,CAACF,uBAAD,EAA0BP,MAA1B,CAFH;;AAIA,gBAAmBZ,MAAM,EAAzB;AAAA,MAAQsB,MAAR,WAAQA,MAAR;;AACAvB,EAAAA,sBAAsB,CAACuB,MAAD,EAAS,WAAT,EAAsB,UAACL,CAAD;AAAA,WAAOA,CAAC,CAACM,cAAF,EAAP;AAAA,GAAtB,EAAiD;AACrEC,IAAAA,OAAO,EAAE;AAD4D,GAAjD,CAAtB;AAIA,SACE,wCACMf,SADN;AAEE,IAAA,SAAS,EAAEd,UAAU,CACnB,eADmB,6BAECO,MAFD,8BAGCC,MAHD,GAInBC,OAAO,IAAI,wBAJQ,EAKnBQ,MAAM,IAAI,uBALS,EAMnBN,KAAK,IAAI,sBANU,EAOnBD,OAAO,IAAI,uBAPQ,CAFvB;AAWE,IAAA,cAAc,EAAEO,MAAM,GAAGa,SAAH,GAAeT,WAXvC;AAYE,IAAA,GAAG,EAAEF;AAZP,MAcE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAwC,IAAA,OAAO,EAAEN;AAAjD,IADF,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAyCD,QAAzC,CAFF,CAdF,CADF;AAqBD,CArDM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./PopoutWrapper.css\";\n\nexport interface PopoutWrapperProps\n extends React.HTMLAttributes<HTMLDivElement> {\n hasMask?: boolean;\n fixed?: boolean;\n alignY?: \"top\" | \"center\" | \"bottom\";\n alignX?: \"left\" | \"center\" | \"right\";\n closing?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PopoutWrapper\n */\nexport const PopoutWrapper: React.FC<PopoutWrapperProps> = ({\n alignY = \"center\",\n alignX = \"center\",\n closing = false,\n hasMask = true,\n fixed = true,\n children,\n onClick,\n ...restProps\n}: PopoutWrapperProps) => {\n const platform = usePlatform();\n const [opened, setOpened] = React.useState(!hasMask);\n const elRef = React.useRef<HTMLDivElement>(null);\n\n const onFadeInEnd = (e?: React.AnimationEvent) => {\n if (!e || e.animationName === \"vkui-animation-full-fade-in\") {\n setOpened(true);\n }\n };\n const animationFinishFallback = useTimeout(\n onFadeInEnd,\n platform === IOS ? 300 : 200\n );\n React.useEffect(() => {\n !opened && animationFinishFallback.set();\n }, [animationFinishFallback, opened]);\n\n const { window } = useDOM();\n useGlobalEventListener(window, \"touchmove\", (e) => e.preventDefault(), {\n passive: false,\n });\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"PopoutWrapper\",\n `PopoutWrapper--v-${alignY}`,\n `PopoutWrapper--h-${alignX}`,\n closing && \"PopoutWrapper--closing\",\n opened && \"PopoutWrapper--opened\",\n fixed && \"PopoutWrapper--fixed\",\n hasMask && \"PopoutWrapper--masked\"\n )}\n onAnimationEnd={opened ? undefined : onFadeInEnd}\n ref={elRef}\n >\n <div vkuiClass=\"PopoutWrapper__container\">\n <div vkuiClass=\"PopoutWrapper__overlay\" onClick={onClick} />\n <div vkuiClass=\"PopoutWrapper__content\">{children}</div>\n </div>\n </div>\n );\n};\n"],"file":"PopoutWrapper.js"}
|
|
@@ -53,7 +53,10 @@ export var Popper = function Popper(_ref) {
|
|
|
53
53
|
var setExternalRef = useExternRef(getRef, setPopperNode);
|
|
54
54
|
var modifiers = React.useMemo(function () {
|
|
55
55
|
var modifiers = [{
|
|
56
|
-
name: "preventOverflow"
|
|
56
|
+
name: "preventOverflow",
|
|
57
|
+
options: {
|
|
58
|
+
mainAxis: false
|
|
59
|
+
}
|
|
57
60
|
}, {
|
|
58
61
|
name: "offset",
|
|
59
62
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Popper/Popper.tsx"],"names":["React","usePopper","AppRootPortal","usePlatform","getClassName","useExternRef","useIsomorphicLayoutEffect","ARROW_PADDING","ARROW_WIDTH","ARROW_HEIGHT","Popper","targetRef","children","getRef","placement","onPlacementChange","arrow","arrowClassName","sameWidth","offsetDistance","offsetSkidding","forcePortal","compStyles","style","restProps","useState","popperNode","setPopperNode","smallTargetOffsetSkidding","setSmallTargetOffsetSkidding","platform","setExternalRef","modifiers","useMemo","name","options","offset","push","padding","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","offsetWidth","current","attributes","resolvedPlacement","isEdgePlacement","includes","placementDirection","startsWith","arrowSize","targetSize","offsetHeight","useEffect","dropdown","minWidth","scrollWidth","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePopper, Modifier } from \"react-popper\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { HasRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport \"./Popper.css\";\n\nexport type Placement =\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"right-start\"\n | \"right-end\"\n | \"left-start\"\n | \"left-end\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\";\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n arrow?: boolean;\n arrowClassName?: string;\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\nconst ARROW_PADDING = 8;\nconst ARROW_WIDTH = 20;\nconst ARROW_HEIGHT = 8;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popper\n */\nexport const Popper: React.FC<PopperProps> = ({\n targetRef,\n children,\n getRef,\n placement = \"bottom-start\",\n onPlacementChange,\n arrow,\n arrowClassName,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n style: compStyles,\n ...restProps\n}: PopperProps) => {\n const [popperNode, setPopperNode] = React.useState<HTMLDivElement | null>(\n null\n );\n const [smallTargetOffsetSkidding, setSmallTargetOffsetSkidding] =\n React.useState(0);\n const platform = usePlatform();\n\n const setExternalRef = useExternRef<HTMLDivElement>(getRef, setPopperNode);\n\n const modifiers = React.useMemo(() => {\n const modifiers: Array<Modifier<string>> = [\n {\n name: \"preventOverflow\",\n },\n {\n name: \"offset\",\n options: {\n offset: [\n arrow ? offsetSkidding - smallTargetOffsetSkidding : offsetSkidding,\n arrow ? offsetDistance + ARROW_HEIGHT : offsetDistance,\n ],\n },\n },\n {\n name: \"flip\",\n },\n ];\n\n if (arrow) {\n modifiers.push({\n name: \"arrow\",\n options: {\n padding: ARROW_PADDING,\n },\n });\n }\n\n if (sameWidth) {\n const sameWidth: Modifier<string> = {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n };\n\n modifiers.push(sameWidth);\n }\n\n return modifiers;\n }, [\n arrow,\n sameWidth,\n smallTargetOffsetSkidding,\n offsetSkidding,\n offsetDistance,\n ]);\n\n const { styles, state, attributes } = usePopper(\n targetRef.current,\n popperNode,\n {\n placement,\n modifiers,\n }\n );\n\n const resolvedPlacement = state?.placement;\n const isEdgePlacement =\n !!resolvedPlacement && resolvedPlacement.includes(\"-\"); // true, если поппер отрисован с краю\n\n // Если поппер рисуется с краю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до\n // таргета из-за маленьких размеров последнего\n useIsomorphicLayoutEffect(() => {\n if (arrow && isEdgePlacement) {\n const placementDirection =\n resolvedPlacement?.startsWith(\"bottom\") ||\n resolvedPlacement?.startsWith(\"top\")\n ? \"vertical\"\n : \"horizontal\";\n\n const arrowSize =\n placementDirection === \"vertical\" ? ARROW_WIDTH : ARROW_HEIGHT;\n const targetSize =\n (placementDirection === \"vertical\"\n ? targetRef.current?.offsetWidth\n : targetRef.current?.offsetHeight) ?? 0;\n\n if (targetSize < arrowSize + 2 * ARROW_PADDING) {\n setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);\n }\n } else {\n setSmallTargetOffsetSkidding(0);\n }\n }, [arrow, isEdgePlacement]);\n\n React.useEffect(() => {\n if (resolvedPlacement) {\n onPlacementChange && onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n {...attributes.popper}\n vkuiClass={getClassName(\"Popper\", platform)}\n ref={setExternalRef}\n style={{\n ...compStyles,\n ...styles.popper,\n minWidth: sameWidth ? targetRef.current?.scrollWidth : undefined,\n }}\n >\n {arrow && (\n <div\n {...attributes.arrow}\n vkuiClass=\"Popper__arrow\"\n data-popper-arrow={true}\n style={styles.arrow}\n >\n <svg\n vkuiClass=\"Popper__arrow-in\"\n className={arrowClassName}\n width=\"20\"\n height=\"8\"\n viewBox=\"0 0 20 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n )}\n <div vkuiClass=\"Popper__content\">{children}</div>\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} vkuiClass=\"PopperPortal\">\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"file":"Popper.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Popper/Popper.tsx"],"names":["React","usePopper","AppRootPortal","usePlatform","getClassName","useExternRef","useIsomorphicLayoutEffect","ARROW_PADDING","ARROW_WIDTH","ARROW_HEIGHT","Popper","targetRef","children","getRef","placement","onPlacementChange","arrow","arrowClassName","sameWidth","offsetDistance","offsetSkidding","forcePortal","compStyles","style","restProps","useState","popperNode","setPopperNode","smallTargetOffsetSkidding","setSmallTargetOffsetSkidding","platform","setExternalRef","modifiers","useMemo","name","options","mainAxis","offset","push","padding","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","offsetWidth","current","attributes","resolvedPlacement","isEdgePlacement","includes","placementDirection","startsWith","arrowSize","targetSize","offsetHeight","useEffect","dropdown","minWidth","scrollWidth","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePopper, Modifier } from \"react-popper\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { HasRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport \"./Popper.css\";\n\nexport type Placement =\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"right-start\"\n | \"right-end\"\n | \"left-start\"\n | \"left-end\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\";\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n arrow?: boolean;\n arrowClassName?: string;\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\nconst ARROW_PADDING = 8;\nconst ARROW_WIDTH = 20;\nconst ARROW_HEIGHT = 8;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popper\n */\nexport const Popper: React.FC<PopperProps> = ({\n targetRef,\n children,\n getRef,\n placement = \"bottom-start\",\n onPlacementChange,\n arrow,\n arrowClassName,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n style: compStyles,\n ...restProps\n}: PopperProps) => {\n const [popperNode, setPopperNode] = React.useState<HTMLDivElement | null>(\n null\n );\n const [smallTargetOffsetSkidding, setSmallTargetOffsetSkidding] =\n React.useState(0);\n const platform = usePlatform();\n\n const setExternalRef = useExternRef<HTMLDivElement>(getRef, setPopperNode);\n\n const modifiers = React.useMemo(() => {\n const modifiers: Array<Modifier<string>> = [\n {\n name: \"preventOverflow\",\n options: {\n mainAxis: false,\n },\n },\n {\n name: \"offset\",\n options: {\n offset: [\n arrow ? offsetSkidding - smallTargetOffsetSkidding : offsetSkidding,\n arrow ? offsetDistance + ARROW_HEIGHT : offsetDistance,\n ],\n },\n },\n {\n name: \"flip\",\n },\n ];\n\n if (arrow) {\n modifiers.push({\n name: \"arrow\",\n options: {\n padding: ARROW_PADDING,\n },\n });\n }\n\n if (sameWidth) {\n const sameWidth: Modifier<string> = {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n };\n\n modifiers.push(sameWidth);\n }\n\n return modifiers;\n }, [\n arrow,\n sameWidth,\n smallTargetOffsetSkidding,\n offsetSkidding,\n offsetDistance,\n ]);\n\n const { styles, state, attributes } = usePopper(\n targetRef.current,\n popperNode,\n {\n placement,\n modifiers,\n }\n );\n\n const resolvedPlacement = state?.placement;\n const isEdgePlacement =\n !!resolvedPlacement && resolvedPlacement.includes(\"-\"); // true, если поппер отрисован с краю\n\n // Если поппер рисуется с краю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до\n // таргета из-за маленьких размеров последнего\n useIsomorphicLayoutEffect(() => {\n if (arrow && isEdgePlacement) {\n const placementDirection =\n resolvedPlacement?.startsWith(\"bottom\") ||\n resolvedPlacement?.startsWith(\"top\")\n ? \"vertical\"\n : \"horizontal\";\n\n const arrowSize =\n placementDirection === \"vertical\" ? ARROW_WIDTH : ARROW_HEIGHT;\n const targetSize =\n (placementDirection === \"vertical\"\n ? targetRef.current?.offsetWidth\n : targetRef.current?.offsetHeight) ?? 0;\n\n if (targetSize < arrowSize + 2 * ARROW_PADDING) {\n setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);\n }\n } else {\n setSmallTargetOffsetSkidding(0);\n }\n }, [arrow, isEdgePlacement]);\n\n React.useEffect(() => {\n if (resolvedPlacement) {\n onPlacementChange && onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n {...attributes.popper}\n vkuiClass={getClassName(\"Popper\", platform)}\n ref={setExternalRef}\n style={{\n ...compStyles,\n ...styles.popper,\n minWidth: sameWidth ? targetRef.current?.scrollWidth : undefined,\n }}\n >\n {arrow && (\n <div\n {...attributes.arrow}\n vkuiClass=\"Popper__arrow\"\n data-popper-arrow={true}\n style={styles.arrow}\n >\n <svg\n vkuiClass=\"Popper__arrow-in\"\n className={arrowClassName}\n width=\"20\"\n height=\"8\"\n viewBox=\"0 0 20 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n )}\n <div vkuiClass=\"Popper__content\">{children}</div>\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} vkuiClass=\"PopperPortal\">\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"file":"Popper.js"}
|
|
@@ -39,5 +39,5 @@ export interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
39
39
|
/**
|
|
40
40
|
* @see https://vkcom.github.io/VKUI/#/PromoBanner
|
|
41
41
|
*/
|
|
42
|
-
declare const PromoBanner: (props: PromoBannerProps) => JSX.Element;
|
|
43
|
-
export
|
|
42
|
+
export declare const PromoBanner: (props: PromoBannerProps) => JSX.Element;
|
|
43
|
+
export {};
|
|
@@ -8,8 +8,8 @@ import { createScopedElement } from "../../lib/jsxRuntime";
|
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
import { Icon24Dismiss } from "@vkontakte/icons";
|
|
10
10
|
import { Button } from "../Button/Button";
|
|
11
|
-
import SimpleCell from "../SimpleCell/SimpleCell";
|
|
12
|
-
import Avatar from "../Avatar/Avatar";
|
|
11
|
+
import { SimpleCell } from "../SimpleCell/SimpleCell";
|
|
12
|
+
import { Avatar } from "../Avatar/Avatar";
|
|
13
13
|
import { Caption } from "../Typography/Caption/Caption";
|
|
14
14
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
15
15
|
import { getClassName } from "../../helpers/getClassName";
|
|
@@ -19,7 +19,7 @@ var warn = warnOnce("PromoBanner");
|
|
|
19
19
|
* @see https://vkcom.github.io/VKUI/#/PromoBanner
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
var PromoBanner = function PromoBanner(props) {
|
|
22
|
+
export var PromoBanner = function PromoBanner(props) {
|
|
23
23
|
var platform = usePlatform();
|
|
24
24
|
|
|
25
25
|
var _props$bannerData = props.bannerData,
|
|
@@ -83,8 +83,5 @@ var PromoBanner = function PromoBanner(props) {
|
|
|
83
83
|
src: currentPixel,
|
|
84
84
|
alt: ""
|
|
85
85
|
})));
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
export default PromoBanner;
|
|
86
|
+
};
|
|
90
87
|
//# sourceMappingURL=PromoBanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/PromoBanner/PromoBanner.tsx"],"names":["React","Icon24Dismiss","Button","SimpleCell","Avatar","Caption","usePlatform","getClassName","warnOnce","warn","PromoBanner","props","platform","bannerData","onClose","restProps","ageRestrictions","parseInt","ageRestriction","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","advertisingLabel","isCloseButtonHidden","trackingLink","iconLink","title","ctaText","domain","length"],"mappings":";;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,MAAT;AACA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/PromoBanner/PromoBanner.tsx"],"names":["React","Icon24Dismiss","Button","SimpleCell","Avatar","Caption","usePlatform","getClassName","warnOnce","warn","PromoBanner","props","platform","bannerData","onClose","restProps","ageRestrictions","parseInt","ageRestriction","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","advertisingLabel","isCloseButtonHidden","trackingLink","iconLink","title","ctaText","domain","length"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport { Button } from \"../Button/Button\";\nimport { SimpleCell } from \"../SimpleCell/SimpleCell\";\nimport { Avatar } from \"../Avatar/Avatar\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./PromoBanner.css\";\n\ntype StatsType =\n | \"playbackStarted\" // Начало показа\n | \"click\"; // Клик по баннеру\n\ntype BannerData = {\n title?: string;\n url_types?: string; // eslint-disable-line camelcase\n bannerID?: string;\n imageWidth?: number;\n imageHeight?: number;\n imageLink?: string;\n trackingLink?: string;\n type?: string;\n iconWidth?: number;\n domain?: string;\n ctaText?: string;\n advertisingLabel?: string;\n iconLink?: string;\n statistics?: Array<{ type: StatsType; url: string }>;\n openInBrowser?: boolean;\n iconHeight?: number;\n directLink?: boolean;\n navigationType?: string;\n description?: string;\n ageRestrictions?: string;\n /** @deprecated */\n ageRestriction?: number;\n};\n\nexport interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Данные рекламного баннера, полученные из VKWebAppGetAds */\n bannerData: BannerData;\n /** Флаг скрытия кнопки закрытия рекламы */\n isCloseButtonHidden?: boolean;\n /** Хандлер закрытия рекламы */\n onClose: () => void;\n}\n\nconst warn = warnOnce(\"PromoBanner\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PromoBanner\n */\nexport const PromoBanner = (props: PromoBannerProps) => {\n const platform = usePlatform();\n const { bannerData = {}, onClose, ...restProps } = props;\n\n const ageRestrictions =\n bannerData.ageRestrictions != null\n ? parseInt(bannerData.ageRestrictions)\n : bannerData.ageRestriction;\n\n if (bannerData.ageRestriction && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство bannerData.ageRestriction устарело и будет удалено в 5.0.0. Используйте bannerData.ageRestrictions\"\n );\n }\n\n const [currentPixel, setCurrentPixel] = React.useState(\"\");\n\n const statsPixels = React.useMemo(\n () =>\n (bannerData.statistics\n ? bannerData.statistics.reduce(\n (acc, item) => ({ ...acc, [item.type]: item.url }),\n {}\n )\n : {}) as Record<StatsType, string | void>,\n [bannerData.statistics]\n );\n\n const onClick = React.useCallback(\n () => setCurrentPixel(statsPixels.click || \"\"),\n [statsPixels.click]\n );\n\n React.useEffect(() => {\n if (statsPixels.playbackStarted) {\n setCurrentPixel(statsPixels.playbackStarted);\n }\n }, [statsPixels.playbackStarted]);\n\n return (\n <div vkuiClass={getClassName(\"PromoBanner\", platform)} {...restProps}>\n <div vkuiClass=\"PromoBanner__head\">\n <Caption vkuiClass=\"PromoBanner__label\">\n {bannerData.advertisingLabel || \"Advertisement\"}\n </Caption>\n {ageRestrictions != null && (\n <Caption vkuiClass=\"PromoBanner__age\">{ageRestrictions}+</Caption>\n )}\n\n {!props.isCloseButtonHidden && (\n <div vkuiClass=\"PromoBanner__close\" onClick={props.onClose}>\n <Icon24Dismiss />\n </div>\n )}\n </div>\n <SimpleCell\n href={bannerData.trackingLink}\n onClick={onClick}\n rel=\"nofollow noopener noreferrer\"\n target=\"_blank\"\n before={\n <Avatar\n mode=\"image\"\n size={48}\n src={bannerData.iconLink}\n alt={bannerData.title}\n />\n }\n after={<Button mode=\"outline\">{bannerData.ctaText}</Button>}\n description={bannerData.domain}\n >\n {bannerData.title}\n </SimpleCell>\n\n {currentPixel.length > 0 && (\n <div vkuiClass=\"PromoBanner__pixels\">\n <img src={currentPixel} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n"],"file":"PromoBanner.js"}
|
|
@@ -13,7 +13,7 @@ import { usePlatform } from "../../hooks/usePlatform";
|
|
|
13
13
|
import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
|
|
14
14
|
import { useScroll } from "../AppRoot/ScrollContext";
|
|
15
15
|
import { Touch } from "../Touch/Touch";
|
|
16
|
-
import FixedLayout from "../FixedLayout/FixedLayout";
|
|
16
|
+
import { FixedLayout } from "../FixedLayout/FixedLayout";
|
|
17
17
|
import { PullToRefreshSpinner } from "./PullToRefreshSpinner";
|
|
18
18
|
import TouchRootContext from "../Touch/TouchContext";
|
|
19
19
|
import { usePrevious } from "../../hooks/usePrevious";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":["React","useDOM","classNames","IOS","runTapticImpactOccurred","useIsomorphicLayoutEffect","usePlatform","useGlobalEventListener","useScroll","Touch","FixedLayout","PullToRefreshSpinner","TouchRootContext","usePrevious","useTimeout","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","TOUCH_MOVE_EVENT_PARAMS","passive","PullToRefresh","children","isFetching","onRefresh","restProps","platform","scroll","document","prevIsFetching","initParams","useMemo","start","max","maxY","refreshing","positionMultiplier","useState","spinnerY","setSpinnerY","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","setTouchDown","prevTouchDown","touchY","useRef","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","onWindowTouchMove","resetRefreshingState","useCallback","onRefreshingFinish","setWaitFetchingTimeout","set","clearWaitFetchingTimeout","clear","undefined","runRefreshing","prevSpinnerY","onTouchStart","e","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","current","currentY","min","progress","abs","onTouchEnd","spinnerTransform","contentTransform","transform","WebkitTransform","opacity"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAAmBC,MAAnB;AACA,SAASC,UAAT;AACA,SAASC,GAAT;AACA,SAASC,uBAAT;AACA,SAASC,yBAAT;AACA,SAASC,WAAT;AACA,SAASC,sBAAT;AACA,SAAiCC,SAAjC;AACA,SAASC,KAAT;AACA,OAAOC,WAAP;AACA,SAASC,oBAAT;AACA,OAAOC,gBAAP;AACA,SAASC,WAAT;AACA,SAASC,UAAT;;AAEA,SAASC,WAAT,CAAqBC,KAArB,EAAiC;AAC/B,MAAI,CAACA,KAAL,EAAY;AACV,WAAO,KAAP;AACD;;AACD,SAAOA,KAAK,CAACC,aAAb,EAA4B;AAC1BD,IAAAA,KAAK,GAAGA,KAAK,CAACC,aAAd;AACD;;AACD,MAAID,KAAK,CAACE,cAAN,IAAwBF,KAAK,CAACG,UAAlC,EAA8C;AAC5CH,IAAAA,KAAK,CAACE,cAAN;AACD;;AACD,MAAIF,KAAK,CAACI,eAAV,EAA2B;AACzBJ,IAAAA,KAAK,CAACI,eAAN;AACD;;AACD,SAAO,KAAP;AACD;;AAgBD,IAAMC,uBAAuB,GAAG;AAC9BF,EAAAA,UAAU,EAAE,IADkB;AAE9BG,EAAAA,OAAO,EAAE;AAFqB,CAAhC;AAKA;AACA;AACA;;AACA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAKH;AAAA,MAJxBC,QAIwB,QAJxBA,QAIwB;AAAA,MAHxBC,UAGwB,QAHxBA,UAGwB;AAAA,MAFxBC,SAEwB,QAFxBA,SAEwB;AAAA,MADrBC,SACqB;;AACxB,MAAMC,QAAQ,GAAGtB,WAAW,EAA5B;AACA,MAAMuB,MAAM,GAAGrB,SAAS,EAAxB;;AACA,gBAAqBP,MAAM,EAA3B;AAAA,MAAQ6B,QAAR,WAAQA,QAAR;;AACA,MAAMC,cAAc,GAAGlB,WAAW,CAACY,UAAD,CAAlC;AAEA,MAAMO,UAAU,GAAGhC,KAAK,CAACiC,OAAN,CACjB;AAAA,WAAO;AACLC,MAAAA,KAAK,EAAEN,QAAQ,KAAKzB,GAAb,GAAmB,CAAC,EAApB,GAAyB,CAAC,EAD5B;AAELgC,MAAAA,GAAG,EAAEP,QAAQ,KAAKzB,GAAb,GAAmB,EAAnB,GAAwB,EAFxB;AAGLiC,MAAAA,IAAI,EAAER,QAAQ,KAAKzB,GAAb,GAAmB,GAAnB,GAAyB,EAH1B;AAILkC,MAAAA,UAAU,EAAET,QAAQ,KAAKzB,GAAb,GAAmB,EAAnB,GAAwB,EAJ/B;AAKLmC,MAAAA,kBAAkB,EAAEV,QAAQ,KAAKzB,GAAb,GAAmB,IAAnB,GAA0B;AALzC,KAAP;AAAA,GADiB,EAQjB,CAACyB,QAAD,CARiB,CAAnB;;AAWA,wBAAgC5B,KAAK,CAACuC,QAAN,CAAeP,UAAU,CAACE,KAA1B,CAAhC;AAAA;AAAA,MAAOM,QAAP;AAAA,MAAiBC,WAAjB;;AACA,yBAAgCzC,KAAK,CAACuC,QAAN,CAAe,KAAf,CAAhC;AAAA;AAAA,MAAOG,QAAP;AAAA,MAAiBC,WAAjB;;AACA,yBAAoC3C,KAAK,CAACuC,QAAN,CAAe,KAAf,CAApC;AAAA;AAAA,MAAOF,UAAP;AAAA,MAAmBO,aAAnB;;AACA,yBAAoC5C,KAAK,CAACuC,QAAN,CAAe,KAAf,CAApC;AAAA;AAAA,MAAOM,UAAP;AAAA,MAAmBC,aAAnB;;AACA,yBAAkC9C,KAAK,CAACuC,QAAN,CAAe,KAAf,CAAlC;AAAA;AAAA,MAAOQ,SAAP;AAAA,MAAkBC,YAAlB;;AACA,MAAMC,aAAa,GAAGpC,WAAW,CAACkC,SAAD,CAAjC;AAEA,MAAMG,MAAM,GAAGlD,KAAK,CAACmD,MAAN,CAAa,CAAb,CAAf;;AACA,0BAAwCnD,KAAK,CAACuC,QAAN,CAAe,CAAf,CAAxC;AAAA;AAAA,MAAOa,YAAP;AAAA,MAAqBC,eAArB;;AACA,0BAA8CrD,KAAK,CAACuC,QAAN,CAAe,CAAf,CAA9C;AAAA;AAAA,MAAOe,eAAP;AAAA,MAAwBC,kBAAxB;;AAEA,MAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACxC,KAAD,EAAkB;AAC1C,QAAIqB,UAAJ,EAAgB;AACdrB,MAAAA,KAAK,CAACE,cAAN;AACAF,MAAAA,KAAK,CAACI,eAAN;AACD;AACF,GALD;;AAOAb,EAAAA,sBAAsB,CACpBuB,QADoB,EAEpB,WAFoB,EAGpB0B,iBAHoB,EAIpBnC,uBAJoB,CAAtB;AAOA,MAAMoC,oBAAoB,GAAGzD,KAAK,CAAC0D,WAAN,CAAkB,YAAM;AACnDf,IAAAA,WAAW,CAAC,KAAD,CAAX;AACAG,IAAAA,aAAa,CAAC,KAAD,CAAb;AACAF,IAAAA,aAAa,CAAC,KAAD,CAAb;AACAH,IAAAA,WAAW,CAACT,UAAU,CAACE,KAAZ,CAAX;AACAqB,IAAAA,kBAAkB,CAAC,CAAD,CAAlB;AACAF,IAAAA,eAAe,CAAC,CAAD,CAAf;AACD,GAP4B,EAO1B,CAACrB,UAAD,CAP0B,CAA7B;AASA,MAAM2B,kBAAkB,GAAG3D,KAAK,CAAC0D,WAAN,CAAkB,YAAM;AACjD,QAAI,CAACX,SAAL,EAAgB;AACdU,MAAAA,oBAAoB;AACrB;AACF,GAJ0B,EAIxB,CAACV,SAAD,EAAYU,oBAAZ,CAJwB,CAA3B;;AAMA,oBACE3C,UAAU,CAAC6C,kBAAD,EAAqB,IAArB,CADZ;AAAA,MAAaC,sBAAb,eAAQC,GAAR;AAAA,MAA4CC,wBAA5C,eAAqCC,KAArC;;AAGA1D,EAAAA,yBAAyB,CAAC,YAAM;AAC9B,QAAI0B,cAAc,KAAKiC,SAAnB,IAAgCjC,cAAhC,IAAkD,CAACN,UAAvD,EAAmE;AACjEkC,MAAAA,kBAAkB;AACnB;AACF,GAJwB,EAItB,CAAC5B,cAAD,EAAiBN,UAAjB,EAA6BkC,kBAA7B,CAJsB,CAAzB;AAMAtD,EAAAA,yBAAyB,CAAC,YAAM;AAC9B,QAAI0B,cAAc,KAAKiC,SAAnB,IAAgC,CAACjC,cAAjC,IAAmDN,UAAvD,EAAmE;AACjEqC,MAAAA,wBAAwB;AACzB;AACF,GAJwB,EAItB,CAACrC,UAAD,EAAaM,cAAb,EAA6B+B,wBAA7B,CAJsB,CAAzB;AAMA,MAAMG,aAAa,GAAGjE,KAAK,CAAC0D,WAAN,CAAkB,YAAM;AAC5C,QAAI,CAACrB,UAAD,IAAeX,SAAnB,EAA8B;AAC5B;AACAkC,MAAAA,sBAAsB;AAEtBhB,MAAAA,aAAa,CAAC,IAAD,CAAb;AACAH,MAAAA,WAAW,CAAC,UAACyB,YAAD;AAAA,eACVtC,QAAQ,KAAKzB,GAAb,GAAmB+D,YAAnB,GAAkClC,UAAU,CAACK,UADnC;AAAA,OAAD,CAAX;AAIAX,MAAAA,SAAS;AACTtB,MAAAA,uBAAuB,CAAC,OAAD,CAAvB;AACD;AACF,GAbqB,EAanB,CACDiC,UADC,EAEDX,SAFC,EAGDkC,sBAHC,EAIDhC,QAJC,EAKDI,UAAU,CAACK,UALV,CAbmB,CAAtB;AAqBAhC,EAAAA,yBAAyB,CAAC,YAAM;AAC9B,QAAI4C,aAAa,KAAKe,SAAlB,IAA+Bf,aAA/B,IAAgD,CAACF,SAArD,EAAgE;AAC9D,UAAI,CAACV,UAAD,IAAeQ,UAAnB,EAA+B;AAC7BoB,QAAAA,aAAa;AACd,OAFD,MAEO,IAAI5B,UAAU,IAAI,CAACZ,UAAnB,EAA+B;AACpC;AACAgC,QAAAA,oBAAoB;AACrB,OAHM,MAGA;AACL;AACA;AACAhB,QAAAA,WAAW,CAACJ,UAAU,GAAGL,UAAU,CAACK,UAAd,GAA2BL,UAAU,CAACE,KAAjD,CAAX;AACAqB,QAAAA,kBAAkB,CAAC,CAAD,CAAlB;AACAF,QAAAA,eAAe,CAAC,CAAD,CAAf;AACD;AACF;AACF,GAfwB,EAetB,CACDrB,UADC,EAEDD,cAFC,EAGDN,UAHC,EAIDkC,kBAJC,EAKDV,aALC,EAMDF,SANC,EAODV,UAPC,EAQDQ,UARC,EASDoB,aATC,CAfsB,CAAzB;;AA2BA,MAAME,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD,EAAmB;AACtC,QAAI/B,UAAJ,EAAgB;AACdtB,MAAAA,WAAW,CAACqD,CAAD,CAAX;AACD;;AACDpB,IAAAA,YAAY,CAAC,IAAD,CAAZ;AACD,GALD;;AAOA,MAAMqB,WAAW,GAAG,SAAdA,WAAc,CAACD,CAAD,EAAmB;AACrC,QAAQE,GAAR,GAAwBF,CAAxB,CAAQE,GAAR;AAAA,QAAaC,MAAb,GAAwBH,CAAxB,CAAaG,MAAb;AACA,QAAQrC,KAAR,GAAuBF,UAAvB,CAAQE,KAAR;AAAA,QAAeC,GAAf,GAAuBH,UAAvB,CAAeG,GAAf;AACA,QAAMqC,WAAW,GAAG3C,MAAH,aAAGA,MAAH,uBAAGA,MAAM,CAAE4C,SAAR,GAAoBC,CAAxC;;AAEA,QAAIhC,QAAQ,IAAIK,SAAhB,EAA2B;AACzBhC,MAAAA,WAAW,CAACqD,CAAD,CAAX;AAEA,UAAQ9B,kBAAR,GAAqCN,UAArC,CAAQM,kBAAR;AAAA,UAA4BF,IAA5B,GAAqCJ,UAArC,CAA4BI,IAA5B;AAEA,UAAMuC,KAAK,GAAGC,IAAI,CAACzC,GAAL,CAAS,CAAT,EAAYoC,MAAM,GAAGrB,MAAM,CAAC2B,OAA5B,CAAd;AAEA,UAAMC,QAAQ,GAAGF,IAAI,CAACzC,GAAL,CACfD,KADe,EAEf0C,IAAI,CAACG,GAAL,CAAS3C,IAAT,EAAeF,KAAK,GAAGyC,KAAK,GAAGrC,kBAA/B,CAFe,CAAjB;AAIA,UAAM0C,QAAQ,GACZF,QAAQ,GAAG,CAAC,EAAZ,GAAiBF,IAAI,CAACK,GAAL,CAAS,CAACH,QAAQ,GAAG,EAAZ,IAAkB3C,GAA3B,IAAkC,EAAnD,GAAwD,CAD1D;AAGAM,MAAAA,WAAW,CAACqC,QAAD,CAAX;AACAvB,MAAAA,kBAAkB,CAACqB,IAAI,CAACG,GAAL,CAAS,EAAT,EAAaH,IAAI,CAACzC,GAAL,CAAS,CAAT,EAAY6C,QAAZ,CAAb,CAAD,CAAlB;AACAlC,MAAAA,aAAa,CAACkC,QAAQ,GAAG,EAAZ,CAAb;AACA3B,MAAAA,eAAe,CAAC,CAACyB,QAAQ,GAAG,EAAZ,IAAkB,GAAnB,CAAf;;AAEA,UAAIE,QAAQ,GAAG,EAAX,IAAiB,CAAC3C,UAAlB,IAAgCT,QAAQ,KAAKzB,GAAjD,EAAsD;AACpD8D,QAAAA,aAAa;AACd;AACF,KAtBD,MAsBO,IACLK,GAAG,IACHE,WAAW,KAAK,CADhB,IAEAD,MAAM,GAAG,CAFT,IAGA,CAAClC,UAHD,IAIAU,SALK,EAML;AACAhC,MAAAA,WAAW,CAACqD,CAAD,CAAX;AAEAlB,MAAAA,MAAM,CAAC2B,OAAP,GAAiBN,MAAjB;AACA5B,MAAAA,WAAW,CAAC,IAAD,CAAX;AACAF,MAAAA,WAAW,CAACP,KAAD,CAAX;AACAqB,MAAAA,kBAAkB,CAAC,CAAD,CAAlB;AACD;AACF,GAzCD;;AA2CA,MAAM2B,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvBvC,IAAAA,WAAW,CAAC,KAAD,CAAX;AACAK,IAAAA,YAAY,CAAC,KAAD,CAAZ;AACD,GAHD;;AAKA,MAAMmC,gBAAgB,4BAAqB3C,QAArB,WAAtB;AACA,MAAI4C,gBAAgB,GAAG,EAAvB;;AAEA,MAAIxD,QAAQ,KAAKzB,GAAb,IAAoBkC,UAApB,IAAkC,CAACU,SAAvC,EAAkD;AAChDqC,IAAAA,gBAAgB,GAAG,0BAAnB;AACD,GAFD,MAEO,IAAIxD,QAAQ,KAAKzB,GAAb,KAAqBiD,YAAY,IAAIf,UAArC,CAAJ,EAAsD;AAC3D+C,IAAAA,gBAAgB,4BAAqBhC,YAArB,WAAhB;AACD;;AAED,SACE,oBAAC,gBAAD,CAAkB,QAAlB;AAA2B,IAAA,KAAK,EAAE;AAAlC,KACE,oBAAC,KAAD,eACMzB,SADN;AAEE,IAAA,OAAO,EAAEwC,YAFX;AAGE,IAAA,MAAM,EAAEE,WAHV;AAIE,IAAA,KAAK,EAAEa,UAJT;AAKE,IAAA,SAAS,EAAEhF,UAAU,CACnB,eADmB,EAEnB0B,QAAQ,KAAKzB,GAAb,IAAoB,oBAFD,EAGnBuC,QAAQ,IAAI,yBAHO,EAInBL,UAAU,IAAI,2BAJK;AALvB,MAYE,oBAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KACE,oBAAC,oBAAD;AACE,IAAA,KAAK,EAAE;AACLgD,MAAAA,SAAS,EAAEF,gBADN;AAELG,MAAAA,eAAe,EAAEH,gBAFZ;AAGLI,MAAAA,OAAO,EAAE7C,QAAQ,IAAIL,UAAZ,IAA0BQ,UAA1B,GAAuC,CAAvC,GAA2C;AAH/C,KADT;AAME,IAAA,EAAE,EAAER,UANN;AAOE,IAAA,QAAQ,EAAEA,UAAU,GAAG2B,SAAH,GAAeV;AAPrC,IADF,CAZF,EAwBE;AACE,IAAA,SAAS,EAAC,wBADZ;AAEE,IAAA,KAAK,EAAE;AACL+B,MAAAA,SAAS,EAAED,gBADN;AAELE,MAAAA,eAAe,EAAEF;AAFZ;AAFT,KAOG5D,QAPH,CAxBF,CADF,CADF;AAsCD,CAnOM","sourcesContent":["import * as React from \"react\";\nimport { AnyFunction, HasPlatform } from \"../../types\";\nimport { DOMProps, useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { runTapticImpactOccurred } from \"../../lib/taptic\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { ScrollContextInterface, useScroll } from \"../AppRoot/ScrollContext\";\nimport { Touch, TouchEvent, TouchProps } from \"../Touch/Touch\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { PullToRefreshSpinner } from \"./PullToRefreshSpinner\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport { usePrevious } from \"../../hooks/usePrevious\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\n\nfunction cancelEvent(event: any) {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault && event.cancelable) {\n event.preventDefault();\n }\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n return false;\n}\n\nexport interface PullToRefreshProps extends DOMProps, TouchProps, HasPlatform {\n /**\n * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным коллбэком)\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n children?: React.ReactNode;\n}\n\nconst TOUCH_MOVE_EVENT_PARAMS = {\n cancelable: true,\n passive: false,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PullToRefresh\n */\nexport const PullToRefresh = ({\n children,\n isFetching,\n onRefresh,\n ...restProps\n}: PullToRefreshProps) => {\n const platform = usePlatform();\n const scroll = useScroll();\n const { document } = useDOM();\n const prevIsFetching = usePrevious(isFetching);\n\n const initParams = React.useMemo(\n () => ({\n start: platform === IOS ? -10 : -45,\n max: platform === IOS ? 50 : 80,\n maxY: platform === IOS ? 400 : 80,\n refreshing: platform === IOS ? 36 : 50,\n positionMultiplier: platform === IOS ? 0.21 : 1,\n }),\n [platform]\n );\n\n const [spinnerY, setSpinnerY] = React.useState(initParams.start);\n const [watching, setWatching] = React.useState(false);\n const [refreshing, setRefreshing] = React.useState(false);\n const [canRefresh, setCanRefresh] = React.useState(false);\n const [touchDown, setTouchDown] = React.useState(false);\n const prevTouchDown = usePrevious(touchDown);\n\n const touchY = React.useRef(0);\n const [contentShift, setContentShift] = React.useState(0);\n const [spinnerProgress, setSpinnerProgress] = React.useState(0);\n\n const onWindowTouchMove = (event: Event) => {\n if (refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n useGlobalEventListener(\n document,\n \"touchmove\",\n onWindowTouchMove,\n TOUCH_MOVE_EVENT_PARAMS\n );\n\n const resetRefreshingState = React.useCallback(() => {\n setWatching(false);\n setCanRefresh(false);\n setRefreshing(false);\n setSpinnerY(initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }, [initParams]);\n\n const onRefreshingFinish = React.useCallback(() => {\n if (!touchDown) {\n resetRefreshingState();\n }\n }, [touchDown, resetRefreshingState]);\n\n const { set: setWaitFetchingTimeout, clear: clearWaitFetchingTimeout } =\n useTimeout(onRefreshingFinish, 1000);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {\n onRefreshingFinish();\n }\n }, [prevIsFetching, isFetching, onRefreshingFinish]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {\n clearWaitFetchingTimeout();\n }\n }, [isFetching, prevIsFetching, clearWaitFetchingTimeout]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n setWaitFetchingTimeout();\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) =>\n platform === IOS ? prevSpinnerY : initParams.refreshing\n );\n\n onRefresh();\n runTapticImpactOccurred(\"light\");\n }\n }, [\n refreshing,\n onRefresh,\n setWaitFetchingTimeout,\n platform,\n initParams.refreshing,\n ]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevTouchDown !== undefined && prevTouchDown && !touchDown) {\n if (!refreshing && canRefresh) {\n runRefreshing();\n } else if (refreshing && !isFetching) {\n // only iOS can start refresh before gesture end\n resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n setSpinnerY(refreshing ? initParams.refreshing : initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }\n }\n }, [\n initParams,\n prevIsFetching,\n isFetching,\n onRefreshingFinish,\n prevTouchDown,\n touchDown,\n refreshing,\n canRefresh,\n runRefreshing,\n ]);\n\n const onTouchStart = (e: TouchEvent) => {\n if (refreshing) {\n cancelEvent(e);\n }\n setTouchDown(true);\n };\n\n const onTouchMove = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier, maxY } = initParams;\n\n const shift = Math.max(0, shiftY - touchY.current);\n\n const currentY = Math.max(\n start,\n Math.min(maxY, start + shift * positionMultiplier)\n );\n const progress =\n currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n setSpinnerY(currentY);\n setSpinnerProgress(Math.min(80, Math.max(0, progress)));\n setCanRefresh(progress > 80);\n setContentShift((currentY + 10) * 2.3);\n\n if (progress > 85 && !refreshing && platform === IOS) {\n runRefreshing();\n }\n } else if (\n isY &&\n pageYOffset === 0 &&\n shiftY > 0 &&\n !refreshing &&\n touchDown\n ) {\n cancelEvent(e);\n\n touchY.current = shiftY;\n setWatching(true);\n setSpinnerY(start);\n setSpinnerProgress(0);\n }\n };\n\n const onTouchEnd = () => {\n setWatching(false);\n setTouchDown(false);\n };\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = \"\";\n\n if (platform === IOS && refreshing && !touchDown) {\n contentTransform = \"translate3d(0, 100px, 0)\";\n } else if (platform === IOS && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n {...restProps}\n onStart={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n vkuiClass={classNames(\n \"PullToRefresh\",\n platform === IOS && \"PullToRefresh--ios\",\n watching && \"PullToRefresh--watching\",\n refreshing && \"PullToRefresh--refreshing\"\n )}\n >\n <FixedLayout vkuiClass=\"PullToRefresh__controls\">\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n WebkitTransform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n vkuiClass=\"PullToRefresh__content\"\n style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n};\n"],"file":"PullToRefresh.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":["React","useDOM","classNames","IOS","runTapticImpactOccurred","useIsomorphicLayoutEffect","usePlatform","useGlobalEventListener","useScroll","Touch","FixedLayout","PullToRefreshSpinner","TouchRootContext","usePrevious","useTimeout","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","TOUCH_MOVE_EVENT_PARAMS","passive","PullToRefresh","children","isFetching","onRefresh","restProps","platform","scroll","document","prevIsFetching","initParams","useMemo","start","max","maxY","refreshing","positionMultiplier","useState","spinnerY","setSpinnerY","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","setTouchDown","prevTouchDown","touchY","useRef","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","onWindowTouchMove","resetRefreshingState","useCallback","onRefreshingFinish","setWaitFetchingTimeout","set","clearWaitFetchingTimeout","clear","undefined","runRefreshing","prevSpinnerY","onTouchStart","e","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","current","currentY","min","progress","abs","onTouchEnd","spinnerTransform","contentTransform","transform","WebkitTransform","opacity"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { AnyFunction, HasPlatform } from \"../../types\";\nimport { DOMProps, useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { runTapticImpactOccurred } from \"../../lib/taptic\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { ScrollContextInterface, useScroll } from \"../AppRoot/ScrollContext\";\nimport { Touch, TouchEvent, TouchProps } from \"../Touch/Touch\";\nimport { FixedLayout } from \"../FixedLayout/FixedLayout\";\nimport { PullToRefreshSpinner } from \"./PullToRefreshSpinner\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport { usePrevious } from \"../../hooks/usePrevious\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\n\nfunction cancelEvent(event: any) {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault && event.cancelable) {\n event.preventDefault();\n }\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n return false;\n}\n\nexport interface PullToRefreshProps extends DOMProps, TouchProps, HasPlatform {\n /**\n * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным коллбэком)\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n children?: React.ReactNode;\n}\n\nconst TOUCH_MOVE_EVENT_PARAMS = {\n cancelable: true,\n passive: false,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PullToRefresh\n */\nexport const PullToRefresh = ({\n children,\n isFetching,\n onRefresh,\n ...restProps\n}: PullToRefreshProps) => {\n const platform = usePlatform();\n const scroll = useScroll();\n const { document } = useDOM();\n const prevIsFetching = usePrevious(isFetching);\n\n const initParams = React.useMemo(\n () => ({\n start: platform === IOS ? -10 : -45,\n max: platform === IOS ? 50 : 80,\n maxY: platform === IOS ? 400 : 80,\n refreshing: platform === IOS ? 36 : 50,\n positionMultiplier: platform === IOS ? 0.21 : 1,\n }),\n [platform]\n );\n\n const [spinnerY, setSpinnerY] = React.useState(initParams.start);\n const [watching, setWatching] = React.useState(false);\n const [refreshing, setRefreshing] = React.useState(false);\n const [canRefresh, setCanRefresh] = React.useState(false);\n const [touchDown, setTouchDown] = React.useState(false);\n const prevTouchDown = usePrevious(touchDown);\n\n const touchY = React.useRef(0);\n const [contentShift, setContentShift] = React.useState(0);\n const [spinnerProgress, setSpinnerProgress] = React.useState(0);\n\n const onWindowTouchMove = (event: Event) => {\n if (refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n useGlobalEventListener(\n document,\n \"touchmove\",\n onWindowTouchMove,\n TOUCH_MOVE_EVENT_PARAMS\n );\n\n const resetRefreshingState = React.useCallback(() => {\n setWatching(false);\n setCanRefresh(false);\n setRefreshing(false);\n setSpinnerY(initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }, [initParams]);\n\n const onRefreshingFinish = React.useCallback(() => {\n if (!touchDown) {\n resetRefreshingState();\n }\n }, [touchDown, resetRefreshingState]);\n\n const { set: setWaitFetchingTimeout, clear: clearWaitFetchingTimeout } =\n useTimeout(onRefreshingFinish, 1000);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {\n onRefreshingFinish();\n }\n }, [prevIsFetching, isFetching, onRefreshingFinish]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {\n clearWaitFetchingTimeout();\n }\n }, [isFetching, prevIsFetching, clearWaitFetchingTimeout]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n setWaitFetchingTimeout();\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) =>\n platform === IOS ? prevSpinnerY : initParams.refreshing\n );\n\n onRefresh();\n runTapticImpactOccurred(\"light\");\n }\n }, [\n refreshing,\n onRefresh,\n setWaitFetchingTimeout,\n platform,\n initParams.refreshing,\n ]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevTouchDown !== undefined && prevTouchDown && !touchDown) {\n if (!refreshing && canRefresh) {\n runRefreshing();\n } else if (refreshing && !isFetching) {\n // only iOS can start refresh before gesture end\n resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n setSpinnerY(refreshing ? initParams.refreshing : initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }\n }\n }, [\n initParams,\n prevIsFetching,\n isFetching,\n onRefreshingFinish,\n prevTouchDown,\n touchDown,\n refreshing,\n canRefresh,\n runRefreshing,\n ]);\n\n const onTouchStart = (e: TouchEvent) => {\n if (refreshing) {\n cancelEvent(e);\n }\n setTouchDown(true);\n };\n\n const onTouchMove = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier, maxY } = initParams;\n\n const shift = Math.max(0, shiftY - touchY.current);\n\n const currentY = Math.max(\n start,\n Math.min(maxY, start + shift * positionMultiplier)\n );\n const progress =\n currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n setSpinnerY(currentY);\n setSpinnerProgress(Math.min(80, Math.max(0, progress)));\n setCanRefresh(progress > 80);\n setContentShift((currentY + 10) * 2.3);\n\n if (progress > 85 && !refreshing && platform === IOS) {\n runRefreshing();\n }\n } else if (\n isY &&\n pageYOffset === 0 &&\n shiftY > 0 &&\n !refreshing &&\n touchDown\n ) {\n cancelEvent(e);\n\n touchY.current = shiftY;\n setWatching(true);\n setSpinnerY(start);\n setSpinnerProgress(0);\n }\n };\n\n const onTouchEnd = () => {\n setWatching(false);\n setTouchDown(false);\n };\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = \"\";\n\n if (platform === IOS && refreshing && !touchDown) {\n contentTransform = \"translate3d(0, 100px, 0)\";\n } else if (platform === IOS && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n {...restProps}\n onStart={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n vkuiClass={classNames(\n \"PullToRefresh\",\n platform === IOS && \"PullToRefresh--ios\",\n watching && \"PullToRefresh--watching\",\n refreshing && \"PullToRefresh--refreshing\"\n )}\n >\n <FixedLayout vkuiClass=\"PullToRefresh__controls\">\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n WebkitTransform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n vkuiClass=\"PullToRefresh__content\"\n style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n};\n"],"file":"PullToRefresh.js"}
|
|
@@ -2,7 +2,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
var _excluded = ["children", "description", "style", "className", "getRootRef", "sizeY"];
|
|
4
4
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
5
|
-
import
|
|
5
|
+
import { ACTIVE_EFFECT_DELAY, Tappable } from "../Tappable/Tappable";
|
|
6
6
|
import { classNames } from "../../lib/classNames";
|
|
7
7
|
import { IOS, VKCOM } from "../../lib/platform";
|
|
8
8
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Radio/Radio.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Radio/Radio.tsx"],"names":["ACTIVE_EFFECT_DELAY","Tappable","classNames","IOS","VKCOM","usePlatform","withAdaptivity","SizeType","hasReactNode","VisuallyHiddenInput","Caption","Headline","Text","RadioIcon","props","RadioComponent","children","description","style","className","getRootRef","sizeY","restProps","platform","RadioTypography","COMPACT","disabled","Radio"],"mappings":";;;;AACA,SAASA,mBAAT,EAA8BC,QAA9B;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,SAASC,YAAT;AACA,SAASC,mBAAT;AACA,SAASC,OAAT;AACA,SAASC,QAAT;AACA,SAASC,IAAT;;AAGA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAA0C;AAC1D,SACE;AACE,IAAA,KAAK,EAAC,4BADR;AAEE,IAAA,OAAO,EAAC,WAFV;AAGE;AAHF,KAIMA,KAJN,GAME;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,IAHJ;AAIE,IAAA,MAAM,EAAC,cAJT;AAKE,IAAA,WAAW,EAAC,GALd;AAME,IAAA,IAAI,EAAC;AANP,IANF,EAcE;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,KAHJ;AAIE,IAAA,SAAS,EAAC,YAJZ;AAKE,IAAA,IAAI,EAAC;AALP,IAdF,CADF;AAwBD,CAzBD;;AAmCA,IAAMC,cAAoC,GAAG,SAAvCA,cAAuC,CAACD,KAAD,EAAuB;AAClE,MACEE,QADF,GAQIF,KARJ,CACEE,QADF;AAAA,MAEEC,WAFF,GAQIH,KARJ,CAEEG,WAFF;AAAA,MAGEC,KAHF,GAQIJ,KARJ,CAGEI,KAHF;AAAA,MAIEC,SAJF,GAQIL,KARJ,CAIEK,SAJF;AAAA,MAKEC,UALF,GAQIN,KARJ,CAKEM,UALF;AAAA,MAMEC,KANF,GAQIP,KARJ,CAMEO,KANF;AAAA,MAOKC,SAPL,4BAQIR,KARJ;;AASA,MAAMS,QAAQ,GAAGlB,WAAW,EAA5B;AAEA,MAAMmB,eAAe,GACnBD,QAAQ,KAAKnB,KAAb,IAAsBiB,KAAK,KAAKd,QAAQ,CAACkB,OAAzC,GAAmDb,IAAnD,GAA0DD,QAD5D;AAGA,SACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEO,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,SAAS,EAAEjB,UAAU,CAAC,OAAD,yBAA0BmB,KAA1B,EAJvB;AAKE,IAAA,iBAAiB,EAAEE,QAAQ,KAAKpB,GAAb,GAAmB,GAAnB,GAAyBH,mBAL9C;AAME,IAAA,QAAQ,EAAEsB,SAAS,CAACI,QANtB;AAOE,IAAA,UAAU,EAAEN;AAPd,KASE,oBAAC,mBAAD,eACME,SADN;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,IAAI,EAAC;AAHP,KATF,EAcE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,IADF,EAEE,oBAAC,eAAD;AAAiB,IAAA,SAAS,EAAC,gBAA3B;AAA4C,IAAA,SAAS,EAAC;AAAtD,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCN,QAAlC,CADF,EAEGR,YAAY,CAACS,WAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAHJ,CAFF,CAdF,CADF;AA0BD,CAzCD;AA2CA;AACA;AACA;;;AACA,OAAO,IAAMU,KAAK,GAAGrB,cAAc,CAACS,cAAD,EAAiB;AAClDM,EAAAA,KAAK,EAAE;AAD2C,CAAjB,CAA5B","sourcesContent":["import * as React from \"react\";\nimport { ACTIVE_EFFECT_DELAY, Tappable } from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { VisuallyHiddenInput } from \"../VisuallyHiddenInput/VisuallyHiddenInput\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Text } from \"../Typography/Text/Text\";\nimport \"./Radio.css\";\n\nconst RadioIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n aria-hidden\n {...props}\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"11\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"7.5\"\n vkuiClass=\"Radio__pin\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nconst RadioComponent: React.FC<RadioProps> = (props: RadioProps) => {\n const {\n children,\n description,\n style,\n className,\n getRootRef,\n sizeY,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const RadioTypography =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={className}\n vkuiClass={classNames(\"Radio\", `Radio--sizeY-${sizeY}`)}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n >\n <VisuallyHiddenInput\n {...restProps}\n vkuiClass=\"Radio__input\"\n type=\"radio\"\n />\n <div vkuiClass=\"Radio__container\">\n <RadioIcon vkuiClass=\"Radio__icon\" />\n <RadioTypography vkuiClass=\"Radio__content\" Component=\"div\">\n <div vkuiClass=\"Radio__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Radio__description\">{description}</Caption>\n )}\n </RadioTypography>\n </div>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Radio\n */\nexport const Radio = withAdaptivity(RadioComponent, {\n sizeY: true,\n});\n"],"file":"Radio.js"}
|
|
@@ -5,5 +5,4 @@ export declare type RangeSliderProps = UniversalSliderProps<Value>;
|
|
|
5
5
|
/**
|
|
6
6
|
* @see https://vkcom.github.io/VKUI/#/RangeSlider
|
|
7
7
|
*/
|
|
8
|
-
declare const RangeSlider: React.FC<RangeSliderProps>;
|
|
9
|
-
export default RangeSlider;
|
|
8
|
+
export declare const RangeSlider: React.FC<RangeSliderProps>;
|
|
@@ -10,7 +10,7 @@ import { UniversalSlider } from "./UniversalSlider";
|
|
|
10
10
|
/**
|
|
11
11
|
* @see https://vkcom.github.io/VKUI/#/RangeSlider
|
|
12
12
|
*/
|
|
13
|
-
var RangeSlider = function RangeSlider(_ref) {
|
|
13
|
+
export var RangeSlider = function RangeSlider(_ref) {
|
|
14
14
|
var onChange = _ref.onChange,
|
|
15
15
|
defaultValue = _ref.defaultValue,
|
|
16
16
|
_ref$min = _ref.min,
|
|
@@ -51,8 +51,5 @@ var RangeSlider = function RangeSlider(_ref) {
|
|
|
51
51
|
max: max,
|
|
52
52
|
step: step
|
|
53
53
|
}));
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
export default RangeSlider;
|
|
54
|
+
};
|
|
58
55
|
//# sourceMappingURL=RangeSlider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/RangeSlider/RangeSlider.tsx"],"names":["React","clamp","UniversalSlider","RangeSlider","onChange","defaultValue","min","max","step","props","isControlled","Boolean","value","useState","localValue","setValue","start","end","useMemo","handleChange","useCallback","nextValue","event","disabled"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,KAAT;AACA,SAASC,eAAT;;AAKA;AACA;AACA;AACA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/RangeSlider/RangeSlider.tsx"],"names":["React","clamp","UniversalSlider","RangeSlider","onChange","defaultValue","min","max","step","props","isControlled","Boolean","value","useState","localValue","setValue","start","end","useMemo","handleChange","useCallback","nextValue","event","disabled"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,KAAT;AACA,SAASC,eAAT;;AAKA;AACA;AACA;AACA,OAAO,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,OAO/B;AAAA,MANtBC,QAMsB,QANtBA,QAMsB;AAAA,MALtBC,YAKsB,QALtBA,YAKsB;AAAA,sBAJtBC,GAIsB;AAAA,MAJtBA,GAIsB,yBAJhB,CAIgB;AAAA,sBAHtBC,GAGsB;AAAA,MAHtBA,GAGsB,yBAHhB,GAGgB;AAAA,uBAFtBC,IAEsB;AAAA,MAFtBA,IAEsB,0BAFf,CAEe;AAAA,MADnBC,KACmB;;AACtB,MAAMC,YAAY,GAAGC,OAAO,CAACF,KAAK,CAACG,KAAP,CAA5B;;AAEA,wBAA+BZ,KAAK,CAACa,QAAN,CAC7BR,YAAY,IAAK,CAACC,GAAD,EAAMC,GAAN,CADY,CAA/B;AAAA;AAAA,MAAOO,UAAP;AAAA,MAAmBC,QAAnB;;AAGA,cAAqBN,KAAK,CAACG,KAAN,IAAeE,UAApC;AAAA;AAAA,MAAOE,KAAP;AAAA,MAAcC,GAAd;;AACA,MAAML,KAAK,GAAGZ,KAAK,CAACkB,OAAN,CACZ;AAAA,WAAM,CAACjB,KAAK,CAACe,KAAD,EAAQV,GAAR,EAAaC,GAAb,CAAN,EAAyBN,KAAK,CAACgB,GAAD,EAAMX,GAAN,EAAWC,GAAX,CAA9B,CAAN;AAAA,GADY,EAEZ,CAACU,GAAD,EAAMV,GAAN,EAAWD,GAAX,EAAgBU,KAAhB,CAFY,CAAd;AAKA,MAAMG,YAA0C,GAAGnB,KAAK,CAACoB,WAAN,CACjD,UAACC,SAAD,EAAYC,KAAZ,EAAsB;AACpB,QACEb,KAAK,CAACc,QAAN,IACCX,KAAK,CAAC,CAAD,CAAL,KAAaS,SAAS,CAAC,CAAD,CAAtB,IAA6BT,KAAK,CAAC,CAAD,CAAL,KAAaS,SAAS,CAAC,CAAD,CAFtD,EAGE;AACA;AACD;;AACD,KAACX,YAAD,IAAiBK,QAAQ,CAACM,SAAD,CAAzB;AACAjB,IAAAA,QAAQ,IAAIA,QAAQ,CAACiB,SAAD,EAAYC,KAAZ,CAApB;AACD,GAVgD,EAWjD,CAACb,KAAK,CAACc,QAAP,EAAiBX,KAAjB,EAAwBF,YAAxB,EAAsCN,QAAtC,CAXiD,CAAnD;AAcA,SACE,oBAAC,eAAD,eACMK,KADN;AAEE,IAAA,KAAK,EAAEG,KAFT;AAGE,IAAA,QAAQ,EAAEO,YAHZ;AAIE,IAAA,GAAG,EAAEb,GAJP;AAKE,IAAA,GAAG,EAAEC,GALP;AAME,IAAA,IAAI,EAAEC;AANR,KADF;AAUD,CA3CM","sourcesContent":["import * as React from \"react\";\nimport { clamp } from \"../../helpers/math\";\nimport { UniversalSlider, UniversalSliderProps } from \"./UniversalSlider\";\n\nexport type Value = [number, number];\nexport type RangeSliderProps = UniversalSliderProps<Value>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RangeSlider\n */\nexport const RangeSlider: React.FC<RangeSliderProps> = ({\n onChange,\n defaultValue,\n min = 0,\n max = 100,\n step = 0,\n ...props\n}: RangeSliderProps) => {\n const isControlled = Boolean(props.value);\n\n const [localValue, setValue] = React.useState(\n defaultValue || ([min, max] as Value)\n );\n const [start, end] = props.value || localValue;\n const value = React.useMemo(\n () => [clamp(start, min, max), clamp(end, min, max)] as Value,\n [end, max, min, start]\n );\n\n const handleChange: RangeSliderProps[\"onChange\"] = React.useCallback(\n (nextValue, event) => {\n if (\n props.disabled ||\n (value[0] === nextValue[0] && value[1] === nextValue[1])\n ) {\n return;\n }\n !isControlled && setValue(nextValue);\n onChange && onChange(nextValue, event);\n },\n [props.disabled, value, isControlled, onChange]\n );\n\n return (\n <UniversalSlider\n {...props}\n value={value}\n onChange={handleChange}\n min={min}\n max={max}\n step={step}\n />\n );\n};\n"],"file":"RangeSlider.js"}
|
|
@@ -5,12 +5,10 @@ var _excluded = ["min", "max", "step", "value", "defaultValue", "onChange", "get
|
|
|
5
5
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { Touch } from "../Touch/Touch";
|
|
8
|
-
import { getClassName } from "../../helpers/getClassName";
|
|
9
8
|
import { classNames } from "../../lib/classNames";
|
|
10
9
|
import { rescale } from "../../helpers/math";
|
|
11
10
|
import { withAdaptivity } from "../../hoc/withAdaptivity";
|
|
12
11
|
import { useExternRef } from "../../hooks/useExternRef";
|
|
13
|
-
import { usePlatform } from "../../hooks/usePlatform";
|
|
14
12
|
|
|
15
13
|
var UniversalSliderDumb = function UniversalSliderDumb(_ref) {
|
|
16
14
|
var _ref$min = _ref.min,
|
|
@@ -27,8 +25,6 @@ var UniversalSliderDumb = function UniversalSliderDumb(_ref) {
|
|
|
27
25
|
disabled = _ref.disabled,
|
|
28
26
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
29
27
|
|
|
30
|
-
var platform = usePlatform();
|
|
31
|
-
|
|
32
28
|
var _value = _slicedToArray(value, 2),
|
|
33
29
|
start = _value[0],
|
|
34
30
|
end = _value[1];
|
|
@@ -132,7 +128,7 @@ var UniversalSliderDumb = function UniversalSliderDumb(_ref) {
|
|
|
132
128
|
onMove: onMove,
|
|
133
129
|
onEnd: onEnd
|
|
134
130
|
}, {
|
|
135
|
-
vkuiClass: classNames(
|
|
131
|
+
vkuiClass: classNames("Slider", "Slider--sizeY-".concat(sizeY), disabled && "Slider--disabled")
|
|
136
132
|
}), createScopedElement("div", {
|
|
137
133
|
ref: container,
|
|
138
134
|
vkuiClass: "Slider__in"
|