Skip to content

[Deprecated]: Задепрекейтить FixedLayout #2674

@eugpoloz

Description

@eugpoloz

Список задач на основе фильтра по issues.

Задачи, связанные с компонентом:


Проблема

В рамках PR #9252 изучил возможность заменить в FixedLayout свойство position: fixed на position: sticky – вкратце, так сделать не можем, т.к. на position: fixed уже много чего завязано. Это будет breaking change без возможности покрыть его кодмодом, требующий от пользователей перелопатить вёрстку, в частности, в местах использования компонента с vertical="bottom", потому что сейчас можно не беспокоится о расположении компонента в потоке и его могут хоть где рендерить.

<View activePanel="root">
  <Panel id="root">
    <PanelHeader>Header</PanelHeader>
     <FixedLayout vertical="bottom">Footer</FixedLayout>
     <Group>Body</Group>
  </Panel>
</View>

Решение

Здесь проще будет всё же избавиться от FixedLayout в VKUI v11.

Что для этого нужно сделать сейчас:

  • Реализовать задачу [Feature][Layout]: Расширить свойство position значением sticky #9253, чтобы появилась альтернатива в виде Box с position="sticky".
  • Отметить компонент FixedLayout как @deprecated
    • комментарий, что удаляем в VKUI v10, используйте Box с position: sticky;
    • warnOnce с тем же комментарием
  • Добавить в документациях (website/ и FixedLayout.stories.tsx) инфомрацию про депрекейт и то, как переписать его на Box.

Далее отдельными задачами заменить использование FixedLayout внутри библиотеки:

  • Удалить из PullToRefresh.
  • Удалить из PanelHeaderContext – использовать Popover.
  • Избавиться от применения стилей vkuiInternalFixedLayout--ios и vkuiInternalFixedLayout--vertical-bottom (сейчас используется в Tabs).

Metadata

Metadata

Assignees

Projects

Status

✅ Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions