Repository URL to install this package:
|
Version:
4.2.0-a11y.0 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const MaterialIcon_1 = require("../../../atoms/MaterialIcon");
const styled_1 = require("./styled");
const deps_1 = require("../../deps");
/**
* TOGGLE ITEM COMPONENT RENDER PROPS
*/
function defaultRenderIcon(props) {
const {
borderColor,
bgColor,
tickColor,
isSelected,
isCheckBox
} = props;
const role = isCheckBox ? 'checkbox' : 'radio';
const deselectedIconAttributes = {
bgColor: 'transparent',
borderColor,
tickColor: 'transparent'
};
const selectedIconAttributes = {
bgColor,
borderColor: 'transparent',
tickColor
};
const iconView = props.isCheckBox ? react_1.default.createElement(MaterialIcon_1.MaterialIcon, {
type: props.isSelected ? 'check_on' : 'check_off',
isSelected: props.isSelected
}) : react_1.default.createElement(MaterialIcon_1.MaterialIcon, {
type: props.isSelected ? 'radio_on' : 'radio_off',
isSelected: props.isSelected
});
return react_1.default.createElement(styled_1.ToggleItemIconWrapper, {
"aria-checked": isSelected,
role: role
}, iconView);
}
exports.defaultRenderIcon = defaultRenderIcon;
function defaultRenderText(props) {
return react_1.default.createElement(styled_1.ToggleItemLabel, {
content: props.label
});
}
exports.defaultRenderText = defaultRenderText;
function defaultRenderBox(props) {
const {
renderText,
renderIcon
} = props,
remainingProps = tslib_1.__rest(props, ["renderText", "renderIcon"]);
const textView = renderText(remainingProps);
const iconView = renderIcon(remainingProps);
return react_1.default.createElement(react_1.default.Fragment, null, iconView, textView);
}
exports.defaultRenderBox = defaultRenderBox;
function defaultRenderWrap(props) {
const {
selectedDataQa = 'qa-facet-selected',
unselectedDataQa = 'qa-facet'
} = props;
const dataQa = props.isSelected ? selectedDataQa : unselectedDataQa;
const handleClickEvent = event => deps_1.handleClick({
event,
onClick: props.onClick
});
const handleKeyDownEvent = event => deps_1.isEnter(event) && handleClickEvent(event);
return react_1.default.createElement(styled_1.ToggleItemWrapper, {
className: props.className,
"data-qa": dataQa,
onClick: handleClickEvent,
onKeyDown: handleKeyDownEvent,
tabIndex: 0
}, props.children);
}
exports.defaultRenderWrap = defaultRenderWrap; //# sourceMappingURL=renderProps.js.map