Skip to content

[BREAKING CHANGE][Epic][restProps]: Добавить возможность прокидывать props для дочерних компонентов #2342

@stoope

Description

@stoope

Проблема

Сейчас restProps не всегда прокидываются на рутовый элемент, это вызывает неожиданное поведение.

Нужно добиться следующего поведения:

  1. restProps всегда прокидываются на рутовый элемент
  2. Добавить возможность прокидывать свойства для внутренних компонентов

Список таких компонентов см. #2342 (comment)

Решение

см. Вариант 1 в #2342 (comment)

Требования

Кодмод

Хотя бы частично, прописать кодмоды на миграцию. Учитывать кейс, что slotProps.<element>.<prop> уже может быть передан.

Это точно свойства:

  • data-<name>slotProps.<element>['data-<name>']
  • aria-<name>slotProps.<element>['aria-<name>']
  • getRefslotProps.<element>.getRootRef
  • on<event>slotProps.<element>.on<event>⚠️ для каждого компонента, нужно будет составить список исключений с событиями из базового интерфейса (например, onChange в Switch остаётся на месте)

Специфичные свойства будут упомянуты в отдельных задачах.

Миграция

Помимо кодмод, по каждом компоненту нужно создать секцию в документации по миграции (не забыть упомянуть кодмод).

Референс https://mui.com/material-ui/migration/migrating-from-deprecated-apis/#accordion

Metadata

Metadata

Projects

Status

✅ Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions