Skip to content

feat(Popover,Tooltip): add long-press trigger#9191

Closed
EldarMuhamethanov wants to merge 9 commits intomasterfrom
e.muhamethanov/9091/tooltip-trigger-longpress
Closed

feat(Popover,Tooltip): add long-press trigger#9191
EldarMuhamethanov wants to merge 9 commits intomasterfrom
e.muhamethanov/9091/tooltip-trigger-longpress

Conversation

@EldarMuhamethanov
Copy link
Copy Markdown
Contributor


  • Unit-тесты
  • Документация фичи
  • Release notes

Описание

Проблема

Сейчас тултипы на мобильных устройствах работают не очень правильно. Появляются при первом клике на тултип, закрываются при втором клике. И чтобы открыть его снова нужно сначала нажать в другое место. Это происходит потому, что на мобильном устройстве тултип реагирует на фокус в таргет-элемент

Решение

Поресерчив реализации тултипов в других либах, нашел реализацию в mui, где на мобильных устройствах тултип появляется при длительном нажатии на элемент. Решил выбрать такой же подход.

Изменения

  • Реализовал хук useLongpress, который реализует логику вызова колбэка при долгом нажатия.
  • Реализовал хук useMatchMedia и useHoverSupported для того, чтобы определять, что устройство, где открыто приложение не имеет ховера
  • Добавил для Popover, Tooltip дополнительный trigger - "longpress", а также свойство longpressDelay, которое позволяет изменить время нажатия.
  • Добавил для Tooltip логику, что при отстутсвии ховера на устройстве тригером становился longpress

Release notes

Улучшения

  • Popover: Добавлен новый тригер для открытия всплывающего элемент - longpress
  • Tooltip: Теперь тултипы на мобильных устройствах будут открываться при долгом нажатии на якорный элемент

@EldarMuhamethanov EldarMuhamethanov requested a review from a team as a code owner November 20, 2025 09:06
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Nov 20, 2025

e2e tests

Playwright Report

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Nov 20, 2025

📊 Найдены изменения в собранных файлах: Отчет

Commit de33715

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Nov 20, 2025

👀 Docs deployed

📦 Package ✅

yarn add @vkontakte/vkui@https://development.s3.prodcloud.vk.team/pull/9191/de33715e065153b7fcada6fff9f9c2cfaeddac70/pkg/@vkontakte/vkui/_pkg.tgz

Commit de33715

@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 20, 2025

Codecov Report

❌ Patch coverage is 72.34043% with 39 lines in your changes missing coverage. Please review.
✅ Project coverage is 94.47%. Comparing base (6e3da5e) to head (de33715).
⚠️ Report is 243 commits behind head on master.

Files with missing lines Patch % Lines
...ingWithInteractions/useFloatingWithInteractions.ts 63.41% 15 Missing ⚠️
packages/vkui/src/hooks/useMediaQuery.ts 0.00% 14 Missing ⚠️
packages/vkui/src/hooks/useHoverSupported.ts 0.00% 3 Missing ⚠️
...eFloatingWithInteractions/useResolveTriggerType.ts 0.00% 3 Missing ⚠️
...ackages/vkui/src/components/Tooltip/useTooltip.tsx 66.66% 2 Missing ⚠️
packages/vkui/src/hooks/useLongPress.ts 96.66% 2 Missing ⚠️
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     
Flag Coverage Δ
unittests 94.47% <72.34%> (-0.26%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread packages/vkui/src/hooks/useLongPress.ts Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Nov 20, 2025

size-limit report 📦

Path Size
JS 414.17 KB (+0.54% 🔺)
JS (gzip) 127.13 KB (+0.52% 🔺)
JS (brotli) 104.74 KB (+0.63% 🔺)
JS import Div (tree shaking) 811 B (0%)
CSS 373.28 KB (0%)
CSS (gzip) 46.25 KB (0%)
CSS (brotli) 36.58 KB (0%)

@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Nov 28, 2025
@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Dec 7, 2025
@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Dec 17, 2025
@vkcom-publisher vkcom-publisher added the pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности label Dec 26, 2025
@vkcom-publisher
Copy link
Copy Markdown
Contributor

PR закрыт из-за отсутствия активности в течение последних 14 дней. Если это произошло по ошибке или изменения все ещё актуальны, откройте PR повторно.

@EldarMuhamethanov EldarMuhamethanov added no-stale Добавляет PR в исключения для автоматического закрытия and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Jan 12, 2026
# Conflicts:
#	packages/vkui/src/components/Tooltip/Tooltip.tsx
#	packages/vkui/src/components/Tooltip/useTooltip.tsx
@EldarMuhamethanov EldarMuhamethanov added this to the v8.1.0 milestone Jan 16, 2026
@inomdzhon inomdzhon removed this from the v8.1.0 milestone Mar 30, 2026
@inomdzhon
Copy link
Copy Markdown
Contributor

В дизайне не апрувнули такое решение

@inomdzhon inomdzhon closed this Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-stale Добавляет PR в исключения для автоматического закрытия

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature][Tooltip]: доработать поведение тултипа на мобильных устройствах

3 participants