@quarkly/atomize
Version:
Library for creating atomic react components
76 lines (54 loc) • 1.82 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = exports.defaultTransformer = exports.space = exports.fontSize = exports.width = exports.pixel = void 0;
var _isUndefined2 = _interopRequireDefault(require("lodash/fp/isUndefined"));
var _get2 = _interopRequireDefault(require("lodash/fp/get"));
var _isNumber2 = _interopRequireDefault(require("lodash/fp/isNumber"));
var pixel = function pixel(n) {
return (0, _isNumber2["default"])(n) && n !== 0 ? n + "px" : n;
};
exports.pixel = pixel;
var width = function width(n) {
return !(0, _isNumber2["default"])(n) || n > 1 ? pixel(n) : n * 100 + "%";
};
exports.width = width;
var fontSize = function fontSize(n, scale) {
if (!(0, _isNumber2["default"])(n)) {
return pixel(n);
}
var value = (0, _get2["default"])(n, scale);
if ((0, _isUndefined2["default"])(value)) {
return pixel(n);
}
return pixel(value);
};
exports.fontSize = fontSize;
var space = function space(n, scale) {
if (!(0, _isNumber2["default"])(n)) {
return pixel(n);
}
var isNegative = n < 0;
var absolute = Math.abs(n);
var value = (0, _get2["default"])(absolute, scale);
if ((0, _isUndefined2["default"])(value)) {
return pixel(n);
}
if (!(0, _isNumber2["default"])(value)) {
return isNegative ? "-" + value : value;
}
return pixel(value * (isNegative ? -1 : 1));
};
exports.space = space;
var defaultTransformer = function defaultTransformer(value) {
return (0, _isNumber2["default"])(value) ? "" + value : value;
};
exports.defaultTransformer = defaultTransformer;
var _default = {
pixel: pixel,
width: width,
space: space,
fontSize: fontSize,
defaultTransformer: defaultTransformer
};
exports["default"] = _default;