style-dictionary-utils
Version:
Utilities to use in your style dictionary config
28 lines (27 loc) • 893 B
JavaScript
import { isCubicBezierFilter } from '../filter/isCubicBezier.js';
import { getValue } from '../utilities/getValue.js';
export const cubicBezierTransformer = (tokenValue) => {
if (typeof tokenValue === 'string') {
return tokenValue;
}
const [x1, y1, x2, y2] = tokenValue;
return `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;
};
export const cubicBezierCss = {
name: 'cubicBezier/css',
type: `value`,
transitive: true,
filter: (token) => {
const tokenValue = getValue(token);
return isCubicBezierFilter(token) && Array.isArray(tokenValue);
},
transform: (token) => {
try {
const tokenValue = getValue(token);
return cubicBezierTransformer(tokenValue);
}
catch (error) {
throw new Error(`Error transforming cubicBezier token '${token.name}': ${error}`);
}
},
};