U
    cc                     @   s(   d dl mZ d dlZG dd deZdS )    )BaseTraceHierarchyTypeNc                       s   e Zd ZdZdZddd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
e
jdd 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 )PathbarZiciclezicicle.pathbar	edgeshapesidetextfont	thicknessvisiblec                 C   s   | d S )a6  
        Determines which shape is used for edges between `barpath`
        labels.

        The 'edgeshape' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['>', '<', '|', '/', '\']

        Returns
        -------
        Any
        r    selfr	   r	   [/var/www/html/project/venv/lib/python3.8/site-packages/plotly/graph_objs/icicle/_pathbar.pyr      s    zPathbar.edgeshapec                 C   s   || d< d S )Nr   r	   r   valr	   r	   r   r      s    c                 C   s   | d S )a5  
        Determines on which side of the the treemap the `pathbar`
        should be presented.

        The 'side' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['top', 'bottom']

        Returns
        -------
        Any
        r   r	   r
   r	   r	   r   r   %   s    zPathbar.sidec                 C   s   || d< d S )Nr   r	   r   r	   r	   r   r   5   s    c                 C   s   | d S )az  
        Sets the font used inside `pathbar`.

        The 'textfont' property is an instance of Textfont
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.icicle.pathbar.Textfont`
          - A dict of string/value properties that will be passed
            to the Textfont constructor

            Supported dict properties:

                color

                colorsrc
                    Sets the source reference on Chart Studio Cloud
                    for `color`.
                family
                    HTML font family - the typeface that will be
                    applied by the web browser. The web browser
                    will only be able to apply a font if it is
                    available on the system which it operates.
                    Provide multiple font families, separated by
                    commas, to indicate the preference in which to
                    apply fonts if they aren't available on the
                    system. The Chart Studio Cloud (at
                    https://chart-studio.plotly.com or on-premise)
                    generates images on a server, where only a
                    select number of fonts are installed and
                    supported. These include "Arial", "Balto",
                    "Courier New", "Droid Sans",, "Droid Serif",
                    "Droid Sans Mono", "Gravitas One", "Old
                    Standard TT", "Open Sans", "Overpass", "PT Sans
                    Narrow", "Raleway", "Times New Roman".
                familysrc
                    Sets the source reference on Chart Studio Cloud
                    for `family`.
                size

                sizesrc
                    Sets the source reference on Chart Studio Cloud
                    for `size`.

        Returns
        -------
        plotly.graph_objs.icicle.pathbar.Textfont
        r   r	   r
   r	   r	   r   r   ;   s    0zPathbar.textfontc                 C   s   || d< d S )Nr   r	   r   r	   r	   r   r   m   s    c                 C   s   | d S )aY  
        Sets the thickness of `pathbar` (in px). If not specified the
        `pathbar.textfont.size` is used with 3 pixles extra padding on
        each side.

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

        Returns
        -------
        int|float
        r   r	   r
   r	   r	   r   r   s   s    zPathbar.thicknessc                 C   s   || d< d S )Nr   r	   r   r	   r	   r   r      s    c                 C   s   | d S )z
        Determines if the path bar is drawn i.e. outside the trace
        `domain` and with one pixel gap.

        The 'visible' property must be specified as a bool
        (either True, or False)

        Returns
        -------
        bool
        r   r	   r
   r	   r	   r   r      s    zPathbar.visiblec                 C   s   || d< d S )Nr   r	   r   r	   r	   r   r      s    c                 C   s   dS )Nam          edgeshape
            Determines which shape is used for edges between
            `barpath` labels.
        side
            Determines on which side of the the treemap the
            `pathbar` should be presented.
        textfont
            Sets the font used inside `pathbar`.
        thickness
            Sets the thickness of `pathbar` (in px). If not
            specified the `pathbar.textfont.size` is used with 3
            pixles extra padding on each side.
        visible
            Determines if the path bar is drawn i.e. outside the
            trace `domain` and with one pixel gap.
        r	   r
   r	   r	   r   _prop_descriptions   s    zPathbar._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
< |dd}|dk	r|n|}|dk	r
|| d< |dd}|dk	r$|n|}|dk	r:|| d< |dd}|dk	rT|n|}|dk	rj|| d< | jf t|f| d| _dS )a  
        Construct a new Pathbar object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.icicle.Pathbar`
        edgeshape
            Determines which shape is used for edges between
            `barpath` labels.
        side
            Determines on which side of the the treemap the
            `pathbar` should be presented.
        textfont
            Sets the font used inside `pathbar`.
        thickness
            Sets the thickness of `pathbar` (in px). If not
            specified the `pathbar.textfont.size` is used with 3
            pixles extra padding on each side.
        visible
            Determines if the path bar is drawn i.e. outside the
            trace `domain` and with one pixel gap.

        Returns
        -------
        Pathbar
        Zpathbar_parentNzThe first argument to the plotly.graph_objs.icicle.Pathbar
constructor must be a dict or
an instance of :class:`plotly.graph_objs.icicle.Pathbar`Zskip_invalidF	_validateTr   r   r   r   r   )superr   __init__r   
isinstance	__class__Zto_plotly_jsondict_copycopy
ValueErrorpopZ_skip_invalidr   Z_process_kwargs)	r   argr   r   r   r   r   kwargs_vr   r	   r   r      sJ    '


	


zPathbar.__init__)NNNNNN)__name__
__module____qualname__Z_parent_path_strZ	_path_strZ_valid_propspropertyr   setterr   r   r   r   r   r   __classcell__r	   r	   r   r   r      s@   




1





      r   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper   r   r   r	   r	   r	   r   <module>   s   