@s-ui/react-organism-nested-checkboxes
Version:
This component shows a parent checkbox with children that their controls his own state.
26 lines • 965 B
JavaScript
export var BASE_CLASS = 'sui-OrganismNestedCheckboxes';
export var CONTAINER_CLASS = BASE_CLASS + "Container";
export var CHILD_CLASS = BASE_CLASS + "Child";
export var BUTTON_CLASS = BASE_CLASS + "Button";
export var checkItemIsChecked = function checkItemIsChecked(_ref) {
var checked = _ref.checked;
return checked === true;
};
export var isFunction = function isFunction(fn) {
return typeof fn === 'function';
};
export var getInnerCheckboxes = function getInnerCheckboxes(node, _ref2) {
var checked = _ref2.checked,
indeterminate = _ref2.indeterminate;
var checkboxes = Array.from(node.querySelectorAll("input[type='checkbox']"));
var isChecked = checked;
var isIndeterminate = indeterminate;
if (checkboxes.length) {
isChecked = checkboxes.every(checkItemIsChecked);
isIndeterminate = !isChecked && checkboxes.some(checkItemIsChecked);
}
return [checkboxes, {
checked: isChecked,
indeterminate: isIndeterminate
}];
};