Skip to content

feat(PanelHeader,PanelHeaderContext): remove FixedLayout using#9765

Open
EldarMuhamethanov wants to merge 6 commits into
masterfrom
e.muhamethanov/9357/remove-fixed-layout-using
Open

feat(PanelHeader,PanelHeaderContext): remove FixedLayout using#9765
EldarMuhamethanov wants to merge 6 commits into
masterfrom
e.muhamethanov/9357/remove-fixed-layout-using

Conversation

@EldarMuhamethanov

@EldarMuhamethanov EldarMuhamethanov commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

  • Unit-тесты
  • e2e-тесты
  • Release notes

Описание

Избавился от FixedLayout в PanelHeader и PanelHeaderContext. В PanelHeaderContext использовал Popover

Также в Box доработал свойство Component, чтобы можно было прокидывать несколько декораторов

Release notes

Улучшения

  • PanelHeader: удалили использование устаревшего FixedLayout в реализации компонента
  • PanelHeaderContext: удалили использование устаревшего FixedLayout в реализации компонента

@EldarMuhamethanov EldarMuhamethanov requested a review from a team as a code owner April 27, 2026 14:54
@github-actions

github-actions Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size
JS 426.32 KB (+0.18% 🔺)
JS (gzip) 131.51 KB (+0.2% 🔺)
JS (brotli) 108.46 KB (+0.13% 🔺)
JS import Div (tree shaking) 811 B (0%)
CSS 383.05 KB (+0.05% 🔺)
CSS (gzip) 46.92 KB (+0.04% 🔺)
CSS (brotli) 37.01 KB (+0.03% 🔺)

@github-actions

github-actions Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

e2e tests

Playwright Report

@github-actions

github-actions Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

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

Commit cc7ba10

@github-actions

github-actions Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

👀 Docs deployed

📦 Package ✅

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

Commit cc7ba10

@codecov

codecov Bot commented Apr 27, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 89.47368% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.20%. Comparing base (d6c1191) to head (cc7ba10).
⚠️ Report is 126 commits behind head on master.

Files with missing lines Patch % Lines
...rc/components/FixedLayout/SplitColWidthWrapper.tsx 84.21% 3 Missing ⚠️
packages/vkui/src/components/Box/Box.tsx 91.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9765      +/-   ##
==========================================
- Coverage   95.22%   95.20%   -0.02%     
==========================================
  Files         462      464       +2     
  Lines       12512    12562      +50     
  Branches     4478     4494      +16     
==========================================
+ Hits        11914    11960      +46     
- Misses        598      602       +4     
Flag Coverage Δ
unittests 95.20% <89.47%> (-0.02%) ⬇️

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

☔ View full report in Codecov by Harness.
📢 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.


export interface BoxProps extends Omit<RootComponentProps<HTMLElement>, 'Component'>, LayoutProps {
/**
*

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Пустой комментарий

/>
<div
data-testid={process.env.NODE_ENV === 'test' ? 'content' : undefined}
<Popover

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Насколько мы можем отказаться от Popover-а?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вообще можно оставить старую реализации всплывашки, но в issue привязанном написано переписать на Popover

@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels May 7, 2026
@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels May 15, 2026
@vkcom-publisher vkcom-publisher added the pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности label Jun 1, 2026
@vkcom-publisher

Copy link
Copy Markdown
Contributor

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

@inomdzhon inomdzhon reopened this Jun 22, 2026
@vkcom-publisher vkcom-publisher removed the pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности label Jun 22, 2026
@@ -43,6 +45,8 @@ export interface PanelHeaderContextProps extends HTMLAttributesWithRootRef<HTMLD
onClose: VoidFunction;
}

const ComponentDecorators = [SplitColWidthWrapper, OnboardingTooltipFixedContainer];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Есть кейсы когда для PanelHeaderContext нужен OnboardingTooltipFixedContainer?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сложно сказать. Я в целом не особо вижу смысл в компоненте OnboardingTooltipContainer. Так сделал скорее, чтобы старое поведение сохранить и ничего не сломать

export interface BoxProps extends RootComponentProps<HTMLElement>, LayoutProps {
type BoxComponent = RootComponentProps<HTMLElement>['Component'] | React.ElementType[];

function composeComponents(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кажется слишком мощная затея + пересекается #9918

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature][PanelHeaderContext]: избавиться от использования FixedLayout

4 participants