{"typedefs":{"typedef":[{"name":"StateChangerState","params":null,"properties":{"property":[{"name":"action","types":{"type":["String","Array"]},"description":"<p>Действие или набор действий, которые нужно выполнить.\nВозможные значения:</p>\n<ul>\n<li><code>show</code>/<code>hide</code> — показать/скрыть</li>\n<li><code>disable</code>/<code>enable</code> — задизейблить/раздизейблить</li>\n<li><code>swap</code> — показать, скрыв другие группы (логика радиобаттона).</li>\n</ul>","optional":"false"},{"name":"state","types":{"type":["Boolean"]},"description":"<p>Направление действия. Если <code>action === 'hide'</code>,\nзначение <code>true</code> скрывает группу, а <code>false</code> показывает.</p>","optional":"false"},{"name":"target","types":{"type":["String"]},"description":"<p>Имя группы блоков, с которой работаем. Группа определяется\nпо селектору <code>[data-change-group~={target}]</code>.</p>","optional":"false"}]},"description":"<p>Объект состояния компонента stateChanger.</p>"}]},"events":{"event":[{"name":"Bloko-StateChanger-Action.stateChanger","description":"<p>Используется для устнановки состояния. Триггерится также самим компонентом при установке исходного значения</p>","properties":{"property":[{"name":"state","types":{"type":["StateChangerState"]},"description":"<p>Состояние компонента</p>","optional":"false"}]}},{"name":"Bloko-StateChanger-Reset.stateChanger","description":"<p>Используется для установки состояния в исходное (<code>initial</code>)</p>","properties":null},{"name":"Bloko-StateChanger-StateChange","description":"<p>Триггерится на конкретном элементе после того как stateChanger изменил его состояние\n(изменил видимость или доступность)</p>","properties":{"property":[{"name":"action","types":{"type":["String"]},"description":"<p>Тип изменения</p>","optional":"false"}]}}]},"params":{"param":[{"name":"element","types":{"type":["String","jQuery"]},"description":"<p>Элемент, на котором будет инициализирован компонент</p>","optional":"false"},{"name":"params","types":{"type":["Object"]},"description":"<p>Параметры</p>","optional":"false"},{"name":"params.initial","types":{"type":["StateChangerState"]},"description":"<p>Начальное состояние. Если указано, при инициализации\nкомпонента выстрелит событие с такими же параметрами</p>","optional":"true","default":"null"},{"name":"params.className","types":{"type":["String"]},"description":"<p>CSS-класс для визуального дизейблинга не-инпутов</p>","optional":"true","default":"''"},{"name":"params.selectorToHide","types":{"type":["String"]},"description":"<p>CSS-селектор для скрытия/показа элементов</p>","optional":"false","default":"'[data-state-changer-hide]'"},{"name":"params.selectorToDisable","types":{"type":["String"]},"description":"<p>CSS-селектор для дизейблинга элементов</p>","optional":"true","default":"'[data-state-changer-disable]'"}]},"functions":{"function":[{"name":"swap","description":"<p>Показывает или прячет указанную группу блоков, одновременно выполняя обратную операцию со всеми\nостальными группами внутри указанного блока.</p>","params":{"param":[{"name":"$currentElement","types":{"type":["jQuery"]},"description":"","optional":"false"},{"name":"state","types":{"type":["Boolean"]},"description":"","optional":"false"}]},"fires":null,"exceptions":null,"returns":null},{"name":"disable","description":"<p>Делает неактивными все элементы управления с указанным классом в параметрах компонента\nвнутри указанной группы.</p>","params":{"param":[{"name":"$currentElement","types":{"type":["jQuery"]},"description":"","optional":"false"},{"name":"state","types":{"type":["Boolean"]},"description":"","optional":"false"}]},"fires":null,"exceptions":null,"returns":null},{"name":"hide","description":"<p>Скрывает все блоки с классом selectorToHide внутри указанной группы.</p>","params":{"param":[{"name":"$currentElement","types":{"type":["jQuery"]},"description":"","optional":"false"},{"name":"state","types":{"type":["Boolean"]},"description":"","optional":"false"}]},"fires":null,"exceptions":null,"returns":null},{"name":"show","description":"<p>Показывает все блоки с селектором selectorToHide внутри указанной группы.</p>","params":{"param":[{"name":"$currentElement","types":{"type":["jQuery"]},"description":"","optional":"false"},{"name":"state","types":{"type":["Boolean"]},"description":"","optional":"false"}]},"fires":null,"exceptions":null,"returns":null},{"name":"enable","description":"<p>Делает активными все элементы управления с селектором selectorToDisable внутри указанной группы.</p>","params":{"param":[{"name":"$currentElement","types":{"type":["jQuery"]},"description":"","optional":"false"},{"name":"state","types":{"type":["Boolean"]},"description":"","optional":"false"}]},"fires":null,"exceptions":null,"returns":null}]}}