import _plotly_utils.basevalidators


class EasingValidator(_plotly_utils.basevalidators.EnumeratedValidator):

    def __init__(
        self,
        plotly_name='easing',
        parent_name='layout.slider.transition',
        **kwargs
    ):
        super(EasingValidator, self).__init__(
            plotly_name=plotly_name,
            parent_name=parent_name,
            edit_type='arraydraw',
            role='info',
            values=[
                'linear', 'quad', 'cubic', 'sin', 'exp', 'circle', 'elastic',
                'back', 'bounce', 'linear-in', 'quad-in', 'cubic-in', 'sin-in',
                'exp-in', 'circle-in', 'elastic-in', 'back-in', 'bounce-in',
                'linear-out', 'quad-out', 'cubic-out', 'sin-out', 'exp-out',
                'circle-out', 'elastic-out', 'back-out', 'bounce-out',
                'linear-in-out', 'quad-in-out', 'cubic-in-out', 'sin-in-out',
                'exp-in-out', 'circle-in-out', 'elastic-in-out', 'back-in-out',
                'bounce-in-out'
            ],
            **kwargs
        )
