consta-design-system / uikit

https://consta.design/libs/uikit
MIT License
231 stars 93 forks source link

Рефакторинг и приведение кода в консистентное состояние #3708

Open ZettZet opened 3 months ago

ZettZet commented 3 months ago

Основное:

От компонента к компоненту различаются элементы, экспортируемые из библиотеки:

Как например типов для таблицы, callback'и приходится типизировать вручную

Например cnButton экспортируется. Это важно, когда хочется переиспользовать стили; или создать кастомный компонент, совместимый с consta, но его сложно создать on top of consta компонента (много изменений или невозможность переопределения поведения) Дополнительно, эти функции можно протипизировать

В той же таблице, типы callback'ов в camelCase, в TextField пропс называется с указанием компонента, в каком-нибудь Select без

Все эти моменты, после их решение и выработки общего правила (например, что обязательно должно экспортироваться, или как должны называться типы), следует добавить в гайд по стилю кода и/или гайд контрибьютерам


Дополнительное:

Как я писал в #3627, вариантов для отображения дополнительных элементов может быть бесконечно много, и зачастую они могут конфликтовать друг с другом. Одним из вариантов может стать применение некоторых паттернов, как Compound components, Function as a children component, и их комбинация. На их основе можно создавать модульные каркасы, не привязанные к пропсам

gizeasy commented 3 months ago

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