@gravity-ui/graph
Version:
Modern graph editor component
31 lines (30 loc) • 1.01 kB
JavaScript
/**
* Supported value types for CSS variables
*/
export var CSSVariableType;
(function (CSSVariableType) {
CSSVariableType["COLOR"] = "color";
CSSVariableType["FLOAT"] = "float";
CSSVariableType["INT"] = "int";
CSSVariableType["STRING"] = "string";
CSSVariableType["BOOLEAN"] = "boolean";
})(CSSVariableType || (CSSVariableType = {}));
/**
* Type converter functions for CSS variable values
*/
export const CSS_VALUE_CONVERTERS = {
[CSSVariableType.COLOR]: (value) => value.trim(),
[CSSVariableType.FLOAT]: (value) => {
const parsed = parseFloat(value);
return isNaN(parsed) ? 0 : parsed;
},
[CSSVariableType.INT]: (value) => {
const parsed = parseInt(value, 10);
return isNaN(parsed) ? 0 : parsed;
},
[CSSVariableType.STRING]: (value) => value.trim(),
[CSSVariableType.BOOLEAN]: (value) => {
const trimmed = value.trim().toLowerCase();
return trimmed === "true" || trimmed === "1" || trimmed === "yes";
},
};