U
    ccD                     @   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dd	d
d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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/d0 Zejd1d0 Zed2d3 Zejd4d3 Zed5d6 Zejd7d6 Zed8d9 Zejd:d9 Zed;d< Zd@ fd>d?	Z  ZS )AHeadertableztable.headeralignalignsrcfillfontformat	formatsrcheightlineprefix	prefixsrcsuffix	suffixsrcvalues	valuessrcc                 C   s   | d S )a4  
        Sets the horizontal alignment of the `text` within the box. Has
        an effect only if `text` spans two or more lines (i.e. `text`
        contains one or more <br> HTML tags) or if an explicit width is
        set to override the text width.

        The 'align' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['left', 'center', 'right']
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        Any|numpy.ndarray
        r    selfr   r   Y/var/www/html/project/venv/lib/python3.8/site-packages/plotly/graph_objs/table/_header.pyr      s    zHeader.alignc                 C   s   || d< d S )Nr   r   r   valr   r   r   r   1   s    c                 C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for `align`.

        The 'alignsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r   r   r   r   r   r   7   s    zHeader.alignsrcc                 C   s   || d< d S )Nr   r   r   r   r   r   r   E   s    c                 C   s   | d S )a  
        The 'fill' property is an instance of Fill
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.table.header.Fill`
          - A dict of string/value properties that will be passed
            to the Fill constructor

            Supported dict properties:

                color
                    Sets the cell fill color. It accepts either a
                    specific color or an array of colors or a 2D
                    array of colors.
                colorsrc
                    Sets the source reference on Chart Studio Cloud
                    for `color`.

        Returns
        -------
        plotly.graph_objs.table.header.Fill
        r   r   r   r   r   r   r   K   s    zHeader.fillc                 C   s   || d< d S )Nr   r   r   r   r   r   r   d   s    c                 C   s   | d S )a4  
        The 'font' property is an instance of Font
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.table.header.Font`
          - A dict of string/value properties that will be passed
            to the Font 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.table.header.Font
        r   r   r   r   r   r   r   j   s    .zHeader.fontc                 C   s   || d< d S )Nr   r   r   r   r   r   r      s    c                 C   s   | d S )a  
        Sets the cell value formatting rule using d3 formatting mini-
        languages which are very similar to those in Python. For
        numbers, see:
        https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

        The 'format' property is an array that may be specified as a tuple,
        list, numpy array, or pandas Series

        Returns
        -------
        numpy.ndarray
        r	   r   r   r   r   r   r	      s    zHeader.formatc                 C   s   || d< d S )Nr	   r   r   r   r   r   r	      s    c                 C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for `format`.

        The 'formatsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r
   r   r   r   r   r   r
      s    zHeader.formatsrcc                 C   s   || d< d S )Nr
   r   r   r   r   r   r
      s    c                 C   s   | d S )z
        The height of cells.

        The 'height' property is a number and may be specified as:
          - An int or float

        Returns
        -------
        int|float
        r   r   r   r   r   r   r      s    zHeader.heightc                 C   s   || d< d S )Nr   r   r   r   r   r   r      s    c                 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.table.header.Line`
          - A dict of string/value properties that will be passed
            to the Line constructor

            Supported dict properties:

                color

                colorsrc
                    Sets the source reference on Chart Studio Cloud
                    for `color`.
                width

                widthsrc
                    Sets the source reference on Chart Studio Cloud
                    for `width`.

        Returns
        -------
        plotly.graph_objs.table.header.Line
        r   r   r   r   r   r   r      s    zHeader.linec                 C   s   || d< d S )Nr   r   r   r   r   r   r      s    c                 C   s   | d S )a=  
        Prefix for cell values.

        The 'prefix' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        r   r   r   r   r   r   r     s    zHeader.prefixc                 C   s   || d< d S )Nr   r   r   r   r   r   r     s    c                 C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for `prefix`.

        The 'prefixsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r   r   r   r   r   r     s    zHeader.prefixsrcc                 C   s   || d< d S )Nr   r   r   r   r   r   r   %  s    c                 C   s   | d S )a=  
        Suffix for cell values.

        The 'suffix' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        r   r   r   r   r   r   r   +  s    zHeader.suffixc                 C   s   || d< d S )Nr   r   r   r   r   r   r   ;  s    c                 C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for `suffix`.

        The 'suffixsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r   r   r   r   r   r   A  s    zHeader.suffixsrcc                 C   s   || d< d S )Nr   r   r   r   r   r   r   O  s    c                 C   s   | d S )a  
        Header cell values. `values[m][n]` represents the value of the
        `n`th point in column `m`, therefore the `values[m]` vector
        length for all columns must be the same (longer vectors will be
        truncated). Each value must be a finite number or a string.

        The 'values' property is an array that may be specified as a tuple,
        list, numpy array, or pandas Series

        Returns
        -------
        numpy.ndarray
        r   r   r   r   r   r   r   U  s    zHeader.valuesc                 C   s   || d< d S )Nr   r   r   r   r   r   r   f  s    c                 C   s   | d S )z
        Sets the source reference on Chart Studio Cloud for `values`.

        The 'valuessrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r   r   r   r   r   r   r   l  s    zHeader.valuessrcc                 C   s   || d< d S )Nr   r   r   r   r   r   r   z  s    c                 C   s   dS )Na          align
            Sets the horizontal alignment of the `text` within the
            box. Has an effect only if `text` spans two or more
            lines (i.e. `text` contains one or more <br> HTML tags)
            or if an explicit width is set to override the text
            width.
        alignsrc
            Sets the source reference on Chart Studio Cloud for
            `align`.
        fill
            :class:`plotly.graph_objects.table.header.Fill`
            instance or dict with compatible properties
        font
            :class:`plotly.graph_objects.table.header.Font`
            instance or dict with compatible properties
        format
            Sets the cell value formatting rule using d3 formatting
            mini-languages which are very similar to those in
            Python. For numbers, see:
            https://github.com/d3/d3-format/tree/v1.4.5#d3-format.
        formatsrc
            Sets the source reference on Chart Studio Cloud for
            `format`.
        height
            The height of cells.
        line
            :class:`plotly.graph_objects.table.header.Line`
            instance or dict with compatible properties
        prefix
            Prefix for cell values.
        prefixsrc
            Sets the source reference on Chart Studio Cloud for
            `prefix`.
        suffix
            Suffix for cell values.
        suffixsrc
            Sets the source reference on Chart Studio Cloud for
            `suffix`.
        values
            Header cell values. `values[m][n]` represents the value
            of the `n`th point in column `m`, therefore the
            `values[m]` vector length for all columns must be the
            same (longer vectors will be truncated). Each value
            must be a finite number or a string.
        valuessrc
            Sets the source reference on Chart Studio Cloud for
            `values`.
        r   r   r   r   r   _prop_descriptions  s    zHeader._prop_descriptionsNc                    s8  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< |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	rD|n|}|dk	rZ|| d< |dd}|dk	rt|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< | jf t|f| d| _dS )a  
        Construct a new Header object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.table.Header`
        align
            Sets the horizontal alignment of the `text` within the
            box. Has an effect only if `text` spans two or more
            lines (i.e. `text` contains one or more <br> HTML tags)
            or if an explicit width is set to override the text
            width.
        alignsrc
            Sets the source reference on Chart Studio Cloud for
            `align`.
        fill
            :class:`plotly.graph_objects.table.header.Fill`
            instance or dict with compatible properties
        font
            :class:`plotly.graph_objects.table.header.Font`
            instance or dict with compatible properties
        format
            Sets the cell value formatting rule using d3 formatting
            mini-languages which are very similar to those in
            Python. For numbers, see:
            https://github.com/d3/d3-format/tree/v1.4.5#d3-format.
        formatsrc
            Sets the source reference on Chart Studio Cloud for
            `format`.
        height
            The height of cells.
        line
            :class:`plotly.graph_objects.table.header.Line`
            instance or dict with compatible properties
        prefix
            Prefix for cell values.
        prefixsrc
            Sets the source reference on Chart Studio Cloud for
            `prefix`.
        suffix
            Suffix for cell values.
        suffixsrc
            Sets the source reference on Chart Studio Cloud for
            `suffix`.
        values
            Header cell values. `values[m][n]` represents the value
            of the `n`th point in column `m`, therefore the
            `values[m]` vector length for all columns must be the
            same (longer vectors will be truncated). Each value
            must be a finite number or a string.
        valuessrc
            Sets the source reference on Chart Studio Cloud for
            `values`.

        Returns
        -------
        Header
        header_parentNzThe first argument to the plotly.graph_objs.table.Header
constructor must be a dict or
an instance of :class:`plotly.graph_objs.table.Header`Zskip_invalidF	_validateTr   r   r   r   r	   r
   r   r   r   r   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	   r
   r   r   r   r   r   r   r   r   kwargs_vr    r   r   r     s    O


	











zHeader.__init__)NNNNNNNNNNNNNNN)__name__
__module____qualname__Z_parent_path_strZ	_path_strZ_valid_propspropertyr   setterr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   __classcell__r   r   r)   r   r      s   






/





















5               r   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper#   r"   r   r   r   r   r   <module>   s   