@terrazzo/token-tools
Version:
Various utilities for token types
21 lines • 1.12 kB
JavaScript
import { transformCubicBezier } from './cubic-bezier.js';
import { transformDuration } from './duration.js';
import { defaultAliasTransform } from './lib.js';
/** Convert transition value to shorthand */
export function transformTransition(token, options) {
const { tokensSet, transformAlias = defaultAliasTransform } = options;
if (token.aliasChain?.[0]) {
return transformAlias(tokensSet[token.aliasChain[0]]);
}
const duration = token.partialAliasOf?.duration
? transformAlias(tokensSet[token.partialAliasOf.duration])
: transformDuration({ $value: token.$value.duration }, options);
const delay = token.partialAliasOf?.delay
? transformAlias(tokensSet[token.partialAliasOf.delay])
: transformDuration({ $value: token.$value.delay }, options);
const timingFunction = token.partialAliasOf?.timingFunction
? transformAlias(tokensSet[token.partialAliasOf.timingFunction])
: transformCubicBezier({ $value: token.$value.timingFunction }, options);
return `${duration} ${delay} ${timingFunction}`;
}
//# sourceMappingURL=transition.js.map