import { RawValueSignature } from '@specifyapp/specify-design-token-format'; import { timeToStyleDictionary } from './time.js'; export const transitionToStyleDictionary = (transition: RawValueSignature<'transition'>) => { return { timingFunction: transition.timingFunction .resolveDeepValue() .mapPrimitiveValue(timingFunction => { if (Array.isArray(timingFunction)) { return timingFunction.map(v => v.resolveDeepValue().unwrapValue()); } return { jumpTerm: timingFunction.jumpTerm.resolveDeepValue().unwrapValue(), stepsCount: timingFunction.stepsCount.resolveDeepValue().unwrapValue(), }; }) .unwrapValue(), duration: transition.duration .resolveDeepValue() .mapPrimitiveValue(timeToStyleDictionary) .unwrapValue(), delay: transition.delay .resolveDeepValue() .mapPrimitiveValue(timeToStyleDictionary) .unwrapValue(), }; };