Size: a a a

2020 December 03

EG

Eugene Gromov in БЭМ
Vitaly Harisov
Да, ду ват эвер ю вонт
Спасибо
источник

VH

Vitaly Harisov in БЭМ
Eugene Gromov
Спасибо
Нема за що
источник

VH

Vitaly Harisov in БЭМ
Eugene Gromov
А сочетать их можно? Например в блоке table заданы fz и color, a на table__header миксуем typo typo—color—grey
color gray не относится к типографике, странно его задавать в typo
источник

EG

Eugene Gromov in БЭМ
Ок
источник
2020 December 04

Prikolist Начрэл... in БЭМ
Вадим
Это понятно, но разработчики библиотеки работают над ней постоянно - им проще и бысрее это воплотить чем мне после работы пилить это)
Привет, я делаю альтернативный ui kit вдохновленный yandex-ui, я открыт для идей. Если тебе есть что предложить, рассказывай и возможно я это реализую в своей версии.

Как ты представляешь конечный результат? Опиши как это должно работать
источник

В

Вадим in БЭМ
Prikolist Начрэл
Привет, я делаю альтернативный ui kit вдохновленный yandex-ui, я открыт для идей. Если тебе есть что предложить, рассказывай и возможно я это реализую в своей версии.

Как ты представляешь конечный результат? Опиши как это должно работать
Сейчас компонент  предварительно нужно собрать руками, указав необходимые модификаторы
Я предлагаю делать это автоматически при помощи бабель плагина который вызов фабрики компонента с проброшенным списком модификаторов разворачивает в то что сейчас делается руками
источник

Prikolist Начрэл... in БЭМ
Вадим
Сейчас компонент  предварительно нужно собрать руками, указав необходимые модификаторы
Я предлагаю делать это автоматически при помощи бабель плагина который вызов фабрики компонента с проброшенным списком модификаторов разворачивает в то что сейчас делается руками
А как это должно работать? Вот я написал модификатор Logger, как я должен его присоеденить?
источник

В

Вадим in БЭМ
Идея была такая

let button = createButton(['logger']);

вместо этого кода бабель плагин должен развернуть обычный код по сборке кнопки с модификатором logger
источник

В

Вадим in БЭМ
интерфейс фабрики понятно что нужно смотреть в каждом случае как реализовывать но в простейшем случае - массив названий модификаторов
источник

Prikolist Начрэл... in БЭМ
Вадим
Идея была такая

let button = createButton(['logger']);

вместо этого кода бабель плагин должен развернуть обычный код по сборке кнопки с модификатором logger
А что такое logger? Где мы это декларируем?
источник

В

Вадим in БЭМ
декларируем в типах ts
там описываем весь зоопарк модификаторов возможно с параметрами
сама фабрика экспортируется из модуля button
источник

Prikolist Начрэл... in БЭМ
Вадим
декларируем в типах ts
там описываем весь зоопарк модификаторов возможно с параметрами
сама фабрика экспортируется из модуля button
Вот смотри, я как пользователь компонента, написал для кнопки модификатор logger. Расскажи о том, что я должен сделать, что бы получить кнопку с этим модификатором
источник

В

Вадим in БЭМ
- импортировать createButton из модуля button
- создать компонент let button = createButton([...]) указав фабрике список модификаторов
- в самом модуле button естесственно нужно будет расширить описание типов для фабрики и модифицировать плагин бабеля чтобы он мог реализовывать этот модификатор
источник

Prikolist Начрэл... in БЭМ
Вадим
- импортировать createButton из модуля button
- создать компонент let button = createButton([...]) указав фабрике список модификаторов
- в самом модуле button естесственно нужно будет расширить описание типов для фабрики и модифицировать плагин бабеля чтобы он мог реализовывать этот модификатор
А как именно указывать? Если в виде строк, то как сборщик поймёт, где искать модификатор?
источник

В

Вадим in БЭМ
Prikolist Начрэл
А как именно указывать? Если в виде строк, то как сборщик поймёт, где искать модификатор?
все соглашения в бабель плагине и описании типов для фабрики
источник

Prikolist Начрэл... in БЭМ
Вадим
все соглашения в бабель плагине и описании типов для фабрики
Какие соглашения? Уточни, что я должен сделать ещё?
источник

В

Вадим in БЭМ
соглашение о том что строка logger будет соответствовать какому-то коду в бабель плагине
источник

В

Вадим in БЭМ
это все для маинтейнеров билиотеки
если же юзер захочет добавить свой модификатор - он должен будет действовать по стандартной схеме (потому как лезть в бабель плагин у него не получится да и не зачем ему это)
источник

Prikolist Начрэл... in БЭМ
До сих пор не понимаю, что я должен сделать как пользователь? Можешь ещё раз описать мои действия?

Сейчас я просто создаю бандл компонента и использую его. Делаю это так:
- Импортирую базовый компонент
- Импортирую все модификаторы
- Импортирую хелпер для композиции
- Собираю с помощью хэлпера компонент с всеми модификаторами
- Экспортирую компонент

Теперь я могу импортировать компонент с указанными в бандле модификаторами.

Опиши подобную инструкцию для своего предложения
источник

В

Вадим in БЭМ
все то что ты описал заменяешь на

- импортировать createButton из модуля button
- создать компонент let button = createButton([...]) указав фабрике список модификаторов

и экспортируешь готовый компонент или используешь прям в том модуле в котором создаешь его
(а бабель плагин делает то что ты написал)
источник