Используется для реализации составного блока, который объединяет всплывающий блок (popup) и вызывающий его управляющий компонент (например, кнопку или ссылку).
Модификатор | Допустимые значения | Способы использования | Описание |
---|---|---|---|
switcher | 'link' , 'button' |
BEMJSON |
Тип управляющего компонента. Модификатор является обязательным. |
disabled | true |
BEMJSON , JS |
Неактивное состояние. |
opened | true |
JS |
Отображение всплывающего блока на странице. |
theme | 'islands' |
BEMJSON |
Стилевое оформление. |
size | 's' , 'm' , 'l' , 'xl' |
BEMJSON |
Размер управляющего компонента. |
Поле | Тип | Описание |
---|---|---|
switcher | String , BEMJSON |
Содержимое управляющего компонента. |
popup | String , BEMJSON |
Содержимое всплывающего окна. |
Допустимые значения: link
, button
.
Способ использования: BEMJSON
.
Модификатор switcher
отвечает за то, какой блок будет использоваться в качестве управляющего компонента:
Используется для представления управляющего компонента блоком link.
Нажатие на ссылку вызывает всплывающий блок. Переход по ссылке не осуществляется.
{
block : 'dropdown',
mods : { switcher : 'link', theme : 'islands', size : 'm' },
switcher : 'Узнать об акциях на сайте',
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
Используется для представления управляющего компонента блоком button.
{
block : 'dropdown',
mods : { switcher : 'button', theme : 'islands', size : 'm' },
switcher : 'Узнать об акциях на сайте',
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
Допустимое значение: true
.
Способы использования: BEMJSON
, JS
.
Отвечает за неактивное состояние, при котором блок виден, но недоступен для действий пользователя.
{
block : 'dropdown',
mods : { switcher : 'link', theme : 'islands', size : 'm', disabled : true },
switcher : 'Узнать об акциях на сайте',
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
{
block : 'dropdown',
mods : { switcher : 'button', theme : 'islands', size : 'm', disabled : true },
switcher : 'Узнать об акциях на сайте',
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
Допустимое значение: true
.
Способ использования: JS
.
Выставляется блоку автоматически при открытии всплывающего окна.
Допустимое значение: islands
.
Способы использования: BEMJSON
.
Необходимо использовать с модификатором size.
Отвечает за стилевое оформление блока и может быть задан:
- блоку
dropdown
в целом
{
block : 'dropdown',
mods : { switcher : 'link', theme : 'islands', size : 'm' },
switcher : 'Узнать об акциях на сайте',
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
{
block : 'dropdown',
mods : { switcher : 'button', theme : 'islands', size : 'm' },
switcher : 'Узнать об акциях на сайте',
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
- управляющему элементу, если в поле switcher пробрасывается BEMJSON блока link или button.
{
block : 'dropdown',
mods : { switcher : 'link', theme : 'islands', size : 'm' },
switcher : {
block : 'link',
mods : { pseudo : true, theme : 'islands', size : 'm' },
content : 'Узнать об акциях на сайте'
},
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
{
block : 'dropdown',
mods : { switcher : 'button', theme : 'islands', size : 'm' },
switcher : {
block : 'button',
mods : { togglable : 'check', theme : 'islands', size : 'm', },
text : 'Узнать об акциях на сайте'
},
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
Допустимые значения для темы islands
: 's'
, 'm'
, 'l'
, 'xl'
.
Способ использования: BEMJSON
.
Задает размер управляющему элементу.
Необходимо использовать с модификатором theme в значении islands
.
Модификатор size
может быть задан:
- блоку
dropdown
в целом
{
block : 'dropdown',
mods : { switcher : 'button', theme : 'islands', size : 'm' },
switcher : 'Узнать об акциях на сайте',
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
- управляющему элементу, если в поле switcher пробрасывается BEMJSON блока link или button.
{
block : 'dropdown',
mods : { switcher : 'button', theme : 'islands', size : 'm' },
switcher : {
block : 'button',
mods : { togglable : 'check', theme : 'islands', size : 'm' },
text : 'Узнать об акциях на сайте'
},
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
Тип: String
, BEMJSON
.
Определяет содержимое управляющего компонента.
{
block : 'dropdown',
mods : { switcher : 'link', theme : 'islands', size : 'm' },
switcher : {
block : 'link',
mods : { pseudo : true },
content : 'Узнать об акциях на сайте'
},
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
{
block : 'dropdown',
mods : { switcher : 'button', theme : 'islands', size : 'm' },
switcher : {
block : 'button',
mods : { togglable : 'check' },
text : 'Узнать об акциях на сайте'
},
popup : 'Скидка 30% на новую коллекцию. Для активации акции нужно ввести промокод.'
}
Тип: String
, BEMJSON
.
Определяет содержимое всплывающего окна.
{
block : 'dropdown',
mods : { switcher : 'link', theme : 'islands', size : 'm' },
switcher : 'Узнать об акциях на сайте',
popup : 'Скидка 30%'
}
{
block : 'dropdown',
mods : {
switcher : 'button',
theme : 'islands',
size : 'xl'
},
switcher : 'Выпадающий список',
popup : {
block : 'menu',
mods : {
theme : 'islands',
size : 'xl',
select : 'check'
},
content : [
{
block : 'menu-item',
val : 1,
content : 'Первый пункт'
},
{
block : 'menu-item',
val : 2,
content : 'Второй пункт'
}
]
}
}