New options Object & Generic API
v1.2.0 (2025-06-12)
✨ New Features
Support for options object in stringifyCSSProperties and stringifyStyleMap:
stringifyCSSProperties(style, {
important: true,
unit: 'em',
});✅ Fully backward compatible: you can still pass true for important statement as in previous versions.
Inject important statment
Before
stringifyCSSProperties(style, true); // still supportedAfter
stringifyCSSProperties(style, { important: true });Set css units for numeric values
stringifyCSSProperties(
{
padding: 10,
fontSize: 1.6,
},
{
unit: { fontSize: "rem" }, // use string (e.g. { unit: 'rem' }) to set common unit for all numeric values
}
);
// Output: "padding:10px;font-size:1.6rem;"New API
Types
type StyleMap = Record<string, CSSProperties>;
type CSSUnit = "px" | "em" | "rem" | "vw" | "vh" | "%";
type CSSUnitMap<K extends PropertyKey = string> = {
[P in K]?: CSSUnit;
};
type StringifyOptions<T extends object = Record<string, string | number>> = {
important?: boolean;
unit?: CSSUnit | CSSUnitMap<keyof T>;
};
type StyleDeclaration = Record<string, string | number>;
type StyleRule<T extends object = StyleDeclaration> = Record<string, T>;Functions
function stringifyCSSProperties(
cssProperties: CSSProperties,
optionsOrImportant?: StringifyOptions<CSSProperties> | boolean
): string;
function stringifyStyleMap(
styleMap: StyleMap,
optionsOrImportant?: StringifyOptions<CSSProperties> | boolean
): string;Generic
function stringifyStyleDeclaration<T extends object = StyleDeclaration>(
styleDeclaration: T,
options?: StringifyOptions<T>
): string;
function stringifyStyleRule<T extends object = StyleDeclaration>(
styleRule: StyleRule<T>,
options?: StringifyOptions<T>
): string;🤖 What's Changed
Full Changelog: v1.1.1...v1.2.0