B
    &[_                 @   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-install-l29rncou/plotly/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 )aC  
        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   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   s0    


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   