Size: a a a

2020 March 18

EF

Elect Freak in БЭМ
Elect Freak
Так это на весь контейнер персонажа, а внутри все стилизовать как? Селекторами наследования .class1 .class2?
То есть вот так
источник

EF

Elect Freak in БЭМ
Да
источник

EF

Elect Freak in БЭМ
Ок, спасибо, ребята.
источник

EF

Elect Freak in БЭМ
Eugeniy World
.person_size_m .person__name
да, этот случай даже в доке описан. Просто скидываю, если кому-то интересно. А то такой паттерн у меня в прошлом уже встречался
источник

EF

Elect Freak in БЭМ
Разрешает ли БЭМ использовать каскад для задания внешней геометрии одного блока внутри другого блока?
источник

EB

Evgeniy Baranov in БЭМ
Elect Freak
Разрешает ли БЭМ использовать каскад для задания внешней геометрии одного блока внутри другого блока?
Возможно лучше примиксовать элемент родительского блока, и задать геометрию элементу
источник

EF

Elect Freak in БЭМ
Evgeniy Baranov
Возможно лучше примиксовать элемент родительского блока, и задать геометрию элементу
да, я думал об этом, но в голове возникло «зачем, если можно…»
источник

EB

Evgeniy Baranov in БЭМ
Eugeniy World
Например:

import 'my-styles.css'


Явно мы из модуля ничего не забираем, поэтому вебпак по дефолту пометит его как unused и выкенет из сборки, но мы можем сказать, что все *.css файлы имеют сайд-эффект, т.е. как-то влияют на наш общий код и вебпак не будет выкидывать его из сборки
После удаления sideEffects из package.json
1. Стили продолжают работать
2. перестал вырезаться модуль с registry Textinput`a
О webpack!.. 🤯
источник
2020 March 19

VH

Vitaly Harisov in БЭМ
Elect Freak
Разрешает ли БЭМ использовать каскад для задания внешней геометрии одного блока внутри другого блока?
Нет
источник

VH

Vitaly Harisov in БЭМ
Elect Freak
Стараюсь придерживаться БЭМ. Есть разные персонажи – "феодал" (на странице один) и "вассалы". Их многое объединяет, поэтому напрашивается общий класс, например, person. Тогда Феодал и Вассал будут модификаторами блока – person_feodal, person_vassal. Какие классы дать их именам и "званиям"? Ведь в зависимости от того, феодал это или вассал, размер шрифта будет отличаться, а согласно методологии, нельзя делать "элементы элементов". Верный ли ход мысли в целом?
person_feodal и person_vassal могут использоваться одновременно на одном блоке по определению булевого модификатора, лучше так не делать. Правильнее одно имя модификатора и разные значения — person_type_feodal и person_type_vassal
источник
2020 March 24

n⚡

neomad ⚡️ in БЭМ
есть способ подружить bemjson и react ?
источник

Р

Роман in БЭМ
Можно из bemjson генерить JSX
источник

Р

Роман in БЭМ
А что за кейс? Мне тоже интересен такой симбиоз для своих проектов
источник

EW

Eugeniy World in БЭМ
Что дает конкретно bemjson, что нельзя выразить в jsx?
источник

Р

Роман in БЭМ
Eugeniy World
Что дает конкретно bemjson, что нельзя выразить в jsx?
1) Возможность не трогать руками XML (JSX)
2) Декларативность (если генерировать bemjson с помощью XJST)

Вроде, всё. Ну и для bemjson шаблоны уже готовы. Проще сказать наоборот: единственное, чего не хватает в bemjson — это «реактивность».
источник

EW

Eugeniy World in БЭМ
Все равно пока не особо понятно, что значит не трогать jsx?
Про декларативность, jsx вполне декларативен :)
источник

Р

Роман in БЭМ
Eugeniy World
Все равно пока не особо понятно, что значит не трогать jsx?
Про декларативность, jsx вполне декларативен :)
JSX чрезмерно избыточен (как и XML/HTML) — дублирование закрывающих тегов.

Не такой декларативный, как XJST. Как в JSX добавить атрибут aria-hidden=true всем <a>-тегам, у которых есть атрибут disabled без поиска по всему дереву (причём не только в рантайме, а до рендера в браузер) ?
источник

EW

Eugeniy World in БЭМ
Ну, мы как правило работаем с компонентами, поэтому во всем проекте если есть ссылки, то они беруться из одного места и добавить для них атрибут не составляет трудности, до рендера в браузере — есть SSR, который подготавливает все на сервере :)
источник

EW

Eugeniy World in БЭМ
Роман
JSX чрезмерно избыточен (как и XML/HTML) — дублирование закрывающих тегов.

Не такой декларативный, как XJST. Как в JSX добавить атрибут aria-hidden=true всем <a>-тегам, у которых есть атрибут disabled без поиска по всему дереву (причём не только в рантайме, а до рендера в браузер) ?
Ну, тут скорее дело вкуса, чем плюс или минус :)
источник

Р

Роман in БЭМ
Eugeniy World
Ну, тут скорее дело вкуса, чем плюс или минус :)
Хм. Да, согласен, вкусовщина. Привык к json, от JSX теперь «воротит» 🤮

Ок, а что на счёт выразительности? Даже с compose / composeU выглядит удручающе. Или тоже дело привычки? Попробовал сверстать (только вёрстку!) блок Button с помощью @bem-react по аналогии с bem-components — стремновасто.
источник