UNPKG

@tokens-studio/sd-transforms

Version:

Custom transforms for Style-Dictionary, to work with Design Tokens that are exported from Tokens Studio

25 lines (24 loc) 835 B
import { percentageToDecimal } from '../utils/percentageToDecimal.js'; /** * Helper: Transforms letter spacing % to em */ export function transformLetterSpacingForCSS(token) { const val = token.$value ?? token.value; const type = token.$type ?? token.type; if (val === undefined) return undefined; const transformLetterSpacing = (letterspacing) => { const decimal = percentageToDecimal(letterspacing); return typeof decimal === 'string' || isNaN(decimal) ? `${letterspacing}` : `${decimal}em`; }; if (type === 'typography') { if (val.letterSpacing !== undefined) { return { ...val, letterSpacing: transformLetterSpacing(val.letterSpacing), }; } return val; } return transformLetterSpacing(val); }