twrnc
Version:
simple, expressive API for tailwindcss + react-native
29 lines (28 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const types_1 = require("../types");
const helpers_1 = require("../helpers");
function lineHeight(value, config) {
var _a;
const parseValue = (_a = config === null || config === void 0 ? void 0 : config[value]) !== null && _a !== void 0 ? _a : (value.startsWith(`[`) ? value.slice(1, -1) : value);
const parsed = (0, helpers_1.parseNumericValue)(parseValue);
if (!parsed) {
return null;
}
const [number, unit] = parsed;
if (unit === types_1.Unit.none) {
// we have a relative line-height like `2` for `leading-loose`
return {
kind: `dependent`,
complete(style) {
if (typeof style.fontSize !== `number`) {
return `relative line-height utilities require that font-size be set`;
}
style.lineHeight = style.fontSize * number;
},
};
}
const styleVal = (0, helpers_1.toStyleVal)(number, unit);
return styleVal !== null ? (0, helpers_1.complete)({ lineHeight: styleVal }) : null;
}
exports.default = lineHeight;