U
    SZf                     @   s(   d dl mZ d dlZG dd deZdS )    )BaseLayoutHierarchyTypeNc                       sn   e Zd ZdZdZddhZedd Zejdd Zedd	 Z	e	jd
d	 Z	edd Z
d fdd	Z  ZS )
Transitionzlayout.sliderzlayout.slider.transitiondurationeasingc                 C   s   | d S )z
        Sets the duration of the slider transition

        The 'duration' property is a number and may be specified as:
          - An int or float in the interval [0, inf]

        Returns
        -------
        int|float
        r    selfr   r   O/tmp/pip-unpacked-wheel-5ksk5baj/plotly/graph_objs/layout/slider/_transition.pyr      s    zTransition.durationc                 C   s   || d< d S )Nr   r   r   valr   r   r	   r      s    c                 C   s   | d S )a?  
        Sets the easing function of the slider transition

        The 'easing' property is an enumeration that may be specified as:
          - One of the following enumeration 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']

        Returns
        -------
        Any
        r   r   r   r   r   r	   r   #   s    zTransition.easingc                 C   s   || d< d S )Nr   r   r
   r   r   r	   r   :   s    c                 C   s   dS )Nz        duration
            Sets the duration of the slider transition
        easing
            Sets the easing function of the slider transition
        r   r   r   r   r	   _prop_descriptions@   s    zTransition._prop_descriptionsNc                    s   t t| d d|kr&|d | _dS |dkr4i }n4t|| jrJ| }nt|tr`t	|}nt
d|dd| _|dd| _|d	d}|dk	r|n|}|dk	r|| d	< |d
d}|dk	r|n|}|dk	r|| d
< | jf t|f| d| _dS )a  
        Construct a new Transition object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.layout.slider.Transition`
        duration
            Sets the duration of the slider transition
        easing
            Sets the easing function of the slider transition

        Returns
        -------
        Transition
        Z
transition_parentNzThe first argument to the plotly.graph_objs.layout.slider.Transition
constructor must be a dict or
an instance of :class:`plotly.graph_objs.layout.slider.Transition`Zskip_invalidF	_validateTr   r   )superr   __init__r   
isinstance	__class__Zto_plotly_jsondict_copycopy
ValueErrorpopZ_skip_invalidr   Z_process_kwargs)r   argr   r   kwargsZ_vr   r   r	   r   I   s2    


	zTransition.__init__)NNN)__name__
__module____qualname__Z_parent_path_strZ	_path_strZ_valid_propspropertyr   setterr   r   r   __classcell__r   r   r   r	   r      s   




r   )Zplotly.basedatatypesr   Z_BaseLayoutHierarchyTyper   r   r   r   r   r   r	   <module>   s   