
    g                     .    d dl mZ d dlZ G d de      Zy)    )BaseLayoutHierarchyTypeNc                       e Zd ZdZdZh dZed        Zej                  d        Zed        Z	e	j                  d        Z	ed        Z
e
j                  d	        Z
ed
        Zej                  d        Zed        Zej                  d        Zed        Zej                  d        Zed        Z	 	 	 	 	 	 	 d fd	Z xZS )Marginlayoutzlayout.margin>   blrtpad
autoexpandc                     | d   S )aT  
        Turns on/off margin expansion computations. Legends, colorbars,
        updatemenus, sliders, axis rangeselector and rangeslider are
        allowed to push the margins by defaults.

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

        Returns
        -------
        bool
        r    selfs    ]/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/plotly/graph_objs/layout/_margin.pyr   zMargin.autoexpand   s     L!!    c                     || d<   y )Nr   r   r   vals     r   r   zMargin.autoexpand   s     \r   c                     | d   S )z
        Sets the bottom margin (in px).

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

        Returns
        -------
        int|float
        r   r   r   s    r   r   zMargin.b%        Cyr   c                     || d<   y )Nr   r   r   s     r   r   zMargin.b3       S	r   c                     | d   S )z
        Sets the left margin (in px).

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

        Returns
        -------
        int|float
        r   r   r   s    r   r   zMargin.l9   r   r   c                     || d<   y )Nr   r   r   s     r   r   zMargin.lG   r   r   c                     | d   S )a  
        Sets the amount of padding (in px) between the plotting area
        and the axis lines

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

        Returns
        -------
        int|float
        r   r   r   s    r   r   z
Margin.padM   s     E{r   c                     || d<   y )Nr   r   r   s     r   r   z
Margin.pad\   s    Ur   c                     | d   S )z
        Sets the right margin (in px).

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

        Returns
        -------
        int|float
        r	   r   r   s    r   r	   zMargin.rb   r   r   c                     || d<   y )Nr	   r   r   s     r   r	   zMargin.rp   r   r   c                     | d   S )z
        Sets the top margin (in px).

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

        Returns
        -------
        int|float
        r
   r   r   s    r   r
   zMargin.tv   r   r   c                     || d<   y )Nr
   r   r   s     r   r
   zMargin.t   r   r   c                      y)Na7          autoexpand
            Turns on/off margin expansion computations. Legends,
            colorbars, updatemenus, sliders, axis rangeselector and
            rangeslider are allowed to push the margins by
            defaults.
        b
            Sets the bottom margin (in px).
        l
            Sets the left margin (in px).
        pad
            Sets the amount of padding (in px) between the plotting
            area and the axis lines
        r
            Sets the right margin (in px).
        t
            Sets the top margin (in px).
        r   r   s    r   _prop_descriptionszMargin._prop_descriptions   s    r   c           	         t         t        |   d       d|v r|d   | _        y|i }nXt	        || j
                        r|j                         }n1t	        |t              rt        j                  |      }nt        d      |j                  dd      | _        |j                  dd      | _        |j                  d	d      }	||n|	}	|	|	| d	<   |j                  d
d      }	||n|	}	|	|	| d
<   |j                  dd      }	||n|	}	|	|	| d<   |j                  dd      }	||n|	}	|	|	| d<   |j                  dd      }	||n|	}	|	|	| d<   |j                  dd      }	||n|	}	|	|	| d<    | j                  di t        |fi | d| _        y)aH  
        Construct a new Margin object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.layout.Margin`
        autoexpand
            Turns on/off margin expansion computations. Legends,
            colorbars, updatemenus, sliders, axis rangeselector and
            rangeslider are allowed to push the margins by
            defaults.
        b
            Sets the bottom margin (in px).
        l
            Sets the left margin (in px).
        pad
            Sets the amount of padding (in px) between the plotting
            area and the axis lines
        r
            Sets the right margin (in px).
        t
            Sets the top margin (in px).

        Returns
        -------
        Margin
        margin_parentNzThe first argument to the plotly.graph_objs.layout.Margin
constructor must be a dict or
an instance of :class:`plotly.graph_objs.layout.Margin`skip_invalidF	_validateTr   r   r   r   r	   r
   r   )superr   __init__r&   
isinstance	__class__to_plotly_jsondict_copycopy
ValueErrorpop_skip_invalidr(   _process_kwargs)r   argr   r   r   r   r	   r
   kwargs_vr,   s             r   r*   zMargin.__init__   s   P 	fd$X.!),DL ;CT^^,$$&CT"**S/C;  $ZZ>K6 WW\4(%1Zr>!#DWWS$-QR>DIWWS$-QR>DIWWUD!OS>DKWWS$-QR>DIWWS$-QR>DI 	3tC2623 #r   )NNNNNNN)__name__
__module____qualname___parent_path_str	_path_str_valid_propspropertyr   setterr   r   r   r	   r
   r#   r*   __classcell__)r,   s   @r   r   r      sV     I<L " " ! !
   XX 
   XX 
   	ZZ 
   XX 
   XX 
  , 



d# d#r   r   )plotly.basedatatypesr   _BaseLayoutHierarchyTyper0   r/   r   r   r   r   <module>rC      s    T ~#% ~#r   