Skip to content

feat(HorizontalScroll): add slotProps to customize arrows and improve positioning of arrows#9374

Merged
EldarMuhamethanov merged 2 commits intomasterfrom
e.muhamethanov/8995/HorizontalScroll-add-slotProps
Apr 6, 2026
Merged

feat(HorizontalScroll): add slotProps to customize arrows and improve positioning of arrows#9374
EldarMuhamethanov merged 2 commits intomasterfrom
e.muhamethanov/8995/HorizontalScroll-add-slotProps

Conversation

@EldarMuhamethanov
Copy link
Copy Markdown
Contributor


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

Описание

Добавлена возможность более гибкого управления позиционированием стрелок в компоненте HorizontalScroll через новое свойство slotProps, а также добавлено горизонтальное смещение иконок стрелок через свойство offsetX в компоненте ScrollArrow.

Основные изменения:

  1. ScrollArrow: Добавлено свойство offsetX для горизонтального смещения иконки стрелки с учетом направления текста (RTL/LTR)
  2. HorizontalScroll:
    • Добавлено свойство slotProps с ключами prevArrow и nextArrow для гибкой настройки стрелок
    • Добавлено свойство arrowOffsetX для горизонтального смещения иконок стрелок (аналогично arrowOffsetY)
    • Задепрекейчены свойства prevButtonTestId и nextButtonTestId с предупреждением в development-режиме

Изменения

ScrollArrow

  • Добавлено свойство offsetX?: number | string для горизонтального смещения иконки
  • Логика применения offsetX учитывает textDirection:
    • Для direction="left": в LTR применяется left, в RTL — right
    • Для direction="right": в LTR применяется right, в RTL — left

HorizontalScroll

  • Добавлено свойство slotProps с типами prevArrow и nextArrow для передачи любых свойств в компоненты стрелок
  • Добавлено свойство arrowOffsetX?: number | string для горизонтального смещения иконок стрелок
  • Свойства prevButtonTestId и nextButtonTestId помечены как @deprecated Since 8.0.0 с предупреждением в development-режиме

Release notes

Улучшения

  • HorizontalScroll:

    • Добавлено свойство slotProps для гибкой настройки стрелок навигации (позволяет передавать любые свойства в prevArrow и nextArrow)
    • Добавлено свойство arrowOffsetX для горизонтального смещения иконок стрелок (аналогично arrowOffsetY для вертикального смещения)
    • Свойства prevButtonTestId и nextButtonTestId помечены как устаревшие, рекомендуется использовать slotProps={ prevArrow: { 'data-testid': ... }, nextArrow: { 'data-testid': ... } }
  • ScrollArrow: Добавлено свойство offsetX для горизонтального смещения иконки стрелки с учетом направления текста (RTL/LTR)

@EldarMuhamethanov EldarMuhamethanov requested a review from a team as a code owner January 19, 2026 08:02
@github-actions
Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size
JS 412.23 KB (+0.07% 🔺)
JS (gzip) 126.6 KB (+0.1% 🔺)
JS (brotli) 104.37 KB (+0.27% 🔺)
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%)

@github-actions
Copy link
Copy Markdown
Contributor

e2e tests

⚠️ Some screenshots were failed. See Playwright Report.

Playwright Report

@github-actions
Copy link
Copy Markdown
Contributor

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

Commit 08afa8f

@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 19, 2026

Codecov Report

❌ Patch coverage is 93.33333% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 94.72%. Comparing base (6e3da5e) to head (08afa8f).
⚠️ Report is 263 commits behind head on master.

Files with missing lines Patch % Lines
...c/components/HorizontalScroll/HorizontalScroll.tsx 80.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9374      +/-   ##
==========================================
- Coverage   94.73%   94.72%   -0.01%     
==========================================
  Files         440      440              
  Lines       11898    11912      +14     
  Branches     4386     4393       +7     
==========================================
+ Hits        11271    11284      +13     
- Misses        627      628       +1     
Flag Coverage Δ
unittests 94.72% <93.33%> (-0.01%) ⬇️

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.

@github-actions
Copy link
Copy Markdown
Contributor

👀 Docs deployed

📦 Package ✅

yarn add @vkontakte/vkui@https://development.s3.prodcloud.vk.team/pull/9374/08afa8f8f19d0d0e4f50487caa15064b4f7567cb/pkg/@vkontakte/vkui/_pkg.tgz

Commit 08afa8f

@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Jan 30, 2026
@vkcom-publisher vkcom-publisher added the pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности label Feb 7, 2026
@EldarMuhamethanov EldarMuhamethanov added no-stale Добавляет PR в исключения для автоматического закрытия and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Feb 12, 2026
@EldarMuhamethanov EldarMuhamethanov merged commit aa858b6 into master Apr 6, 2026
28 of 29 checks passed
@EldarMuhamethanov EldarMuhamethanov deleted the e.muhamethanov/8995/HorizontalScroll-add-slotProps branch April 6, 2026 14:13
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][HorizontalScroll]: Добавить возможность управлять позиционированием стрелок

3 participants