S🌍
Size: a a a
VG
SB
extend, а в модификаторе блока вызываю content(), но extend() из основного блока вызывается позже:// block.bemtree.js
block( 'block' )( {
extend: {
hello: 'world'
},
} );
// block_view_preview.bemtree.js
block( 'block' ).mod( 'view', 'preview' ).content()( ( node, { hello } ) => ( {
elem: 'content',
content: hello
} ) );
extend() из block.bemtree.js раньше content() block_view_preview.bemtree.js ? Через applyNext() или через mustDeps?SB
// block_view_preview.bemtree.js
block( 'block' ).mod( 'view', 'preview' ).content()( ({ hello }) => ( {
elem: 'content',
content: hello
} ) );
Р
Р
// block_view_preview.bemtree.js
block( 'block' ).mod( 'view', 'preview' ).content()( ({ hello }) => ( {
elem: 'content',
content: hello
} ) );
block( 'block' )( {
extend: {
'ctx.hello': 'world'
},
} );Р
// block_view_preview.bemtree.js
block( 'block' ).mod( 'view', 'preview' ).content()( ({ hello }) => ( {
elem: 'content',
content: hello
} ) );
SB
SB
input есть 2 псевдокласса valid и invalid.... .Input_valid и .Input_invalid (сейчас в проекте так реализовано), но они взаимоисключающие.valid, но так менее красиво :).Input_valid_yes и .Input_valid_no NS
input есть 2 псевдокласса valid и invalid.... .Input_valid и .Input_invalid (сейчас в проекте так реализовано), но они взаимоисключающие.valid, но так менее красиво :).Input_valid_yes и .Input_valid_no .input_status_error .input_status_saccess .input_status_info в этом случае тогда можно не только 2 кейся обработать. Возможно кто-то что-то другое посоветуетNU
V
input есть 2 псевдокласса valid и invalid.... .Input_valid и .Input_invalid (сейчас в проекте так реализовано), но они взаимоисключающие.valid, но так менее красиво :).Input_valid_yes и .Input_valid_no valid (прим.) имеющие состояния `boolean | undefined' (null), те либо валидный, либо не валидный, либо никакой?SB
Checkbox
Checkbox.cssНужно сразу сделать это и для других платформ
Checkbox.tsx
Checkbox@desktop.tsxКоторые будут просто проксирующими заглушками common.
Checkbox@touch-phone.tsx
_size/Checkbox_size_l.cssИ элементов
_size/Checkbox_size_l.tsx
_size/Checkbox_size_l@desktop.tsx
_size/Checkbox_size_l@touch-phone.css
_size/Checkbox_size_l@touch-phone.tsx
Box/Checkbox-Box.cssТ.е. если мы сейчас находимся в рамках платформы
Box/Checkbox-Box.tsx
Box/Checkbox-Box@desktop.tsx
Box/Checkbox-Box@touch-phone.css
Box/Checkbox-Box@touch-phone.tsx
touch-phone, то подключение блоков из common является плохим тоном.// MyBlock@touch-phone.tsxТакое подключение может вести к неожиданным последствиям.
import { Checkbox } from '../components/Checkbox/Checkbox'
import { withSizeL } from '../components/Checkbox/_size/Checkbox_size_l'
Checkbox без разбивки на платформы// MyDeepBlock@touch-phone.tsxВ результате чего наш
import { Checkbox } from '../components/Checkbox/Checkbox@touch-phone'
import { withSizeL } from '../components/Checkbox/_size/Checkbox_size_l@touch-phone'
MyBlock, который использовал стили из common будет выглядеть не как задумывался.@bem-react/di становится практически обязательной частью (но это не точно).VN
ИВ
SB
ИВ
ИВ
SB