Repository URL to install this package:
|
Version:
2.0.2 ▾
|
"use strict";
var __importDefault = this && this.__importDefault || function (mod) {
return mod && mod.__esModule ? mod : {
"default": mod
};
};
Object.defineProperty(exports, "__esModule", {
value: true
});
const react_1 = __importDefault(require("react"));
const exotic_1 = require("exotic");
const RadioIcon_1 = __importDefault(require("../../atoms/Icons/RadioIcon"));
const SwitchIcon_1 = __importDefault(require("../../atoms/Icons/SwitchIcon"));
const styled_1 = require("./styled");
function defaultRenderIcon(props, state) {
const {
iconType,
breed,
onToggle,
isAnimated,
borderColor,
bgColor,
tickColor
} = props;
const {
isSelected,
handleToggleSelected
} = state;
const handleToggleClick = event => {
handleToggleSelected();
if (exotic_1.isFunction(onToggle)) {
const args = {
isSelected: state.isSelected
};
onToggle(args);
}
};
const attributes = {
isSelected,
isAnimated,
onClick: handleToggleClick
};
const deselectedIconAttributes = {
bgColor: 'transparent',
borderColor,
tickColor: 'transparent'
};
const selectedIconAttributes = {
bgColor,
borderColor: 'transparent',
tickColor
};
const svgAttributes = isSelected ? selectedIconAttributes : deselectedIconAttributes;
function switchIconType(type) {
switch (type) {
case 'checkbox':
return react_1.default.createElement(styled_1.StyledCheckboxIcon, Object.assign({
breed: breed
}, attributes, svgAttributes));
case 'switch':
const switchLabelView = react_1.default.createElement(styled_1.SwitchLabel, {
className: isSelected ? 'Selected' : '',
content: isSelected ? 'ON' : 'OFF'
});
return react_1.default.createElement(styled_1.SwitchIconWrapper, null, react_1.default.createElement(SwitchIcon_1.default, Object.assign({}, attributes)), switchLabelView);
default:
return react_1.default.createElement(RadioIcon_1.default, Object.assign({}, attributes));
}
}
const iconView = switchIconType(iconType);
return react_1.default.createElement(styled_1.IconWrapper, null, iconView);
}
exports.defaultRenderIcon = defaultRenderIcon;
function defaultRenderLabel(props) {
const {
label
} = props;
return 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