vuestic-ui
Version:
Vue 3 UI Framework
32 lines (31 loc) • 963 B
JavaScript
import { unref } from "vue";
const useParsableMeasure = () => {
const isParsableMeasure = (value) => {
if (typeof value === "string") {
return !isNaN(+value) || value.endsWith("px") || value.endsWith("rem");
}
return false;
};
const isParsablePositiveMeasure = (value) => {
if (typeof value === "number") {
return value >= 0;
}
return isParsableMeasure(value) && parseInt(value) >= 0;
};
const parseSizeValue = (value, pageFontSize = 16) => {
const valueUnref = unref(value);
if (typeof valueUnref === "string") {
const parsedValue = parseInt(valueUnref);
if (isNaN(parsedValue)) {
return 0;
}
return valueUnref.endsWith("rem") ? parsedValue * unref(pageFontSize) : parsedValue;
}
return valueUnref;
};
return { isParsableMeasure, isParsablePositiveMeasure, parseSizeValue };
};
export {
useParsableMeasure as u
};
//# sourceMappingURL=useParsableMeasure.mjs.map