
    -Ph                     6    d dl mZ d dlZ G d de          ZdS )    )BaseFrameHierarchyTypeNc                       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 )Frame frame>   datanamegrouplayouttraces	baseframec                     | d         S )a  
        The name of the frame into which this frame's properties are
        merged before applying. This is used to unify properties and
        avoid needing to specify the same values for the same
        properties in multiple frames.

        The 'baseframe' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string

        Returns
        -------
        str
        r    selfs    X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/plotly/graph_objs/_frame.pyr   zFrame.baseframe   s      K      c                     || d<   d S )Nr   r   r   vals     r   r   zFrame.baseframe    s    [r   c                     | d         S )z
        A list of traces this frame modifies. The format is identical
        to the normal trace definition.

        Returns
        -------
        Any
        r   r   r   s    r   r   z
Frame.data$   s     F|r   c                     || d<   d S )Nr   r   r   s     r   r   z
Frame.data0       Vr   c                     | d         S )aH  
        An identifier that specifies the group to which the frame
        belongs, used by animate to select a subset of frames.

        The 'group' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string

        Returns
        -------
        str
        r
   r   r   s    r   r
   zFrame.group4   s     G}r   c                     || d<   d S )Nr
   r   r   s     r   r
   zFrame.groupD   s    Wr   c                     | d         S )z
        Layout properties which this frame modifies. The format is
        identical to the normal layout definition.

        Returns
        -------
        Any
        r   r   r   s    r   r   zFrame.layoutH   s     H~r   c                     || d<   d S )Nr   r   r   s     r   r   zFrame.layoutT       Xr   c                     | d         S )z
        A label by which to identify the frame

        The 'name' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string

        Returns
        -------
        str
        r	   r   r   s    r   r	   z
Frame.nameX   s     F|r   c                     || d<   d S )Nr	   r   r   s     r   r	   z
Frame.nameg   r   r   c                     | d         S )z
        A list of trace indices that identify the respective traces in
        the data attribute

        The 'traces' property accepts values of any type

        Returns
        -------
        Any
        r   r   r   s    r   r   zFrame.tracesk   s     H~r   c                     || d<   d S )Nr   r   r   s     r   r   zFrame.tracesy   r   r   c                     dS )Na          baseframe
            The name of the frame into which this frame's
            properties are merged before applying. This is used to
            unify properties and avoid needing to specify the same
            values for the same properties in multiple frames.
        data
            A list of traces this frame modifies. The format is
            identical to the normal trace definition.
        group
            An identifier that specifies the group to which the
            frame belongs, used by animate to select a subset of
            frames.
        layout
            Layout properties which this frame modifies. The format
            is identical to the normal layout definition.
        name
            A label by which to identify the frame
        traces
            A list of trace indices that identify the respective
            traces in the data attribute
        r   r   s    r   _prop_descriptionszFrame._prop_descriptions}   s     r   Nc           	         t                                          d           d|v r|d         | _        dS |i }nct          || j                  r|                                }n9t          |t                    rt          j        |          }nt          d          |
                    dd          | _        |
                    dd          | _        |                     d	||           |                     d
||           |                     d||           |                     d||           |                     d||           |                     d||            | j        di t          |fi | d| _        dS )a  
        Construct a new Frame object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.Frame`
        baseframe
            The name of the frame into which this frame's
            properties are merged before applying. This is used to
            unify properties and avoid needing to specify the same
            values for the same properties in multiple frames.
        data
            A list of traces this frame modifies. The format is
            identical to the normal trace definition.
        group
            An identifier that specifies the group to which the
            frame belongs, used by animate to select a subset of
            frames.
        layout
            Layout properties which this frame modifies. The format
            is identical to the normal layout definition.
        name
            A label by which to identify the frame
        traces
            A list of trace indices that identify the respective
            traces in the data attribute

        Returns
        -------
        Frame
        frames_parentNzThe first argument to the plotly.graph_objs.Frame
constructor must be a dict or
an instance of :class:`plotly.graph_objs.Frame`skip_invalidF	_validateTr   r   r
   r   r	   r   r   )super__init__r'   
isinstance	__class__to_plotly_jsondict_copycopy
ValueErrorpop_skip_invalidr)   _set_property_process_kwargs)
r   argr   r   r
   r   r	   r   kwargsr-   s
            r   r+   zFrame.__init__   s   X 	"""!),DLF;CCT^,, 
	$$&&CCT"" 	*S//CC3   $ZZ>>K66;Y77763---7C///8S&11163---8S&11133tC2262233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      s       IMMML! ! X!"       	 	 X	 
[  [   X \  \ 	 	 X	 ]  ]   X 
[  [   X ]  ]   X4 I# I# I# I# I# I# I# I# I# I#r   r   )plotly.basedatatypesr   _BaseFrameHierarchyTyper1   r0   r   r   r   r   <module>rD      se    S R R R R R    W# W# W# W# W## W# W# W# W# W#r   