UNPKG

style-dictionary-utils

Version:
25 lines (24 loc) 943 B
import { isTransitionFilter } from '../filter/isTransition.js'; import { getValue } from '../utilities/getValue.js'; import { cubicBezierTransformer } from './cubicBezier-css.js'; import { durationValueTransformer } from './duration-css.js'; /** * transitionCss * @description convert a transition token to a CSS-compatible transition string */ export const transitionCss = { name: 'transition/css', type: `value`, transitive: true, filter: isTransitionFilter, transform: (token) => { try { const { duration, delay, timingFunction } = getValue(token); return `${durationValueTransformer(duration)} ${durationValueTransformer(delay)} ${cubicBezierTransformer(timingFunction)}`.trim(); // catch errors and rethrow with token name } catch (error) { throw new Error(`Error transforming transition token '${token.name}': ${error}`); } }, };