@formant/ava-react
Version:
React components of AVA.
60 lines (58 loc) • 2.21 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/NarrativeTextVis/line-charts/hooks/getElementFontSize.ts
var getElementFontSize_exports = {};
__export(getElementFontSize_exports, {
getElementFontSize: () => getElementFontSize
});
module.exports = __toCommonJS(getElementFontSize_exports);
var import_theme = require("../../theme");
function getStyle(ele, style) {
var _a;
return window.getComputedStyle ? window.getComputedStyle(ele, null)[style] : (_a = ele == null ? void 0 : ele.currentStyle) == null ? void 0 : _a[style];
}
function isAbsoluteUnitPx(str) {
return str == null ? void 0 : str.endsWith("px");
}
function getPxNumber(str) {
const removeUnit = str.replace(/px$/, "");
const resultNumber = Number(removeUnit);
if (!Number.isNaN(resultNumber))
return resultNumber;
return void 0;
}
function getElementFontSize(ele, defaultSize = import_theme.seedToken.fontSizeBase) {
const FONT_SIZE = "font-size";
const eleFontSizeStr = getStyle(ele, FONT_SIZE);
if (eleFontSizeStr && isAbsoluteUnitPx(eleFontSizeStr)) {
const px = getPxNumber(eleFontSizeStr);
if (px)
return px;
}
const bodyFontSizeStr = getStyle(window.document.body, FONT_SIZE);
if (bodyFontSizeStr && isAbsoluteUnitPx(bodyFontSizeStr)) {
const px = getPxNumber(bodyFontSizeStr);
if (px)
return px;
}
return defaultSize;
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
getElementFontSize
});