wix-style-react
Version:
54 lines (43 loc) • 1.29 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.safeColor = safeColor;
exports.getHexOrEmpty = getHexOrEmpty;
exports.getRgbOrEmpty = getRgbOrEmpty;
exports.getHsbOrEmpty = getHsbOrEmpty;
exports.isTransparent = isTransparent;
var _color2 = _interopRequireDefault(require("color"));
var _mapValue = _interopRequireDefault(require("../utils/operators/mapValue"));
function safeColor(input) {
var allowEmpty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
try {
if (allowEmpty) {
return input ? (0, _color2["default"])(input) : (0, _color2["default"])().alpha(0);
}
return (0, _color2["default"])(input);
} catch (error) {
return null;
}
}
function getHexOrEmpty(_color) {
return isTransparent(_color) ? '' : _color.hex();
}
function getRgbOrEmpty(_color) {
return isTransparent(_color) ? {
r: '',
g: '',
b: ''
} : (0, _mapValue["default"])(_color.rgb().object(), Math.round);
}
function getHsbOrEmpty(_color) {
return isTransparent(_color) ? {
h: '',
s: '',
l: ''
} : _color.hsl().round().object();
}
function isTransparent(_color) {
return _color.alpha() === 0;
}