-
Notifications
You must be signed in to change notification settings - Fork 197
feat(Popover,Tooltip): add long-press trigger #9191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
feat(Popover,Tooltip): add long-press trigger #9191
Conversation
e2e tests |
👀 Docs deployed
📦 Package ✅yarn add @vkontakte/vkui@https://development.s3.prodcloud.vk.team/pull/9191/de33715e065153b7fcada6fff9f9c2cfaeddac70/pkg/@vkontakte/vkui/_pkg.tgzCommit de33715 |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #9191 +/- ##
==========================================
- Coverage 94.73% 94.47% -0.26%
==========================================
Files 440 444 +4
Lines 11898 12019 +121
Branches 4386 4413 +27
==========================================
+ Hits 11271 11355 +84
- Misses 627 664 +37
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
size-limit report 📦
|
|
PR закрыт из-за отсутствия активности в течение последних 14 дней. Если это произошло по ошибке или изменения все ещё актуальны, откройте PR повторно. |
# Conflicts: # packages/vkui/src/components/Tooltip/Tooltip.tsx # packages/vkui/src/components/Tooltip/useTooltip.tsx
Описание
Проблема
Сейчас тултипы на мобильных устройствах работают не очень правильно. Появляются при первом клике на тултип, закрываются при втором клике. И чтобы открыть его снова нужно сначала нажать в другое место. Это происходит потому, что на мобильном устройстве тултип реагирует на фокус в таргет-элемент
Решение
Поресерчив реализации тултипов в других либах, нашел реализацию в mui, где на мобильных устройствах тултип появляется при длительном нажатии на элемент. Решил выбрать такой же подход.
Изменения
useLongpress, который реализует логику вызова колбэка при долгом нажатия.useMatchMediaиuseHoverSupportedдля того, чтобы определять, что устройство, где открыто приложение не имеет ховераPopover,Tooltipдополнительныйtrigger-"longpress", а также свойствоlongpressDelay, которое позволяет изменить время нажатия.Tooltipлогику, что при отстутсвии ховера на устройстве тригером становилсяlongpressRelease notes
Улучшения
longpress