@wordpress/components
Version:
UI components for WordPress.
50 lines (47 loc) • 1.45 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PRESET_FONT_SIZES = exports.HEADING_FONT_SIZES = exports.BASE_FONT_SIZE = void 0;
exports.getFontSize = getFontSize;
exports.getHeadingFontSize = getHeadingFontSize;
var _configValues = _interopRequireDefault(require("./config-values"));
/**
* External dependencies
*/
/**
* Internal dependencies
*/
const BASE_FONT_SIZE = exports.BASE_FONT_SIZE = 13;
const PRESET_FONT_SIZES = exports.PRESET_FONT_SIZES = {
body: BASE_FONT_SIZE,
caption: 10,
footnote: 11,
largeTitle: 28,
subheadline: 12,
title: 20
};
const HEADING_FONT_SIZES = exports.HEADING_FONT_SIZES = [1, 2, 3, 4, 5, 6].flatMap(n => [n, n.toString()]);
function getFontSize(size = BASE_FONT_SIZE) {
if (size in PRESET_FONT_SIZES) {
return getFontSize(PRESET_FONT_SIZES[size]);
}
if (typeof size !== 'number') {
const parsed = parseFloat(size);
if (Number.isNaN(parsed)) {
return size;
}
size = parsed;
}
const ratio = `(${size} / ${BASE_FONT_SIZE})`;
return `calc(${ratio} * ${_configValues.default.fontSize})`;
}
function getHeadingFontSize(size = 3) {
if (!HEADING_FONT_SIZES.includes(size)) {
return getFontSize(size);
}
const headingSize = `fontSizeH${size}`;
return _configValues.default[headingSize];
}
//# sourceMappingURL=font-size.js.map