@wix/css-property-parser
Version:
A comprehensive TypeScript library for parsing and serializing CSS property values with full MDN specification compliance
33 lines (32 loc) • 1.38 kB
TypeScript
import type { CSSFunctionName } from '../types';
export interface CSSFunctionResult {
type: 'function';
expression: string;
function: CSSFunctionName;
}
/**
* Parse a CSS math function (calc, min, max, clamp)
* @param value - The trimmed CSS value string
* @param allowedFunctions - Array of function names to accept (defaults to all)
* @returns Parsed function object or null if not a valid function
*/
export declare function parseCSSFunction(value: string, allowedFunctions?: CSSFunctionName[]): CSSFunctionResult | null;
/**
* Parse only calc() function (simpler version for basic type evaluators)
* @param value - The trimmed CSS value string
* @returns Parsed calc function object or null if not a valid calc
*/
export declare function parseCalcFunction(value: string): CSSFunctionResult | null;
/**
* Convert CSS function result back to CSS string
* @param parsed - The parsed CSS function object
* @returns CSS function string
*/
export declare function cssFunctionToCSSValue(parsed: CSSFunctionResult): string;
/**
* Check if a value is a CSS function call
* @param value - The CSS value string
* @param functionNames - Array of function names to check (defaults to all math functions)
* @returns True if the value is a CSS function call
*/
export declare function isCSSFunction(value: string, functionNames?: CSSFunctionName[]): boolean;