Use this block for managing a group of checkboxes.
Modifier | Acceptable values | Use cases | Description |
---|---|---|---|
type | 'button' , 'line' |
BEMJSON |
The type of checkbox group. |
disabled | true |
BEMJSON , JS |
The disabled state. |
focused | true |
BEMJSON , JS |
The block is in focus. |
theme | 'islands' |
BEMJSON |
A custom design. |
size | 'm' , 'l' |
BEMJSON |
The size of checkbox group. Use sizes only for checkboxes with the theme modifier set to islands. |
Field | Type | description |
---|---|---|
name | String |
The block unique name. |
val | Array |
A set of values for the selected checkboxes. |
options | Array |
A set of values for each checkbox of the group. Each checkbox has its own set of values. |
Use the checkbox-group
block to control the size, state, and appearance of the checkboxes in the group.
Acceptable values: 'button'
, 'line'
.
Use case: BEMJSON
.
Implements the checkbox-group
block using the button-based type of checkboxes.
Grouped button-based checkboxes are always aligned in a line.
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button' },
name : 'checkbox-button',
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
The modifier aligns all checkboxes of the group in a line.
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'line' },
name : 'checkbox-line',
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
Acceptable value: true
.
Use cases: BEMJSON
, JS
.
The modifier makes the block inactive. The disabled block is visible but not available for user actions.
The modifier can be applied to:
- The checkbox-group:
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', disabled : true },
name : 'checkbox',
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button', disabled : true },
name : 'checkbox-button',
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
- The separate checkbox of the group:
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm' },
name : 'checkbox-line',
options : [
{ val : 1, text : 'Block', disabled : true },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button' },
name : 'checkbox-line',
options : [
{ val : 1, text : 'Block', disabled : true },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
Acceptable value: true
.
Use cases: BEMJSON
, JS
.
The modifier puts the focus on the block.
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', focused : true },
name : 'checkbox',
val : [2],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button', focused : true },
name : 'checkbox-button',
val : [2],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
Acceptable value: 'islands'
.
Use case: BEMJSON
.
The modifier gives the block a custom design.
The islands theme requires the size modifier.
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm' },
name : 'checkbox-islands',
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button' },
name : 'checkbox-islands',
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
Acceptable values for the islands
theme: 'm'
, 'l'
.
Use case: BEMJSON
.
Use the size
modifier only for blocks with the islands
theme.
Sets the size value for all types of checkbox groups.
m
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm' },
name : 'checkbox-button',
val : [1, 2],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button' },
name : 'checkbox-button',
val : [2, 3],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
l
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'l' },
name : 'checkbox-button',
val : [1, 2],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'l', type : 'button' },
name : 'checkbox-button',
val : [2, 3],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
Type: String
Specifies the block unique name.
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button' },
name : 'checkbox-button-1',
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
Type: Array
.
Specifies a set of values for the selected checkboxes.
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button' },
name : 'checkbox-button-1',
val : [1, 2],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element' },
{ val : 3, text : 'Modifier' }
]
}
Type: Array
Specifies a set of values for each checkbox of the group.
Each checkbox has its own set of values.
Field | Type | description |
---|---|---|
val |
String , Number |
The value to send to the server if the checkbox is selected. |
text |
String |
The checkbox label, or the button label if the type modifier is set to button . |
disabled |
Boolean |
The disabled state. |
icon |
BEMJSON |
The checkbox icon, which is created by the icon block. Use icons only for checkboxes with the type modifier set to button . |
title |
String |
Tooltip content. Use tooltips only for checkboxes with type modifier set to button . |
id |
String |
The checkbox unique ID. |
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm' },
name : 'checkbox-islands',
val : [1, 3],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element', disabled : true },
{ val : 3, text : 'Modifier', disabled : true },
{ val : 4, text : 'Modifier' }
]
}
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button' },
name : 'checkbox-islands',
val : [3],
options : [
{ val : 1, text : 'Block' },
{ val : 2, text : 'Element', disabled : true, title : 'Disabled' },
{ val : 3, text : 'Modifier', disabled : true, title : 'Checked and disabled' }
]
}
{
block : 'checkbox-group',
mods : { theme : 'islands', size : 'm', type : 'button' },
name : 'checkbox-islands',
val : [1],
options : [
{
val : 1,
text : 'Twitter',
title : 'Follow BEM on Twitter',
icon : {
block : 'icon',
mods : { social : 'twitter' }
},
},
{
val : 2,
text : 'VKontakte',
disabled : true,
title : 'Follow BEM on VKontakte',
icon : {
block : 'icon',
mods : { social : 'vk' }
},
}
]
}