@vkontakte/vkui 4.20.0 → 4.22.1
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 +414 -116
- package/.cache/ts/src/components/Avatar/Avatar.d.ts +2 -0
- package/.cache/ts/src/components/Cell/Cell.d.ts +11 -0
- package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
- package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +6 -0
- package/.cache/ts/src/components/Cell/useDraggable.d.ts +13 -0
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +0 -1
- package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +3 -0
- package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +2 -3
- package/.cache/ts/src/components/FormField/FormField.d.ts +2 -3
- package/.cache/ts/src/components/FormItem/FormItem.d.ts +2 -3
- package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +2 -4
- package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +9 -0
- package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +2 -3
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
- package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
- package/.cache/ts/src/components/Link/Link.d.ts +1 -2
- package/.cache/ts/src/components/ModalRoot/types.d.ts +0 -1
- package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +37 -0
- package/.cache/ts/src/components/Removable/Removable.d.ts +2 -1
- package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +2 -2
- package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +3 -3
- package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
- package/.cache/ts/src/components/Switch/Switch.d.ts +2 -3
- package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +3 -1
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +2 -3
- package/.cache/ts/src/components/Touch/Touch.d.ts +16 -17
- package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +2 -2
- package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +2 -2
- package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +2 -2
- package/.cache/ts/src/components/Typography/Text/Text.d.ts +2 -3
- package/.cache/ts/src/components/Typography/Title/Title.d.ts +2 -2
- package/.cache/ts/src/components/View/utils.d.ts +2 -0
- package/.cache/ts/src/index.d.ts +4 -0
- package/.cache/ts/src/lib/accessibility.d.ts +1 -1
- package/.cache/ts/src/lib/supportEvents.d.ts +3 -1
- package/.cache/ts/src/types.d.ts +3 -0
- package/dist/cjs/components/ActionSheet/ActionSheet.js +7 -9
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.d.ts +2 -0
- package/dist/cjs/components/Avatar/Avatar.js +7 -3
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.d.ts +11 -0
- package/dist/cjs/components/Cell/Cell.js +109 -182
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +50 -0
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
- package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +6 -0
- package/dist/cjs/components/Cell/CellDragger/CellDragger.js +53 -0
- package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -0
- package/dist/cjs/components/Cell/useDraggable.d.ts +13 -0
- package/dist/cjs/components/Cell/useDraggable.js +142 -0
- package/dist/cjs/components/Cell/useDraggable.js.map +1 -0
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +2 -2
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/Counter/Counter.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +0 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +2 -3
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +3 -0
- package/dist/cjs/components/DropdownIcon/DropdownIcon.js +37 -0
- package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -0
- package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +2 -3
- package/dist/cjs/components/FocusTrap/FocusTrap.js +3 -5
- package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.d.ts +2 -3
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.d.ts +2 -3
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormLayout/FormLayout.d.ts +2 -4
- package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +9 -0
- package/dist/cjs/components/GridAvatar/GridAvatar.js +61 -0
- package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -0
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.d.ts +2 -3
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +10 -13
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +64 -0
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
- package/dist/cjs/components/Link/Link.d.ts +1 -2
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +170 -373
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootContext.js +0 -3
- package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +59 -241
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/ModalRoot/types.d.ts +0 -1
- package/dist/cjs/components/ModalRoot/types.js.map +1 -1
- package/dist/cjs/components/ModalRoot/useModalManager.d.ts +37 -0
- package/dist/cjs/components/ModalRoot/useModalManager.js +213 -0
- package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -0
- package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -2
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.d.ts +2 -1
- package/dist/cjs/components/Removable/Removable.js +75 -66
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +2 -2
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +2 -2
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.d.ts +3 -3
- package/dist/cjs/components/SplitCol/SplitCol.js +2 -4
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
- package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +38 -11
- package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.d.ts +2 -3
- package/dist/cjs/components/Switch/Switch.js +18 -8
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tabbar/Tabbar.js +3 -1
- package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +3 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +29 -11
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +2 -3
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.js +9 -7
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/Touch/Touch.d.ts +16 -17
- package/dist/cjs/components/Touch/Touch.js +21 -7
- package/dist/cjs/components/Touch/Touch.js.map +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.d.ts +2 -2
- package/dist/cjs/components/Typography/Caption/Caption.js +4 -2
- package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cjs/components/Typography/Headline/Headline.d.ts +2 -2
- package/dist/cjs/components/Typography/Headline/Headline.js +2 -1
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +2 -2
- package/dist/cjs/components/Typography/Subhead/Subhead.js +2 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Text/Text.d.ts +2 -3
- package/dist/cjs/components/Typography/Text/Text.js +2 -1
- package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.d.ts +2 -2
- package/dist/cjs/components/Typography/Title/Title.js +9 -4
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/View/View.js +68 -75
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.js +78 -85
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/components/View/utils.d.ts +2 -0
- package/dist/cjs/components/View/utils.js +13 -0
- package/dist/cjs/components/View/utils.js.map +1 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/accessibility.d.ts +1 -1
- package/dist/cjs/lib/accessibility.js.map +1 -1
- package/dist/cjs/lib/prefixClass.js +7 -6
- package/dist/cjs/lib/prefixClass.js.map +1 -1
- package/dist/cjs/lib/supportEvents.d.ts +3 -1
- package/dist/cjs/lib/supportEvents.js +1 -4
- package/dist/cjs/lib/supportEvents.js.map +1 -1
- package/dist/cjs/types.d.ts +3 -0
- package/dist/components/ActionSheet/ActionSheet.js +6 -9
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +2 -0
- package/dist/components/Avatar/Avatar.js +4 -2
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.js +1 -1
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Cell/Cell.d.ts +11 -0
- package/dist/components/Cell/Cell.js +103 -177
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js +31 -0
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
- package/dist/components/Cell/CellDragger/CellDragger.d.ts +6 -0
- package/dist/components/Cell/CellDragger/CellDragger.js +30 -0
- package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -0
- package/dist/components/Cell/useDraggable.d.ts +13 -0
- package/dist/components/Cell/useDraggable.js +126 -0
- package/dist/components/Cell/useDraggable.js.map +1 -0
- package/dist/components/ChipsSelect/ChipsSelect.js +2 -2
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +0 -1
- package/dist/components/CustomSelect/CustomSelect.js +3 -5
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.d.ts +3 -0
- package/dist/components/DropdownIcon/DropdownIcon.js +19 -0
- package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -0
- package/dist/components/FocusTrap/FocusTrap.d.ts +2 -3
- package/dist/components/FocusTrap/FocusTrap.js +3 -5
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/FormField/FormField.d.ts +2 -3
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormItem/FormItem.d.ts +2 -3
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayout/FormLayout.d.ts +2 -4
- package/dist/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/GridAvatar/GridAvatar.d.ts +9 -0
- package/dist/components/GridAvatar/GridAvatar.js +41 -0
- package/dist/components/GridAvatar/GridAvatar.js.map +1 -0
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.d.ts +2 -3
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
- package/dist/components/HorizontalScroll/HorizontalScroll.js +10 -12
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
- package/dist/components/InitialsAvatar/InitialsAvatar.js +46 -0
- package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
- package/dist/components/Link/Link.d.ts +1 -2
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +167 -376
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.js +0 -3
- package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js +58 -244
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/ModalRoot/types.d.ts +0 -1
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.d.ts +37 -0
- package/dist/components/ModalRoot/useModalManager.js +189 -0
- package/dist/components/ModalRoot/useModalManager.js.map +1 -0
- package/dist/components/NativeSelect/NativeSelect.js +2 -2
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Removable/Removable.d.ts +2 -1
- package/dist/components/Removable/Removable.js +73 -64
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js +2 -2
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +2 -2
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts +3 -3
- package/dist/components/SplitCol/SplitCol.js +2 -4
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
- package/dist/components/SubnavigationBar/SubnavigationBar.js +38 -11
- package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +2 -3
- package/dist/components/Switch/Switch.js +15 -8
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.js +3 -1
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.d.ts +3 -1
- package/dist/components/TabbarItem/TabbarItem.js +26 -10
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +2 -3
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/Textarea/Textarea.js +9 -6
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Touch/Touch.d.ts +16 -17
- package/dist/components/Touch/Touch.js +21 -7
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +2 -2
- package/dist/components/Typography/Caption/Caption.js +4 -2
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts +2 -2
- package/dist/components/Typography/Headline/Headline.js +2 -1
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.d.ts +2 -2
- package/dist/components/Typography/Subhead/Subhead.js +2 -1
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Text/Text.d.ts +2 -3
- package/dist/components/Typography/Text/Text.js +2 -1
- package/dist/components/Typography/Text/Text.js.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts +2 -2
- package/dist/components/Typography/Title/Title.js +9 -4
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/View/View.js +67 -75
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.js +79 -87
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/View/utils.d.ts +2 -0
- package/dist/components/View/utils.js +6 -0
- package/dist/components/View/utils.js.map +1 -0
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +6 -9
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.js +4 -2
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Button/Button.css +1 -1
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.css +1 -1
- package/dist/cssm/components/Cell/Cell.js +103 -177
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -0
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +32 -0
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
- package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -0
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js +31 -0
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -0
- package/dist/cssm/components/Cell/useDraggable.js +126 -0
- package/dist/cssm/components/Cell/useDraggable.js.map +1 -0
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +3 -5
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.css +1 -0
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js +20 -0
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -0
- package/dist/cssm/components/FocusTrap/FocusTrap.js +3 -5
- package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
- package/dist/cssm/components/FormField/FormField.css +1 -1
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.css +1 -1
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- 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.js +1 -0
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.css +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -0
- package/dist/cssm/components/GridAvatar/GridAvatar.js +42 -0
- package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -0
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +10 -12
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
- package/dist/cssm/components/IconButton/IconButton.css +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -0
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +52 -0
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +167 -376
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootContext.js +0 -3
- package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +58 -244
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js +189 -0
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -0
- package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -2
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.css +1 -1
- package/dist/cssm/components/Removable/Removable.js +73 -64
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/Search/Search.css +1 -1
- package/dist/cssm/components/Select/Select.css +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -2
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +2 -4
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +38 -11
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.css +1 -1
- package/dist/cssm/components/Switch/Switch.js +15 -8
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.css +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.js +3 -1
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +26 -10
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +9 -6
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.js +21 -7
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js +4 -2
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js +2 -1
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.js +2 -1
- package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.js +9 -4
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/View/View.js +67 -75
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +79 -87
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/View/utils.js +6 -0
- package/dist/cssm/components/View/utils.js.map +1 -0
- package/dist/cssm/index.js +2 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/accessibility.js.map +1 -1
- package/dist/cssm/lib/prefixClass.js +7 -6
- package/dist/cssm/lib/prefixClass.js.map +1 -1
- package/dist/cssm/lib/supportEvents.js +1 -4
- package/dist/cssm/lib/supportEvents.js.map +1 -1
- package/dist/cssm/styles/components.css +1 -1
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/cssm/styles/vkcom_light.css +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/accessibility.d.ts +1 -1
- package/dist/lib/accessibility.js.map +1 -1
- package/dist/lib/prefixClass.js +7 -6
- package/dist/lib/prefixClass.js.map +1 -1
- package/dist/lib/supportEvents.d.ts +3 -1
- package/dist/lib/supportEvents.js +1 -4
- package/dist/lib/supportEvents.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/vkui.css +2 -2
- package/dist/vkui.css.map +1 -1
- package/package.json +8 -4
- package/src/components/ActionSheet/ActionSheet.tsx +4 -5
- package/src/components/ActionSheet/Readme.md +18 -14
- package/src/components/Alert/Readme.md +15 -11
- package/src/components/Avatar/Avatar.tsx +5 -2
- package/src/components/Banner/Banner.tsx +4 -5
- package/src/components/Button/Button.css +26 -53
- package/src/components/Button/Button.tsx +2 -3
- package/src/components/Card/Readme.md +6 -6
- package/src/components/CardScroll/CardScroll.tsx +4 -1
- package/src/components/Cell/Cell.css +21 -58
- package/src/components/Cell/Cell.tsx +101 -162
- package/src/components/Cell/CellCheckbox/CellCheckbox.css +17 -0
- package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +42 -0
- package/src/components/Cell/CellDragger/CellDragger.css +4 -0
- package/src/components/Cell/CellDragger/CellDragger.tsx +40 -0
- package/src/components/Cell/Readme.md +89 -51
- package/src/components/Cell/useDraggable.tsx +112 -0
- package/src/components/ChipsSelect/ChipsSelect.tsx +2 -2
- package/src/components/Counter/Counter.tsx +2 -2
- package/src/components/CustomSelect/CustomSelect.tsx +3 -4
- package/src/components/DropdownIcon/DropdownIcon.css +3 -0
- package/src/components/DropdownIcon/DropdownIcon.tsx +20 -0
- package/src/components/Epic/Readme.md +2 -1
- package/src/components/FocusTrap/FocusTrap.tsx +13 -11
- package/src/components/FocusVisible/FocusVisible.css +12 -4
- package/src/components/FormField/FormField.css +0 -1
- package/src/components/FormField/FormField.tsx +2 -2
- package/src/components/FormItem/FormItem.css +13 -14
- package/src/components/FormItem/FormItem.tsx +2 -3
- package/src/components/FormLayout/FormLayout.tsx +2 -4
- package/src/components/FormLayoutGroup/FormLayoutGroup.css +11 -7
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +10 -1
- package/src/components/Gallery/Gallery.css +2 -3
- package/src/components/Gallery/Readme.md +89 -109
- package/src/components/GridAvatar/GridAvatar.css +37 -0
- package/src/components/GridAvatar/GridAvatar.tsx +55 -0
- package/src/components/GridAvatar/Readme.md +12 -0
- package/src/components/Group/Readme.md +18 -14
- package/src/components/Header/Header.tsx +4 -4
- package/src/components/HorizontalCell/HorizontalCell.tsx +3 -3
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +14 -18
- package/src/components/HorizontalScroll/HorizontalScrollArrow.css +2 -2
- package/src/components/IconButton/IconButton.css +7 -0
- package/src/components/InitialsAvatar/InitialsAvatar.css +53 -0
- package/src/components/InitialsAvatar/InitialsAvatar.tsx +90 -0
- package/src/components/InitialsAvatar/Readme.md +14 -0
- package/src/components/Link/Link.tsx +1 -1
- package/src/components/MiniInfoCell/Readme.md +66 -62
- package/src/components/ModalDismissButton/Readme.md +13 -10
- package/src/components/ModalRoot/ModalRoot.tsx +159 -349
- package/src/components/ModalRoot/ModalRootContext.tsx +0 -1
- package/src/components/ModalRoot/ModalRootDesktop.tsx +54 -240
- package/src/components/ModalRoot/Readme.md +35 -27
- package/src/components/ModalRoot/types.ts +0 -1
- package/src/components/ModalRoot/useModalManager.tsx +174 -0
- package/src/components/NativeSelect/NativeSelect.tsx +2 -2
- package/src/components/Removable/Removable.css +16 -63
- package/src/components/Removable/Removable.tsx +84 -64
- package/src/components/ScreenSpinner/Readme.md +13 -9
- package/src/components/Search/Search.css +1 -1
- package/src/components/Select/Select.css +1 -1
- package/src/components/SelectMimicry/SelectMimicry.tsx +2 -2
- package/src/components/SimpleCell/SimpleCell.css +10 -18
- package/src/components/SimpleCell/SimpleCell.tsx +3 -5
- package/src/components/SplitCol/SplitCol.tsx +4 -8
- package/src/components/SplitLayout/Readme.md +2 -2
- package/src/components/SubnavigationBar/Readme.md +90 -86
- package/src/components/SubnavigationBar/SubnavigationBar.tsx +32 -14
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +2 -3
- package/src/components/Switch/Readme.md +6 -6
- package/src/components/Switch/Switch.css +46 -15
- package/src/components/Switch/Switch.tsx +16 -8
- package/src/components/Tabbar/Tabbar.css +15 -4
- package/src/components/Tabbar/Tabbar.tsx +3 -1
- package/src/components/TabbarItem/Readme.md +72 -0
- package/src/components/TabbarItem/TabbarItem.css +65 -14
- package/src/components/TabbarItem/TabbarItem.tsx +46 -22
- package/src/components/Tappable/Tappable.tsx +2 -3
- package/src/components/Textarea/Readme.md +3 -0
- package/src/components/Textarea/Textarea.tsx +10 -6
- package/src/components/Touch/Touch.tsx +38 -25
- package/src/components/Typography/Caption/Caption.tsx +4 -4
- package/src/components/Typography/Headline/Headline.tsx +3 -3
- package/src/components/Typography/Subhead/Subhead.tsx +3 -3
- package/src/components/Typography/Text/Text.tsx +3 -4
- package/src/components/Typography/Title/Title.tsx +9 -5
- package/src/components/View/Readme.md +42 -56
- package/src/components/View/View.tsx +46 -61
- package/src/components/View/ViewInfinite.tsx +52 -67
- package/src/components/View/utils.ts +8 -0
- package/src/index.ts +4 -0
- package/src/lib/accessibility.ts +2 -2
- package/src/lib/prefixClass.ts +9 -6
- package/src/lib/supportEvents.ts +1 -4
- package/src/styles/components.css +4 -0
- package/src/styles/vkcom_light.css +3 -3
- package/src/testing/utils.tsx +34 -1
- package/src/types.ts +4 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { VKUITouchEvent } from '../../lib/touch';
|
|
3
|
-
import { HasRootRef } from '../../types';
|
|
4
|
-
export interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement
|
|
3
|
+
import { HasComponent, HasRootRef } from '../../types';
|
|
4
|
+
export interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {
|
|
5
5
|
/**
|
|
6
6
|
* Привязать onEnter и onLeave через pointer-events - работает на disabled-инпутах
|
|
7
7
|
*/
|
|
@@ -9,7 +9,6 @@ export interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRoo
|
|
|
9
9
|
useCapture?: boolean;
|
|
10
10
|
slideThreshold?: number;
|
|
11
11
|
noSlideClick?: boolean;
|
|
12
|
-
Component?: React.ElementType;
|
|
13
12
|
onEnter?: HoverHandler;
|
|
14
13
|
onLeave?: HoverHandler;
|
|
15
14
|
onStart?: TouchEventHandler;
|
|
@@ -24,20 +23,20 @@ export interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRoo
|
|
|
24
23
|
stopPropagation?: boolean;
|
|
25
24
|
}
|
|
26
25
|
export interface Gesture {
|
|
27
|
-
startX
|
|
28
|
-
startY
|
|
29
|
-
startT
|
|
30
|
-
duration
|
|
31
|
-
isPressed
|
|
32
|
-
isY
|
|
33
|
-
isX
|
|
34
|
-
isSlideX
|
|
35
|
-
isSlideY
|
|
36
|
-
isSlide
|
|
37
|
-
shiftX
|
|
38
|
-
shiftY
|
|
39
|
-
shiftXAbs
|
|
40
|
-
shiftYAbs
|
|
26
|
+
startX: number;
|
|
27
|
+
startY: number;
|
|
28
|
+
startT: Date;
|
|
29
|
+
duration: number;
|
|
30
|
+
isPressed: boolean;
|
|
31
|
+
isY: boolean;
|
|
32
|
+
isX: boolean;
|
|
33
|
+
isSlideX: boolean;
|
|
34
|
+
isSlideY: boolean;
|
|
35
|
+
isSlide: boolean;
|
|
36
|
+
shiftX: number;
|
|
37
|
+
shiftY: number;
|
|
38
|
+
shiftXAbs: number;
|
|
39
|
+
shiftYAbs: number;
|
|
41
40
|
}
|
|
42
41
|
export interface TouchEvent extends Gesture {
|
|
43
42
|
originalEvent: VKUITouchEvent;
|
|
@@ -63,7 +63,7 @@ var Touch = function Touch(_ref) {
|
|
|
63
63
|
|
|
64
64
|
var events = React.useMemo(_touch.getSupportedEvents, []);
|
|
65
65
|
var didSlide = React.useRef(false);
|
|
66
|
-
var gesture = React.useRef(
|
|
66
|
+
var gesture = React.useRef(null);
|
|
67
67
|
|
|
68
68
|
var handle = function handle(e, handers) {
|
|
69
69
|
stopPropagation && e.stopPropagation();
|
|
@@ -79,12 +79,7 @@ var Touch = function Touch(_ref) {
|
|
|
79
79
|
var enterHandler = (0, _useEventListener.useEventListener)(usePointerHover ? 'pointerenter' : 'mouseenter', onEnter);
|
|
80
80
|
var leaveHandler = (0, _useEventListener.useEventListener)(usePointerHover ? 'pointerleave' : 'mouseleave', onLeave);
|
|
81
81
|
var startHandler = (0, _useEventListener.useEventListener)(events[0], function (e) {
|
|
82
|
-
gesture.current =
|
|
83
|
-
startX: (0, _touch.coordX)(e),
|
|
84
|
-
startY: (0, _touch.coordY)(e),
|
|
85
|
-
startT: new Date(),
|
|
86
|
-
isPressed: true
|
|
87
|
-
};
|
|
82
|
+
gesture.current = initGesture((0, _touch.coordX)(e), (0, _touch.coordY)(e));
|
|
88
83
|
handle(e, [onStart, onStartX, onStartY]); // 1 line, 2 bad specs, 2 workarounds:
|
|
89
84
|
|
|
90
85
|
subscribe((0, _touch.touchEnabled)() // Touch events fire on initial target, and won't bubble if its removed
|
|
@@ -230,4 +225,23 @@ var Touch = function Touch(_ref) {
|
|
|
230
225
|
};
|
|
231
226
|
|
|
232
227
|
exports.Touch = Touch;
|
|
228
|
+
|
|
229
|
+
function initGesture(startX, startY) {
|
|
230
|
+
return {
|
|
231
|
+
startX: startX,
|
|
232
|
+
startY: startY,
|
|
233
|
+
startT: new Date(),
|
|
234
|
+
duration: 0,
|
|
235
|
+
isPressed: true,
|
|
236
|
+
isY: false,
|
|
237
|
+
isX: false,
|
|
238
|
+
isSlideX: false,
|
|
239
|
+
isSlideY: false,
|
|
240
|
+
isSlide: false,
|
|
241
|
+
shiftX: 0,
|
|
242
|
+
shiftY: 0,
|
|
243
|
+
shiftXAbs: 0,
|
|
244
|
+
shiftYAbs: 0
|
|
245
|
+
};
|
|
246
|
+
}
|
|
233
247
|
//# sourceMappingURL=Touch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Touch/Touch.tsx"],"names":["Touch","onStart","onStartX","onStartY","_onMove","onMove","onMoveX","onMoveY","onLeave","onEnter","_onEnd","onEnd","onEndX","onEndY","onClickCapture","usePointerHover","slideThreshold","useCapture","Component","getRootRef","noSlideClick","stopPropagation","restProps","document","events","React","useMemo","getSupportedEvents","didSlide","useRef","gesture","handle","e","handers","forEach","cb","duration","Date","now","current","startT","getTime","originalEvent","enterHandler","leaveHandler","startHandler","startX","startY","isPressed","subscribe","target","capture","passive","containerRef","el","add","isX","isY","shiftX","shiftY","shiftXAbs","Math","abs","shiftYAbs","touches","length","willBeX","willBeY","willBeSlidedX","willBeSlidedY","Object","assign","isSlideX","isSlideY","isSlide","listenerParams","listeners","l","onDragStart","tagName","preventDefault","postGestureClick","closest"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getSupportedEvents, coordX, coordY, touchEnabled, VKUITouchEvent } from '../../lib/touch';\nimport { HasRootRef } from '../../types';\nimport { useDOM } from '../../lib/dom';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\n\nexport interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement> {\n /**\n * Привязать onEnter и onLeave через pointer-events - работает на disabled-инпутах\n */\n usePointerHover?: boolean;\n useCapture?: boolean;\n slideThreshold?: number;\n noSlideClick?: boolean;\n Component?: React.ElementType;\n onEnter?: HoverHandler;\n onLeave?: HoverHandler;\n onStart?: TouchEventHandler;\n onStartX?: TouchEventHandler;\n onStartY?: TouchEventHandler;\n onMove?: TouchEventHandler;\n onMoveX?: TouchEventHandler;\n onMoveY?: TouchEventHandler;\n onEnd?: TouchEventHandler;\n onEndX?: TouchEventHandler;\n onEndY?: TouchEventHandler;\n stopPropagation?: boolean;\n}\n\nexport interface Gesture {\n startX?: number;\n startY?: number;\n startT?: Date;\n duration?: number;\n isPressed?: boolean;\n isY?: boolean;\n isX?: boolean;\n isSlideX?: boolean;\n isSlideY?: boolean;\n isSlide?: boolean;\n shiftX?: number;\n shiftY?: number;\n shiftXAbs?: number;\n shiftYAbs?: number;\n}\n\nexport interface TouchEvent extends Gesture {\n originalEvent: VKUITouchEvent;\n}\n\ntype HoverHandler = (outputEvent: MouseEvent) => void;\nexport type TouchEventHandler = (e: TouchEvent) => void;\nexport type ClickHandler = (e: React.MouseEvent<HTMLElement>) => void;\nexport type DragHandler = (e: React.DragEvent<HTMLElement>) => void;\n\nexport const Touch: React.FC<TouchProps> = ({\n onStart,\n onStartX,\n onStartY,\n onMove: _onMove,\n onMoveX,\n onMoveY,\n onLeave,\n onEnter,\n onEnd: _onEnd,\n onEndX,\n onEndY,\n onClickCapture,\n usePointerHover,\n slideThreshold = 5,\n useCapture = false,\n Component = 'div',\n getRootRef,\n noSlideClick = false,\n stopPropagation = false,\n ...restProps\n}: TouchProps) => {\n const { document } = useDOM();\n const events = React.useMemo(getSupportedEvents, []);\n const didSlide = React.useRef(false);\n const gesture = React.useRef<Partial<Gesture>>({});\n const handle = (e: VKUITouchEvent, handers: TouchEventHandler[]) => {\n stopPropagation && e.stopPropagation();\n handers.forEach((cb) => {\n const duration = Date.now() - gesture.current.startT.getTime();\n cb && cb({ ...gesture.current, duration, originalEvent: e });\n });\n };\n\n const enterHandler = useEventListener(usePointerHover ? 'pointerenter' : 'mouseenter', onEnter);\n const leaveHandler = useEventListener(usePointerHover ? 'pointerleave' : 'mouseleave', onLeave);\n const startHandler = useEventListener(events[0], (e: VKUITouchEvent) => {\n gesture.current = {\n startX: coordX(e),\n startY: coordY(e),\n startT: new Date(),\n isPressed: true,\n };\n\n handle(e, [onStart, onStartX, onStartY]);\n // 1 line, 2 bad specs, 2 workarounds:\n subscribe(touchEnabled()\n // Touch events fire on initial target, and won't bubble if its removed\n // see: #235, #1968, https://stackoverflow.com/a/45760014\n ? e.target as HTMLElement\n // Mouse events fire on the element under pointer, so we lose move / end\n // if pointer goes outside container.\n // Can be fixed by PointerEvents' setPointerCapture later\n : document);\n }, { capture: useCapture, passive: false });\n const containerRef = useExternRef(getRootRef);\n\n useIsomorphicLayoutEffect(() => {\n const el = containerRef.current;\n enterHandler.add(el);\n leaveHandler.add(el);\n startHandler.add(el);\n }, [Component]);\n\n function onMove(e: VKUITouchEvent) {\n const { isPressed, isX, isY, startX, startY } = gesture.current;\n\n if (isPressed) {\n // смещения\n const shiftX = coordX(e) - startX;\n const shiftY = coordY(e) - startY;\n\n // абсолютные значения смещений\n const shiftXAbs = Math.abs(shiftX);\n const shiftYAbs = Math.abs(shiftY);\n\n // Если определяем мультитач, то прерываем жест\n if (!!e.touches && e.touches.length > 1) {\n return onEnd(e);\n }\n\n // если мы ещё не определились\n if (!isX && !isY) {\n const willBeX = shiftXAbs >= slideThreshold && shiftXAbs > shiftYAbs;\n const willBeY = shiftYAbs >= slideThreshold && shiftYAbs > shiftXAbs;\n const willBeSlidedX = willBeX && (!!onMoveX || !!_onMove);\n const willBeSlidedY = willBeY && (!!onMoveY || !!_onMove);\n\n Object.assign(gesture.current, {\n isY: willBeY,\n isX: willBeX,\n isSlideX: willBeSlidedX,\n isSlideY: willBeSlidedY,\n isSlide: willBeSlidedX || willBeSlidedY,\n });\n }\n\n if (gesture.current.isSlide) {\n Object.assign(gesture.current, {\n shiftX,\n shiftY,\n shiftXAbs,\n shiftYAbs,\n });\n\n handle(e, [_onMove, gesture.current.isSlideX && onMoveX, gesture.current.isSlideY && onMoveY]);\n }\n }\n }\n\n function onEnd(e: VKUITouchEvent) {\n const { isPressed, isSlide, isSlideX, isSlideY } = gesture.current;\n\n if (isPressed) {\n handle(e, [_onEnd, isSlideY && onEndY, isSlideX && onEndX]);\n }\n\n didSlide.current = isSlide;\n gesture.current = {};\n\n // Если это был тач-евент, симулируем отмену hover\n if (touchEnabled()) {\n onLeave && onLeave(e);\n }\n subscribe(null);\n }\n\n const listenerParams = { capture: useCapture, passive: false };\n const listeners = [\n useEventListener(events[1], onMove, listenerParams),\n useEventListener(events[2], onEnd, listenerParams),\n useEventListener(events[3], onEnd, listenerParams),\n ];\n function subscribe(el: HTMLElement | Document | null) {\n listeners.forEach((l) => l.add(el));\n }\n\n /**\n * Обработчик событий dragstart\n * Отменяет нативное браузерное поведение для вложенных ссылок и изображений\n */\n const onDragStart = (e: React.DragEvent<HTMLElement>) => {\n const target = e.target as HTMLElement;\n if (target.tagName === 'A' || target.tagName === 'IMG') {\n e.preventDefault();\n }\n };\n\n /**\n * Обработчик клика по компоненту\n * Отменяет переход по вложенной ссылке, если был зафиксирован свайп\n */\n const postGestureClick: typeof onClickCapture = (e) => {\n if (!didSlide.current) {\n return onClickCapture && onClickCapture(e);\n }\n // eslint-disable-next-line no-restricted-properties\n if ((e.target as HTMLElement).closest('a')) {\n e.preventDefault();\n }\n if (noSlideClick) {\n e.stopPropagation();\n } else {\n onClickCapture && onClickCapture(e);\n }\n didSlide.current = false;\n };\n\n return (\n <Component\n {...restProps}\n onDragStart={onDragStart}\n onClickCapture={postGestureClick}\n ref={containerRef}\n />\n );\n};\n"],"file":"Touch.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Touch/Touch.tsx"],"names":["Touch","onStart","onStartX","onStartY","_onMove","onMove","onMoveX","onMoveY","onLeave","onEnter","_onEnd","onEnd","onEndX","onEndY","onClickCapture","usePointerHover","slideThreshold","useCapture","Component","getRootRef","noSlideClick","stopPropagation","restProps","document","events","React","useMemo","getSupportedEvents","didSlide","useRef","gesture","handle","e","handers","forEach","cb","duration","Date","now","current","startT","getTime","originalEvent","enterHandler","leaveHandler","startHandler","initGesture","subscribe","target","capture","passive","containerRef","el","add","isPressed","isX","isY","startX","startY","shiftX","shiftY","shiftXAbs","Math","abs","shiftYAbs","touches","length","willBeX","willBeY","willBeSlidedX","willBeSlidedY","Object","assign","isSlideX","isSlideY","isSlide","listenerParams","listeners","l","onDragStart","tagName","preventDefault","postGestureClick","closest"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getSupportedEvents, coordX, coordY, touchEnabled, VKUITouchEvent } from '../../lib/touch';\nimport { HasComponent, HasRootRef } from '../../types';\nimport { useDOM } from '../../lib/dom';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\n\nexport interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {\n /**\n * Привязать onEnter и onLeave через pointer-events - работает на disabled-инпутах\n */\n usePointerHover?: boolean;\n useCapture?: boolean;\n slideThreshold?: number;\n noSlideClick?: boolean;\n onEnter?: HoverHandler;\n onLeave?: HoverHandler;\n onStart?: TouchEventHandler;\n onStartX?: TouchEventHandler;\n onStartY?: TouchEventHandler;\n onMove?: TouchEventHandler;\n onMoveX?: TouchEventHandler;\n onMoveY?: TouchEventHandler;\n onEnd?: TouchEventHandler;\n onEndX?: TouchEventHandler;\n onEndY?: TouchEventHandler;\n stopPropagation?: boolean;\n}\n\nexport interface Gesture {\n startX: number;\n startY: number;\n startT: Date;\n duration: number;\n isPressed: boolean;\n isY: boolean;\n isX: boolean;\n isSlideX: boolean;\n isSlideY: boolean;\n isSlide: boolean;\n shiftX: number;\n shiftY: number;\n shiftXAbs: number;\n shiftYAbs: number;\n}\n\nexport interface TouchEvent extends Gesture {\n originalEvent: VKUITouchEvent;\n}\n\ntype HoverHandler = (outputEvent: MouseEvent) => void;\nexport type TouchEventHandler = (e: TouchEvent) => void;\nexport type ClickHandler = (e: React.MouseEvent<HTMLElement>) => void;\nexport type DragHandler = (e: React.DragEvent<HTMLElement>) => void;\n\nexport const Touch: React.FC<TouchProps> = ({\n onStart,\n onStartX,\n onStartY,\n onMove: _onMove,\n onMoveX,\n onMoveY,\n onLeave,\n onEnter,\n onEnd: _onEnd,\n onEndX,\n onEndY,\n onClickCapture,\n usePointerHover,\n slideThreshold = 5,\n useCapture = false,\n Component = 'div',\n getRootRef,\n noSlideClick = false,\n stopPropagation = false,\n ...restProps\n}: TouchProps) => {\n const { document } = useDOM();\n const events = React.useMemo(getSupportedEvents, []);\n const didSlide = React.useRef(false);\n const gesture = React.useRef<Partial<Gesture>>(null);\n const handle = (e: VKUITouchEvent, handers: TouchEventHandler[]) => {\n stopPropagation && e.stopPropagation();\n handers.forEach((cb) => {\n const duration = Date.now() - gesture.current.startT.getTime();\n cb && cb({ ...gesture.current as Gesture, duration, originalEvent: e });\n });\n };\n\n const enterHandler = useEventListener(usePointerHover ? 'pointerenter' : 'mouseenter', onEnter);\n const leaveHandler = useEventListener(usePointerHover ? 'pointerleave' : 'mouseleave', onLeave);\n const startHandler = useEventListener(events[0], (e: VKUITouchEvent) => {\n gesture.current = initGesture(coordX(e), coordY(e));\n\n handle(e, [onStart, onStartX, onStartY]);\n // 1 line, 2 bad specs, 2 workarounds:\n subscribe(touchEnabled()\n // Touch events fire on initial target, and won't bubble if its removed\n // see: #235, #1968, https://stackoverflow.com/a/45760014\n ? e.target as HTMLElement\n // Mouse events fire on the element under pointer, so we lose move / end\n // if pointer goes outside container.\n // Can be fixed by PointerEvents' setPointerCapture later\n : document);\n }, { capture: useCapture, passive: false });\n const containerRef = useExternRef(getRootRef);\n\n useIsomorphicLayoutEffect(() => {\n const el = containerRef.current;\n enterHandler.add(el);\n leaveHandler.add(el);\n startHandler.add(el);\n }, [Component]);\n\n function onMove(e: VKUITouchEvent) {\n const { isPressed, isX, isY, startX, startY } = gesture.current;\n\n if (isPressed) {\n // смещения\n const shiftX = coordX(e) - startX;\n const shiftY = coordY(e) - startY;\n\n // абсолютные значения смещений\n const shiftXAbs = Math.abs(shiftX);\n const shiftYAbs = Math.abs(shiftY);\n\n // Если определяем мультитач, то прерываем жест\n if (!!e.touches && e.touches.length > 1) {\n return onEnd(e);\n }\n\n // если мы ещё не определились\n if (!isX && !isY) {\n const willBeX = shiftXAbs >= slideThreshold && shiftXAbs > shiftYAbs;\n const willBeY = shiftYAbs >= slideThreshold && shiftYAbs > shiftXAbs;\n const willBeSlidedX = willBeX && (!!onMoveX || !!_onMove);\n const willBeSlidedY = willBeY && (!!onMoveY || !!_onMove);\n\n Object.assign(gesture.current, {\n isY: willBeY,\n isX: willBeX,\n isSlideX: willBeSlidedX,\n isSlideY: willBeSlidedY,\n isSlide: willBeSlidedX || willBeSlidedY,\n });\n }\n\n if (gesture.current.isSlide) {\n Object.assign(gesture.current, {\n shiftX,\n shiftY,\n shiftXAbs,\n shiftYAbs,\n });\n\n handle(e, [_onMove, gesture.current.isSlideX && onMoveX, gesture.current.isSlideY && onMoveY]);\n }\n }\n }\n\n function onEnd(e: VKUITouchEvent) {\n const { isPressed, isSlide, isSlideX, isSlideY } = gesture.current;\n\n if (isPressed) {\n handle(e, [_onEnd, isSlideY && onEndY, isSlideX && onEndX]);\n }\n\n didSlide.current = isSlide;\n gesture.current = {};\n\n // Если это был тач-евент, симулируем отмену hover\n if (touchEnabled()) {\n onLeave && onLeave(e);\n }\n subscribe(null);\n }\n\n const listenerParams = { capture: useCapture, passive: false };\n const listeners = [\n useEventListener(events[1], onMove, listenerParams),\n useEventListener(events[2], onEnd, listenerParams),\n useEventListener(events[3], onEnd, listenerParams),\n ];\n function subscribe(el: HTMLElement | Document | null) {\n listeners.forEach((l) => l.add(el));\n }\n\n /**\n * Обработчик событий dragstart\n * Отменяет нативное браузерное поведение для вложенных ссылок и изображений\n */\n const onDragStart = (e: React.DragEvent<HTMLElement>) => {\n const target = e.target as HTMLElement;\n if (target.tagName === 'A' || target.tagName === 'IMG') {\n e.preventDefault();\n }\n };\n\n /**\n * Обработчик клика по компоненту\n * Отменяет переход по вложенной ссылке, если был зафиксирован свайп\n */\n const postGestureClick: typeof onClickCapture = (e) => {\n if (!didSlide.current) {\n return onClickCapture && onClickCapture(e);\n }\n // eslint-disable-next-line no-restricted-properties\n if ((e.target as HTMLElement).closest('a')) {\n e.preventDefault();\n }\n if (noSlideClick) {\n e.stopPropagation();\n } else {\n onClickCapture && onClickCapture(e);\n }\n didSlide.current = false;\n };\n\n return (\n <Component\n {...restProps}\n onDragStart={onDragStart}\n onClickCapture={postGestureClick}\n ref={containerRef}\n />\n );\n};\n\nfunction initGesture(startX: number, startY: number): Gesture {\n return {\n startX,\n startY,\n startT: new Date(),\n duration: 0,\n isPressed: true,\n isY: false,\n isX: false,\n isSlideX: false,\n isSlideY: false,\n isSlide: false,\n shiftX: 0,\n shiftY: 0,\n shiftXAbs: 0,\n shiftYAbs: 0,\n };\n}\n"],"file":"Touch.js"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { HasComponent } from '../../../types';
|
|
2
3
|
import './Caption.css';
|
|
3
|
-
export interface CaptionProps extends React.AllHTMLAttributes<HTMLElement
|
|
4
|
+
export interface CaptionProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
|
|
4
5
|
weight: 'regular' | 'medium' | 'semibold' | 'bold';
|
|
5
6
|
level: '1' | '2' | '3' | '4';
|
|
6
7
|
caps?: boolean;
|
|
7
|
-
Component?: React.ElementType;
|
|
8
8
|
}
|
|
9
9
|
declare const Caption: React.FC<CaptionProps>;
|
|
10
10
|
export default Caption;
|
|
@@ -23,8 +23,10 @@ var _excluded = ["children", "weight", "level", "caps", "Component"];
|
|
|
23
23
|
|
|
24
24
|
var Caption = function Caption(_ref) {
|
|
25
25
|
var children = _ref.children,
|
|
26
|
-
weight = _ref.weight,
|
|
27
|
-
|
|
26
|
+
_ref$weight = _ref.weight,
|
|
27
|
+
weight = _ref$weight === void 0 ? 'regular' : _ref$weight,
|
|
28
|
+
_ref$level = _ref.level,
|
|
29
|
+
level = _ref$level === void 0 ? '1' : _ref$level,
|
|
28
30
|
caps = _ref.caps,
|
|
29
31
|
_ref$Component = _ref.Component,
|
|
30
32
|
Component = _ref$Component === void 0 ? 'span' : _ref$Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Caption/Caption.tsx"],"names":["Caption","children","weight","level","caps","Component","restProps","platform"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Caption/Caption.tsx"],"names":["Caption","children","weight","level","caps","Component","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;AASA,IAAMA,OAA+B,GAAG,SAAlCA,OAAkC,OAOpB;AAAA,MANlBC,QAMkB,QANlBA,QAMkB;AAAA,yBALlBC,MAKkB;AAAA,MALlBA,MAKkB,4BALT,SAKS;AAAA,wBAJlBC,KAIkB;AAAA,MAJlBA,KAIkB,2BAJV,GAIU;AAAA,MAHlBC,IAGkB,QAHlBA,IAGkB;AAAA,4BAFlBC,SAEkB;AAAA,MAFlBA,SAEkB,+BAFN,MAEM;AAAA,MADfC,SACe;AAClB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,SAAD,6BACMD,SADN;AAEE,IAAA,SAAS,EACP,4BACE,gCAAa,SAAb,EAAwBC,QAAxB,CADF,uBAEgBL,MAFhB,wBAGgBC,KAHhB,GAIE;AACE,uBAAiBC;AADnB,KAJF;AAHJ,MAaGH,QAbH,CADF;AAiBD,CA3BD;;eA6BeD,O","sourcesContent":["import * as React from 'react';\nimport { HasComponent } from '../../../types';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { classNames } from '../../../lib/classNames';\nimport { getClassName } from '../../../helpers/getClassName';\nimport './Caption.css';\n\nexport interface CaptionProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {\n weight: 'regular' | 'medium' | 'semibold' | 'bold';\n level: '1' | '2' | '3' | '4';\n caps?: boolean;\n}\n\nconst Caption: React.FC<CaptionProps> = ({\n children,\n weight = 'regular',\n level = '1',\n caps,\n Component = 'span',\n ...restProps\n}: CaptionProps) => {\n const platform = usePlatform();\n\n return (\n <Component\n {...restProps}\n vkuiClass={\n classNames(\n getClassName('Caption', platform),\n `Caption--w-${weight}`,\n `Caption--l-${level}`,\n {\n 'Caption--caps': caps,\n },\n )\n }\n >\n {children}\n </Component>\n );\n};\n\nexport default Caption;\n"],"file":"Caption.js"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { HasComponent } from '../../../types';
|
|
2
3
|
import './Headline.css';
|
|
3
|
-
export interface HeadlineProps extends React.AllHTMLAttributes<HTMLElement
|
|
4
|
+
export interface HeadlineProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
|
|
4
5
|
weight: 'regular' | 'medium' | 'semibold';
|
|
5
|
-
Component?: React.ElementType;
|
|
6
6
|
}
|
|
7
7
|
declare const Headline: React.FC<HeadlineProps>;
|
|
8
8
|
export default Headline;
|
|
@@ -23,7 +23,8 @@ var _excluded = ["children", "weight", "Component"];
|
|
|
23
23
|
|
|
24
24
|
var Headline = function Headline(_ref) {
|
|
25
25
|
var children = _ref.children,
|
|
26
|
-
weight = _ref.weight,
|
|
26
|
+
_ref$weight = _ref.weight,
|
|
27
|
+
weight = _ref$weight === void 0 ? 'regular' : _ref$weight,
|
|
27
28
|
_ref$Component = _ref.Component,
|
|
28
29
|
Component = _ref$Component === void 0 ? 'h3' : _ref$Component,
|
|
29
30
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Headline/Headline.tsx"],"names":["Headline","children","weight","Component","restProps","platform"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Headline/Headline.tsx"],"names":["Headline","children","weight","Component","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;AAOA,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAKrB;AAAA,MAJnBC,QAImB,QAJnBA,QAImB;AAAA,yBAHnBC,MAGmB;AAAA,MAHnBA,MAGmB,4BAHV,SAGU;AAAA,4BAFnBC,SAEmB;AAAA,MAFnBA,SAEmB,+BAFP,IAEO;AAAA,MADhBC,SACgB;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,SAAD,6BACMD,SADN;AAEE,IAAA,SAAS,EAAE,4BAAW,gCAAa,UAAb,EAAyBC,QAAzB,CAAX,wBAA8DH,MAA9D;AAFb,MAIGD,QAJH,CADF;AAQD,CAhBD;;eAkBeD,Q","sourcesContent":["import * as React from 'react';\nimport { HasComponent } from '../../../types';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { classNames } from '../../../lib/classNames';\nimport { getClassName } from '../../../helpers/getClassName';\nimport './Headline.css';\n\nexport interface HeadlineProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {\n weight: 'regular' | 'medium' | 'semibold';\n}\n\nconst Headline: React.FC<HeadlineProps> = ({\n children,\n weight = 'regular',\n Component = 'h3',\n ...restProps\n}: HeadlineProps) => {\n const platform = usePlatform();\n\n return (\n <Component\n {...restProps}\n vkuiClass={classNames(getClassName('Headline', platform), `Headline--w-${weight}`)}\n >\n {children}\n </Component>\n );\n};\n\nexport default Headline;\n"],"file":"Headline.js"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { HasComponent } from '../../../types';
|
|
2
3
|
import './Subhead.css';
|
|
3
|
-
export interface SubheadProps extends React.AllHTMLAttributes<HTMLElement
|
|
4
|
+
export interface SubheadProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
|
|
4
5
|
weight: 'regular' | 'medium' | 'semibold' | 'bold';
|
|
5
|
-
Component?: React.ElementType;
|
|
6
6
|
}
|
|
7
7
|
declare const Subhead: React.FC<SubheadProps>;
|
|
8
8
|
export default Subhead;
|
|
@@ -23,7 +23,8 @@ var _excluded = ["children", "weight", "Component"];
|
|
|
23
23
|
|
|
24
24
|
var Subhead = function Subhead(_ref) {
|
|
25
25
|
var children = _ref.children,
|
|
26
|
-
weight = _ref.weight,
|
|
26
|
+
_ref$weight = _ref.weight,
|
|
27
|
+
weight = _ref$weight === void 0 ? 'regular' : _ref$weight,
|
|
27
28
|
_ref$Component = _ref.Component,
|
|
28
29
|
Component = _ref$Component === void 0 ? 'h4' : _ref$Component,
|
|
29
30
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Subhead/Subhead.tsx"],"names":["Subhead","children","weight","Component","restProps","platform"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Subhead/Subhead.tsx"],"names":["Subhead","children","weight","Component","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;AAOA,IAAMA,OAA+B,GAAG,SAAlCA,OAAkC,OAKpB;AAAA,MAJlBC,QAIkB,QAJlBA,QAIkB;AAAA,yBAHlBC,MAGkB;AAAA,MAHlBA,MAGkB,4BAHT,SAGS;AAAA,4BAFlBC,SAEkB;AAAA,MAFlBA,SAEkB,+BAFN,IAEM;AAAA,MADfC,SACe;AAClB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,SAAD,6BACMD,SADN;AAEE,IAAA,SAAS,EAAE,4BAAW,gCAAa,SAAb,EAAwBC,QAAxB,CAAX,uBAA4DH,MAA5D;AAFb,MAIGD,QAJH,CADF;AAQD,CAhBD;;eAkBeD,O","sourcesContent":["import * as React from 'react';\nimport { HasComponent } from '../../../types';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { classNames } from '../../../lib/classNames';\nimport { getClassName } from '../../../helpers/getClassName';\nimport './Subhead.css';\n\nexport interface SubheadProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {\n weight: 'regular' | 'medium' | 'semibold' | 'bold';\n}\n\nconst Subhead: React.FC<SubheadProps> = ({\n children,\n weight = 'regular',\n Component = 'h4',\n ...restProps\n}: SubheadProps) => {\n const platform = usePlatform();\n\n return (\n <Component\n {...restProps}\n vkuiClass={classNames(getClassName('Subhead', platform), `Subhead--w-${weight}`)}\n >\n {children}\n </Component>\n );\n};\n\nexport default Subhead;\n"],"file":"Subhead.js"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { HasRootRef } from '../../../types';
|
|
2
|
+
import { HasComponent, HasRootRef } from '../../../types';
|
|
3
3
|
import './Text.css';
|
|
4
|
-
export interface TextProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<
|
|
4
|
+
export interface TextProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {
|
|
5
5
|
weight: 'regular' | 'medium' | 'semibold';
|
|
6
|
-
Component?: React.ElementType;
|
|
7
6
|
}
|
|
8
7
|
declare const Text: React.FC<TextProps>;
|
|
9
8
|
export default Text;
|
|
@@ -26,7 +26,8 @@ var warn = (0, _warnOnce.warnOnce)('Text');
|
|
|
26
26
|
|
|
27
27
|
var Text = function Text(_ref) {
|
|
28
28
|
var children = _ref.children,
|
|
29
|
-
weight = _ref.weight,
|
|
29
|
+
_ref$weight = _ref.weight,
|
|
30
|
+
weight = _ref$weight === void 0 ? 'regular' : _ref$weight,
|
|
30
31
|
_ref$Component = _ref.Component,
|
|
31
32
|
Component = _ref$Component === void 0 ? 'span' : _ref$Component,
|
|
32
33
|
getRootRef = _ref.getRootRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Text/Text.tsx"],"names":["warn","Text","children","weight","Component","getRootRef","restProps","platform","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Text/Text.tsx"],"names":["warn","Text","children","weight","Component","getRootRef","restProps","platform","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;;AAOA,IAAMA,IAAI,GAAG,wBAAS,MAAT,CAAb;;AACA,IAAMC,IAAyB,GAAG,SAA5BA,IAA4B,OAMjB;AAAA,MALfC,QAKe,QALfA,QAKe;AAAA,yBAJfC,MAIe;AAAA,MAJfA,MAIe,4BAJN,SAIM;AAAA,4BAHfC,SAGe;AAAA,MAHfA,SAGe,+BAHH,MAGG;AAAA,MAFfC,UAEe,QAFfA,UAEe;AAAA,MADZC,SACY;AACf,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,OAAON,SAAP,KAAqB,QAA/D,IAA2EC,UAA/E,EAA2F;AACzFL,IAAAA,IAAI,CAAC,iDAAD,CAAJ;AACD;;AAED,SACE,qCAAC,SAAD,6BACMM,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAE,4BAAW,gCAAa,MAAb,EAAqBE,QAArB,CAAX,oBAAsDJ,MAAtD;AAHb,MAKGD,QALH,CADF;AASD,CAtBD;;eAwBeD,I","sourcesContent":["import * as React from 'react';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { classNames } from '../../../lib/classNames';\nimport { getClassName } from '../../../helpers/getClassName';\nimport { HasComponent, HasRootRef } from '../../../types';\nimport { warnOnce } from '../../../lib/warnOnce';\nimport './Text.css';\n\nexport interface TextProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {\n weight: 'regular' | 'medium' | 'semibold';\n}\n\nconst warn = warnOnce('Text');\nconst Text: React.FC<TextProps> = ({\n children,\n weight = 'regular',\n Component = 'span',\n getRootRef,\n ...restProps\n}: TextProps) => {\n const platform = usePlatform();\n\n if (process.env.NODE_ENV === 'development' && typeof Component !== 'string' && getRootRef) {\n warn('getRootRef can only be used with DOM components');\n }\n\n return (\n <Component\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(getClassName('Text', platform), `Text--w-${weight}`)}\n >\n {children}\n </Component>\n );\n};\n\nexport default Text;\n"],"file":"Text.js"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { HasComponent } from '../../../types';
|
|
2
3
|
import './Title.css';
|
|
3
|
-
export interface TitleProps extends React.AllHTMLAttributes<HTMLElement
|
|
4
|
+
export interface TitleProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
|
|
4
5
|
weight: 'heavy' | 'bold' | 'semibold' | 'medium' | 'regular';
|
|
5
6
|
level: '1' | '2' | '3';
|
|
6
|
-
Component?: React.ElementType;
|
|
7
7
|
}
|
|
8
8
|
declare const Title: React.FC<TitleProps>;
|
|
9
9
|
export default Title;
|
|
@@ -27,13 +27,18 @@ var _excluded = ["children", "weight", "level", "Component"];
|
|
|
27
27
|
|
|
28
28
|
var Title = function Title(_ref) {
|
|
29
29
|
var children = _ref.children,
|
|
30
|
-
weight = _ref.weight,
|
|
31
|
-
|
|
32
|
-
_ref$
|
|
33
|
-
|
|
30
|
+
_ref$weight = _ref.weight,
|
|
31
|
+
weight = _ref$weight === void 0 ? 'regular' : _ref$weight,
|
|
32
|
+
_ref$level = _ref.level,
|
|
33
|
+
level = _ref$level === void 0 ? '1' : _ref$level,
|
|
34
|
+
Component = _ref.Component,
|
|
34
35
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
35
36
|
var platform = (0, _usePlatform.usePlatform)();
|
|
36
37
|
|
|
38
|
+
if (!Component) {
|
|
39
|
+
Component = 'h' + level;
|
|
40
|
+
}
|
|
41
|
+
|
|
37
42
|
if (platform === _platform.ANDROID && level === '3') {
|
|
38
43
|
var headlineWeight = weight === 'regular' ? weight : 'medium';
|
|
39
44
|
return (0, _jsxRuntime.createScopedElement)(_Headline.default, (0, _extends2.default)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Title/Title.tsx"],"names":["Title","children","weight","level","Component","restProps","platform","ANDROID","headlineWeight"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Title/Title.tsx"],"names":["Title","children","weight","level","Component","restProps","platform","ANDROID","headlineWeight"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAQA,IAAMA,KAA2B,GAAG,SAA9BA,KAA8B,OAMlB;AAAA,MALhBC,QAKgB,QALhBA,QAKgB;AAAA,yBAJhBC,MAIgB;AAAA,MAJhBA,MAIgB,4BAJP,SAIO;AAAA,wBAHhBC,KAGgB;AAAA,MAHhBA,KAGgB,2BAHR,GAGQ;AAAA,MAFhBC,SAEgB,QAFhBA,SAEgB;AAAA,MADbC,SACa;AAChB,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAI,CAACF,SAAL,EAAgB;AACdA,IAAAA,SAAS,GAAI,MAAMD,KAAnB;AACD;;AAED,MAAIG,QAAQ,KAAKC,iBAAb,IAAwBJ,KAAK,KAAK,GAAtC,EAA2C;AACzC,QAAMK,cAAuC,GAAGN,MAAM,KAAK,SAAX,GAAuBA,MAAvB,GAAgC,QAAhF;AAEA,WACE,qCAAC,iBAAD;AACE,MAAA,SAAS,EAAEE;AADb,OAEMC,SAFN;AAGE,MAAA,MAAM,EAAEG;AAHV,QAKGP,QALH,CADF;AASD;;AAED,SACE,qCAAC,SAAD,6BACMI,SADN;AAEE,IAAA,SAAS,EACP,4BACE,gCAAa,OAAb,EAAsBC,QAAtB,CADF,qBAEcJ,MAFd,sBAGcC,KAHd;AAHJ,MAUGF,QAVH,CADF;AAcD,CAzCD;;eA2CeD,K","sourcesContent":["import * as React from 'react';\nimport { HasComponent } from '../../../types';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { classNames } from '../../../lib/classNames';\nimport { getClassName } from '../../../helpers/getClassName';\nimport { ANDROID } from '../../../lib/platform';\nimport Headline, { HeadlineProps } from '../Headline/Headline';\nimport './Title.css';\n\nexport interface TitleProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {\n weight: 'heavy' | 'bold' | 'semibold' | 'medium' | 'regular';\n level: '1' | '2' | '3';\n}\n\nconst Title: React.FC<TitleProps> = ({\n children,\n weight = 'regular',\n level = '1',\n Component,\n ...restProps\n}: TitleProps) => {\n const platform = usePlatform();\n\n if (!Component) {\n Component = ('h' + level) as React.ElementType;\n }\n\n if (platform === ANDROID && level === '3') {\n const headlineWeight: HeadlineProps['weight'] = weight === 'regular' ? weight : 'medium';\n\n return (\n <Headline\n Component={Component}\n {...restProps}\n weight={headlineWeight}\n >\n {children}\n </Headline>\n );\n }\n\n return (\n <Component\n {...restProps}\n vkuiClass={\n classNames(\n getClassName('Title', platform),\n `Title--w-${weight}`,\n `Title--l-${level}`,\n )\n }\n >\n {children}\n </Component>\n );\n};\n\nexport default Title;\n"],"file":"Title.js"}
|
|
@@ -59,6 +59,8 @@ var _getNavId = require("../../lib/getNavId");
|
|
|
59
59
|
|
|
60
60
|
var _warnOnce = require("../../lib/warnOnce");
|
|
61
61
|
|
|
62
|
+
var _utils = require("./utils");
|
|
63
|
+
|
|
62
64
|
var _excluded = ["popout", "modal", "platform", "activePanel", "splitCol", "configProvider", "history", "nav", "onTransition", "onSwipeBack", "onSwipeBackStart", "onSwipeBackCancel", "window", "document", "scroll"];
|
|
63
65
|
var warn = (0, _warnOnce.warnOnce)('View');
|
|
64
66
|
var SwipeBackResults;
|
|
@@ -70,7 +72,6 @@ var SwipeBackResults;
|
|
|
70
72
|
|
|
71
73
|
var scrollsCache = {};
|
|
72
74
|
exports.scrollsCache = scrollsCache;
|
|
73
|
-
var swipeBackExcludedTags = ['input', 'textarea'];
|
|
74
75
|
|
|
75
76
|
var View = /*#__PURE__*/function (_React$Component) {
|
|
76
77
|
(0, _inherits2.default)(View, _React$Component);
|
|
@@ -88,29 +89,7 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
88
89
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "panelNodes", {});
|
|
89
90
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "transitionEndHandler", function (e) {
|
|
90
91
|
if (!e || ['vkui-animation-ios-next-forward', 'vkui-animation-ios-prev-back', 'vkui-animation-view-next-forward', 'vkui-animation-view-prev-back'].includes(e.animationName)) {
|
|
91
|
-
|
|
92
|
-
var isBack = _this.state.isBack;
|
|
93
|
-
var prevPanel = _this.state.prevPanel;
|
|
94
|
-
|
|
95
|
-
if (isBack) {
|
|
96
|
-
_this.scrolls[prevPanel] = 0;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
_this.setState({
|
|
100
|
-
prevPanel: null,
|
|
101
|
-
nextPanel: null,
|
|
102
|
-
visiblePanels: [activePanel],
|
|
103
|
-
activePanel: activePanel,
|
|
104
|
-
animated: false,
|
|
105
|
-
isBack: undefined
|
|
106
|
-
}, function () {
|
|
107
|
-
isBack && _this.props.scroll.scrollTo(0, _this.scrolls[activePanel]);
|
|
108
|
-
_this.props.onTransition && _this.props.onTransition({
|
|
109
|
-
isBack: isBack,
|
|
110
|
-
from: prevPanel,
|
|
111
|
-
to: activePanel
|
|
112
|
-
});
|
|
113
|
-
});
|
|
92
|
+
_this.flushTransition(_this.state.prevPanel, _this.state.isBack);
|
|
114
93
|
}
|
|
115
94
|
});
|
|
116
95
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "swipingBackTransitionEndHandler", function (e) {
|
|
@@ -129,9 +108,7 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
129
108
|
}
|
|
130
109
|
});
|
|
131
110
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMoveX", function (e) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if (target && typeof target.tagName === 'string' && swipeBackExcludedTags.includes(target.tagName.toLowerCase())) {
|
|
111
|
+
if ((0, _utils.swipeBackExcluded)(e)) {
|
|
135
112
|
return;
|
|
136
113
|
}
|
|
137
114
|
|
|
@@ -254,16 +231,26 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
254
231
|
return id === prevProps.activePanel || id === _this2.props.activePanel;
|
|
255
232
|
});
|
|
256
233
|
var isBack = firstLayerId === this.props.activePanel;
|
|
257
|
-
this.blurActiveElement();
|
|
258
234
|
this.scrolls[prevProps.activePanel] = this.props.scroll.getScroll().y;
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
235
|
+
|
|
236
|
+
if (this.shouldDisableTransitionMotion()) {
|
|
237
|
+
this.flushTransition(prevProps.activePanel, isBack);
|
|
238
|
+
} else {
|
|
239
|
+
this.blurActiveElement();
|
|
240
|
+
this.setState({
|
|
241
|
+
visiblePanels: [prevProps.activePanel, this.props.activePanel],
|
|
242
|
+
prevPanel: prevProps.activePanel,
|
|
243
|
+
nextPanel: this.props.activePanel,
|
|
244
|
+
activePanel: null,
|
|
245
|
+
animated: true,
|
|
246
|
+
isBack: isBack
|
|
247
|
+
}); // Фолбек анимации перехода
|
|
248
|
+
|
|
249
|
+
if (!_supportEvents.animationEvent.supported) {
|
|
250
|
+
clearTimeout(this.animationFinishTimeout);
|
|
251
|
+
this.animationFinishTimeout = setTimeout(this.transitionEndHandler, this.props.platform === _platform.ANDROID || this.props.platform === _platform.VKCOM ? 300 : 600);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
267
254
|
} // Закончилась анимация свайпа назад
|
|
268
255
|
|
|
269
256
|
|
|
@@ -289,15 +276,6 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
289
276
|
to: nextPanel
|
|
290
277
|
});
|
|
291
278
|
});
|
|
292
|
-
} // Начался переход
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
if (!prevState.animated && this.state.animated) {
|
|
296
|
-
var _this$state = this.state,
|
|
297
|
-
_prevPanel = _this$state.prevPanel,
|
|
298
|
-
_nextPanel = _this$state.nextPanel,
|
|
299
|
-
_isBack = _this$state.isBack;
|
|
300
|
-
this.waitAnimationFinish(this.pickPanel(_isBack ? _prevPanel : _nextPanel), this.transitionEndHandler);
|
|
301
279
|
} // Начался свайп назад
|
|
302
280
|
|
|
303
281
|
|
|
@@ -343,22 +321,6 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
343
321
|
this.transitionFinishTimeout = setTimeout(eventHandler, this.props.platform === _platform.ANDROID || this.props.platform === _platform.VKCOM ? 300 : 600);
|
|
344
322
|
}
|
|
345
323
|
}
|
|
346
|
-
}, {
|
|
347
|
-
key: "waitAnimationFinish",
|
|
348
|
-
value: function waitAnimationFinish(elem, eventHandler) {
|
|
349
|
-
if (this.shouldDisableTransitionMotion()) {
|
|
350
|
-
eventHandler();
|
|
351
|
-
return;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
if (_supportEvents.animationEvent.supported) {
|
|
355
|
-
elem.removeEventListener(_supportEvents.animationEvent.name, eventHandler);
|
|
356
|
-
elem.addEventListener(_supportEvents.animationEvent.name, eventHandler);
|
|
357
|
-
} else {
|
|
358
|
-
clearTimeout(this.animationFinishTimeout);
|
|
359
|
-
this.animationFinishTimeout = setTimeout(eventHandler, this.props.platform === _platform.ANDROID || this.props.platform === _platform.VKCOM ? 300 : 600);
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
324
|
}, {
|
|
363
325
|
key: "blurActiveElement",
|
|
364
326
|
value: function blurActiveElement() {
|
|
@@ -371,6 +333,34 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
371
333
|
value: function pickPanel(id) {
|
|
372
334
|
return this.panelNodes[id];
|
|
373
335
|
}
|
|
336
|
+
}, {
|
|
337
|
+
key: "flushTransition",
|
|
338
|
+
value: function flushTransition(prevPanel, isBack) {
|
|
339
|
+
var _this3 = this;
|
|
340
|
+
|
|
341
|
+
var activePanel = this.props.activePanel;
|
|
342
|
+
|
|
343
|
+
if (isBack) {
|
|
344
|
+
this.scrolls[prevPanel] = 0;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
this.setState({
|
|
348
|
+
prevPanel: null,
|
|
349
|
+
nextPanel: null,
|
|
350
|
+
visiblePanels: [activePanel],
|
|
351
|
+
activePanel: activePanel,
|
|
352
|
+
animated: false,
|
|
353
|
+
isBack: undefined
|
|
354
|
+
}, function () {
|
|
355
|
+
_this3.props.scroll.scrollTo(0, isBack ? _this3.scrolls[activePanel] : 0);
|
|
356
|
+
|
|
357
|
+
_this3.props.onTransition && _this3.props.onTransition({
|
|
358
|
+
isBack: isBack,
|
|
359
|
+
from: prevPanel,
|
|
360
|
+
to: activePanel
|
|
361
|
+
});
|
|
362
|
+
});
|
|
363
|
+
}
|
|
374
364
|
}, {
|
|
375
365
|
key: "onSwipeBackSuccess",
|
|
376
366
|
value: function onSwipeBackSuccess() {
|
|
@@ -433,7 +423,7 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
433
423
|
}, {
|
|
434
424
|
key: "render",
|
|
435
425
|
value: function render() {
|
|
436
|
-
var
|
|
426
|
+
var _this4 = this;
|
|
437
427
|
|
|
438
428
|
var _this$props2 = this.props,
|
|
439
429
|
popout = _this$props2.popout,
|
|
@@ -452,23 +442,24 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
452
442
|
document = _this$props2.document,
|
|
453
443
|
scroll = _this$props2.scroll,
|
|
454
444
|
restProps = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
|
|
455
|
-
var _this$
|
|
456
|
-
prevPanel = _this$
|
|
457
|
-
nextPanel = _this$
|
|
458
|
-
activePanel = _this$
|
|
459
|
-
swipeBackPrevPanel = _this$
|
|
460
|
-
swipeBackNextPanel = _this$
|
|
461
|
-
swipeBackResult = _this$
|
|
462
|
-
isBack = _this$
|
|
445
|
+
var _this$state = this.state,
|
|
446
|
+
prevPanel = _this$state.prevPanel,
|
|
447
|
+
nextPanel = _this$state.nextPanel,
|
|
448
|
+
activePanel = _this$state.activePanel,
|
|
449
|
+
swipeBackPrevPanel = _this$state.swipeBackPrevPanel,
|
|
450
|
+
swipeBackNextPanel = _this$state.swipeBackNextPanel,
|
|
451
|
+
swipeBackResult = _this$state.swipeBackResult,
|
|
452
|
+
isBack = _this$state.isBack,
|
|
453
|
+
animated = _this$state.animated;
|
|
463
454
|
var hasPopout = !!popout;
|
|
464
455
|
var hasModal = !!modal;
|
|
465
456
|
var panels = this.panels.filter(function (panel) {
|
|
466
457
|
var panelId = (0, _getNavId.getNavId)(panel.props, warn);
|
|
467
|
-
return
|
|
458
|
+
return _this4.state.visiblePanels.includes(panelId) || panelId === swipeBackPrevPanel || panelId === swipeBackNextPanel;
|
|
468
459
|
});
|
|
469
460
|
var disableAnimation = this.shouldDisableTransitionMotion();
|
|
470
461
|
var modifiers = {
|
|
471
|
-
'View--animated': !disableAnimation &&
|
|
462
|
+
'View--animated': !disableAnimation && animated,
|
|
472
463
|
'View--swiping-back': !disableAnimation && this.state.swipingBack,
|
|
473
464
|
'View--no-motion': disableAnimation
|
|
474
465
|
};
|
|
@@ -483,6 +474,7 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
483
474
|
}, panels.map(function (panel) {
|
|
484
475
|
var panelId = (0, _getNavId.getNavId)(panel.props, warn);
|
|
485
476
|
var isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;
|
|
477
|
+
var isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);
|
|
486
478
|
var compensateScroll = isPrev || panelId === swipeBackNextPanel || panelId === nextPanel && isBack;
|
|
487
479
|
return (0, _jsxRuntime.createScopedElement)("div", {
|
|
488
480
|
vkuiClass: (0, _classNames.classNames)('View__panel', {
|
|
@@ -494,15 +486,16 @@ var View = /*#__PURE__*/function (_React$Component) {
|
|
|
494
486
|
'View__panel--swipe-back-success': swipeBackResult === SwipeBackResults.success,
|
|
495
487
|
'View__panel--swipe-back-failed': swipeBackResult === SwipeBackResults.fail
|
|
496
488
|
}),
|
|
489
|
+
onAnimationEnd: isTransitionTarget ? _this4.transitionEndHandler : null,
|
|
497
490
|
ref: function ref(el) {
|
|
498
|
-
return
|
|
491
|
+
return _this4.panelNodes[panelId] = el;
|
|
499
492
|
},
|
|
500
|
-
style:
|
|
493
|
+
style: _this4.calcPanelSwipeStyles(panelId),
|
|
501
494
|
key: panelId
|
|
502
495
|
}, (0, _jsxRuntime.createScopedElement)("div", {
|
|
503
496
|
vkuiClass: "View__panel-in",
|
|
504
497
|
style: {
|
|
505
|
-
marginTop: compensateScroll ? -
|
|
498
|
+
marginTop: compensateScroll ? -_this4.scrolls[panelId] : null
|
|
506
499
|
}
|
|
507
500
|
}, (0, _jsxRuntime.createScopedElement)(_NavTransitionContext.NavTransitionProvider, {
|
|
508
501
|
entering: panelId === nextPanel || panelId === swipeBackNextPanel
|