
    gP                     .    d dl mZ d dlZ G d de      Zy)    )BaseTraceHierarchyTypeNc                       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	 d fd	Z xZS )Tilingtreemapztreemap.tiling>   padflippackingsquarifyratioc                     | d   S )aO  
        Determines if the positions obtained from solver are flipped on
        each axis.

        The 'flip' property is a flaglist and may be specified
        as a string containing:
          - Any combination of ['x', 'y'] joined with '+' characters
            (e.g. 'x+y')

        Returns
        -------
        Any
        r    selfs    ^/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/plotly/graph_objs/treemap/_tiling.pyr   zTiling.flip   s     F|    c                     || d<   y )Nr   r   r   vals     r   r   zTiling.flip    s    Vr   c                     | d   S )a  
        Determines d3 treemap solver. For more info please refer to
        https://github.com/d3/d3-hierarchy#treemap-tiling

        The 'packing' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['squarify', 'binary', 'dice', 'slice', 'slice-dice',
                'dice-slice']

        Returns
        -------
        Any
        r	   r   r   s    r   r	   zTiling.packing&   s     Ir   c                     || d<   y )Nr	   r   r   s     r   r	   zTiling.packing7   s    Yr   c                     | d   S )z
        Sets the inner padding (in px).

        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
Tiling.pad=   s     E{r   c                     || d<   y )Nr   r   r   s     r   r   z
Tiling.padK   s    Ur   c                     | d   S )a  
        When using "squarify" `packing` algorithm, according to https:/
        /github.com/d3/d3-
        hierarchy/blob/v3.1.1/README.md#squarify_ratio this option
        specifies the desired aspect ratio of the generated rectangles.
        The ratio must be specified as a number greater than or equal
        to one. Note that the orientation of the generated rectangles
        (tall or wide) is not implied by the ratio; for example, a
        ratio of two will attempt to produce a mixture of rectangles
        whose width:height ratio is either 2:1 or 1:2. When using
        "squarify", unlike d3 which uses the Golden Ratio i.e.
        1.618034, Plotly applies 1 to increase squares in treemap
        layouts.

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

        Returns
        -------
        int|float
        r
   r   r   s    r   r
   zTiling.squarifyratioQ   s    . O$$r   c                     || d<   y )Nr
   r   r   s     r   r
   zTiling.squarifyratioj   s     #_r   c                      y)Naz          flip
            Determines if the positions obtained from solver are
            flipped on each axis.
        packing
            Determines d3 treemap solver. For more info please
            refer to https://github.com/d3/d3-hierarchy#treemap-
            tiling
        pad
            Sets the inner padding (in px).
        squarifyratio
            When using "squarify" `packing` algorithm, according to
            https://github.com/d3/d3-
            hierarchy/blob/v3.1.1/README.md#squarify_ratio this
            option specifies the desired aspect ratio of the
            generated rectangles. The ratio must be specified as a
            number greater than or equal to one. Note that the
            orientation of the generated rectangles (tall or wide)
            is not implied by the ratio; for example, a ratio of
            two will attempt to produce a mixture of rectangles
            whose width:height ratio is either 2:1 or 1:2. When
            using "squarify", unlike d3 which uses the Golden Ratio
            i.e. 1.618034, Plotly applies 1 to increase squares in
            treemap layouts.
        r   r   s    r   _prop_descriptionszTiling._prop_descriptionsp   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i t        |fi | d| _        y)a  
        Construct a new Tiling object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.treemap.Tiling`
        flip
            Determines if the positions obtained from solver are
            flipped on each axis.
        packing
            Determines d3 treemap solver. For more info please
            refer to https://github.com/d3/d3-hierarchy#treemap-
            tiling
        pad
            Sets the inner padding (in px).
        squarifyratio
            When using "squarify" `packing` algorithm, according to
            https://github.com/d3/d3-
            hierarchy/blob/v3.1.1/README.md#squarify_ratio this
            option specifies the desired aspect ratio of the
            generated rectangles. The ratio must be specified as a
            number greater than or equal to one. Note that the
            orientation of the generated rectangles (tall or wide)
            is not implied by the ratio; for example, a ratio of
            two will attempt to produce a mixture of rectangles
            whose width:height ratio is either 2:1 or 1:2. When
            using "squarify", unlike d3 which uses the Golden Ratio
            i.e. 1.618034, Plotly applies 1 to increase squares in
            treemap layouts.

        Returns
        -------
        Tiling
        tiling_parentNzThe first argument to the plotly.graph_objs.treemap.Tiling
constructor must be a dict or
an instance of :class:`plotly.graph_objs.treemap.Tiling`skip_invalidF	_validateTr   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
   kwargs_vr$   s	           r   r"   zTiling.__init__   sw   P 	fd$X.!),DL ;CT^^,$$&CT"**S/C<  $ZZ>K6 WWVT"%T2>DLWWY%+W> DOWWUD!OS>DKWW_d++7]R>$&D! 	3tC2623 #r   )NNNNN)__name__
__module____qualname___parent_path_str	_path_str_valid_propspropertyr   setterr	   r   r
   r   r"   __classcell__)r$   s   @r   r   r      s     ! I>L    
[[ 
    ^^ 
   	ZZ 
 % %0 $ $
  8 JN\# \#r   r   )plotly.basedatatypesr   _BaseTraceHierarchyTyper(   r'   r   r   r   r   <module>r;      s    R c#$ c#r   