U
    Áòccî  ã                   @   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 )ÚNewselectionZlayoutzlayout.newselectionÚlineÚmodec                 C   s   | d S )a¨  
        The 'line' property is an instance of Line
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.layout.newselection.Line`
          - A dict of string/value properties that will be passed
            to the Line constructor

            Supported dict properties:

                color
                    Sets the line color. By default uses either
                    dark grey or white to increase contrast with
                    background color.
                dash
                    Sets the dash style of lines. Set to a dash
                    type string ("solid", "dot", "dash",
                    "longdash", "dashdot", or "longdashdot") or a
                    dash length list in px (eg "5px,10px,2px,2px").
                width
                    Sets the line width (in px).

        Returns
        -------
        plotly.graph_objs.layout.newselection.Line
        r   © ©Úselfr   r   ú`/var/www/html/project/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_newselection.pyr      s    zNewselection.linec                 C   s   || d< d S )Nr   r   ©r   Úvalr   r   r	   r   ,   s    c                 C   s   | d S )a'  
        Describes how a new selection is created. If `immediate`, a new
        selection is created after first mouse up. If `gradual`, a new
        selection is not created after first mouse. By adding to and
        subtracting from the initial selection, this option allows
        declaring extra outlines of the selection.

        The 'mode' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['immediate', 'gradual']

        Returns
        -------
        Any
        r   r   r   r   r   r	   r   2   s    zNewselection.modec                 C   s   || d< d S )Nr   r   r
   r   r   r	   r   E   s    c                 C   s   dS )Na          line
            :class:`plotly.graph_objects.layout.newselection.Line`
            instance or dict with compatible properties
        mode
            Describes how a new selection is created. If
            `immediate`, a new selection is created after first
            mouse up. If `gradual`, a new selection is not created
            after first mouse. By adding to and subtracting from
            the initial selection, this option allows declaring
            extra outlines of the selection.
        r   r   r   r   r	   Ú_prop_descriptionsK   s    zNewselection._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 )a6  
        Construct a new Newselection object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.layout.Newselection`
        line
            :class:`plotly.graph_objects.layout.newselection.Line`
            instance or dict with compatible properties
        mode
            Describes how a new selection is created. If
            `immediate`, a new selection is created after first
            mouse up. If `gradual`, a new selection is not created
            after first mouse. By adding to and subtracting from
            the initial selection, this option allows declaring
            extra outlines of the selection.

        Returns
        -------
        Newselection
        ZnewselectionÚ_parentNz›The first argument to the plotly.graph_objs.layout.Newselection
constructor must be a dict or
an instance of :class:`plotly.graph_objs.layout.Newselection`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   ÚkwargsÚ_v©r   r   r	   r   Z   s2    


ÿ	zNewselection.__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   