Repository URL to install this package:
|
Version:
2.4.13 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const exotic_1 = require("exotic");
const Icons_1 = require("../../atoms/Icons");
const styled_1 = require("./styled");
function defaultRenderCheckBox(props) {
const {
breed,
borderColor,
bgColor,
tickColor,
onToggle,
isSelected
} = props;
const attributes = {
isSelected,
onClick: onToggle
};
const deselectedIconAttributes = {
bgColor: 'transparent',
borderColor,
tickColor: 'transparent'
};
const selectedIconAttributes = {
bgColor,
borderColor: 'transparent',
tickColor
};
const svgAttributes = isSelected ? selectedIconAttributes : deselectedIconAttributes;
return react_1.default.createElement(styled_1.StyledCheckboxIcon, Object.assign({
breed: breed
}, attributes, svgAttributes));
}
function defaultRenderSwitch(props) {
const {
isAnimated,
onToggle,
isSelected,
defaultLabel = 'ON',
toggleLabel = 'OFF'
} = props;
const attributes = {
isSelected,
isAnimated,
onClick: onToggle
};
const switchLabelView = react_1.default.createElement(styled_1.SwitchLabel, {
content: isSelected === true ? defaultLabel : toggleLabel
});
return react_1.default.createElement(styled_1.SwitchIconWrapper, {
isSelected: isSelected
}, react_1.default.createElement(styled_1.StyledSwitchIcon, Object.assign({}, attributes)), switchLabelView);
}
function defaultRenderHeart(props) {
const {
onToggle,
isSelected
} = props;
const attributes = {
isSelected,
onClick: onToggle
};
return react_1.default.createElement(Icons_1.HeartIcon, Object.assign({}, attributes));
}
function defaultRenderRadio(props) {
const {
onToggle,
isSelected
} = props;
const attributes = {
isSelected,
onClick: onToggle
};
return react_1.default.createElement(Icons_1.RadioIcon, Object.assign({}, attributes));
}
function defaultRenderIcon(props) {
const {
iconType
} = props;
const switchIconType = type => {
switch (type) {
case 'checkbox':
return defaultRenderCheckBox(props);
case 'switch':
return defaultRenderSwitch(props);
case 'heart':
return defaultRenderHeart(props);
case 'radio':
default:
return defaultRenderRadio(props);
}
};
const iconView = switchIconType(iconType);
return react_1.default.createElement(styled_1.IconWrapper, null, iconView);
}
exports.defaultRenderIcon = defaultRenderIcon;
function defaultRenderLabel(props) {
const {
label
} = props;
return exotic_1.isSafe(label) && react_1.default.createElement(styled_1.StyledLabel, null, label);
}
exports.defaultRenderLabel = defaultRenderLabel;
function defaultRenderWrapper(props) {
const {
children,
className
} = props;
const passThroughProps = Object.freeze({
className,
'data-qa': props['data-qa']
});
return react_1.default.createElement(styled_1.Wrapper, Object.assign({}, passThroughProps), children);
}
exports.defaultRenderWrapper = defaultRenderWrapper; //# sourceMappingURL=renderProps.js.map