Используется для реализации составного блока, который объединяет всплывающий блок (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 : 'Второй пункт'
}
]
}
}