Проблема
Сейчас restProps не всегда прокидываются на рутовый элемент, это вызывает неожиданное поведение.
Нужно добиться следующего поведения:
restProps всегда прокидываются на рутовый элемент
- Добавить возможность прокидывать свойства для внутренних компонентов
Список таких компонентов см. #2342 (comment)
Решение
см. Вариант 1 в #2342 (comment)
Требования
Кодмод
Хотя бы частично, прописать кодмоды на миграцию. Учитывать кейс, что slotProps.<element>.<prop> уже может быть передан.
Это точно свойства:
data-<name> → slotProps.<element>['data-<name>']
aria-<name> → slotProps.<element>['aria-<name>']
getRef → slotProps.<element>.getRootRef
on<event> → slotProps.<element>.on<event> – ⚠️ для каждого компонента, нужно будет составить список исключений с событиями из базового интерфейса (например, onChange в Switch остаётся на месте)
Специфичные свойства будут упомянуты в отдельных задачах.
Миграция
Помимо кодмод, по каждом компоненту нужно создать секцию в документации по миграции (не забыть упомянуть кодмод).
Референс https://mui.com/material-ui/migration/migrating-from-deprecated-apis/#accordion
Проблема
Сейчас
restPropsне всегда прокидываются на рутовый элемент, это вызывает неожиданное поведение.Нужно добиться следующего поведения:
restPropsвсегда прокидываются на рутовый элементСписок таких компонентов см. #2342 (comment)
Решение
см. Вариант 1 в #2342 (comment)
Требования
Кодмод
Хотя бы частично, прописать кодмоды на миграцию. Учитывать кейс, что
slotProps.<element>.<prop>уже может быть передан.Это точно свойства:
data-<name>→slotProps.<element>['data-<name>']aria-<name>→slotProps.<element>['aria-<name>']getRef→slotProps.<element>.getRootRefon<event>→slotProps.<element>.on<event>–onChangeвSwitchостаётся на месте)Специфичные свойства будут упомянуты в отдельных задачах.
Миграция
Помимо кодмод, по каждом компоненту нужно создать секцию в документации по миграции (не забыть упомянуть кодмод).
Референс https://mui.com/material-ui/migration/migrating-from-deprecated-apis/#accordion