Skip to content

[Feature] Прокидывание пользовательских стилей в Input без враппера #686

@comfrt1k

Description

@comfrt1k

С чем связан запрос?

В @atls-ui-parts/input основной Input сейчас собирает стили через внутренний recipe-контракт size/variant. Пользовательский className фактически может перетереть внутренний className, потому что props спредятся после className. Из-за этого для прикладной стилизации нужен wrapper или риск сломать базовые стили.

Опиши план реализации

Перевести Input на явный публичный контракт по аналогии с Button: разделить визуальное состояние и форму на appearance и shape, оставить className как escape hatch и мержить его с внутренними классами корневого input.

Критерии готовности выполнения задачи

  • Input принимает appearance, shape и className.
  • className мержится с внутренними классами и не перетирает базовый стиль.
  • Существующие состояния disabled, размеры и варианты сохранены через новый контракт.
  • Stories обновлены под новый контракт.
  • Сборка @atls-ui-parts/input проходит без ошибок.

Metadata

Metadata

Assignees

Labels

No labels
No labels
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions