'use strict'; import type { PlainStyle } from '../../common'; import type { CSSTimingFunction } from '../easing'; import type { TimeUnit } from './common'; import type { AddArrayPropertyTypes } from './helpers'; export type CSSTransitionProperty = | 'all' | 'none' | keyof S | ('all' | keyof S)[]; export type CSSTransitionDuration = TimeUnit; export type CSSTransitionTimingFunction = CSSTimingFunction; export type CSSTransitionDelay = TimeUnit; export type CSSTransitionBehavior = 'normal' | 'allow-discrete'; export type CSSTransitionShorthand = string; type SingleCSSTransitionSettings = { transitionDuration?: CSSTransitionDuration; transitionTimingFunction?: CSSTransitionTimingFunction; transitionDelay?: CSSTransitionDelay; transitionBehavior?: CSSTransitionBehavior; }; export type SingleCSSTransitionConfig = SingleCSSTransitionSettings & { transitionProperty?: CSSTransitionProperty; }; export type CSSTransitionSettings = AddArrayPropertyTypes; export type CSSTransitionProperties = CSSTransitionSettings & { transitionProperty?: CSSTransitionProperty; transition?: CSSTransitionShorthand; }; export type CSSTransitionProp = keyof CSSTransitionProperties;