Ë
    úmxiõ   ã                  óœ   — d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z d dlmZ erd dlmZ  G d„ d	«      Z	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Zy
)é    )Úannotations)ÚTYPE_CHECKINGÚcast)ÚLayoutConfig)ÚStreamlitAPIException)ÚIFrame)Úgather_metrics)ÚDeltaGeneratorc                  ó¢   — e Zd Z ed«      	 	 	 dddœ	 	 	 	 	 	 	 	 	 	 	 d	d„«       Z ed«      	 	 	 dddœ	 	 	 	 	 	 	 	 	 	 	 d
d„«       Zedd„«       Zy)ÚIframeMixinÚ_iframeN)Ú	tab_indexc               óš   — t        «       }t        ||||¬«       t        |�|nd|�|nd¬«      }| j                  j	                  d||¬«      S )ad  Load a remote URL in an iframe.

        To use this function, import it from the ``streamlit.components.v1``
        module.

        .. warning::
            Using ``st.components.v1.iframe`` directly (instead of importing
            its module) is deprecated and will be disallowed in a later version.

        Parameters
        ----------
        src : str
            The URL of the page to embed.

        width : int
            The width of the iframe in CSS pixels. By default, this is the
            app's default element width.

        height : int
            The height of the frame in CSS pixels. By default, this is ``150``.

        scrolling : bool
            Whether to allow scrolling in the iframe. If this ``False``
            (default), Streamlit crops any content larger than the iframe and
            does not show a scrollbar. If this is ``True``, Streamlit shows a
            scrollbar when the content is larger than the iframe.

        tab_index : int or None
            Specifies how and if the iframe is sequentially focusable.
            Users typically use the ``Tab`` key for sequential focus
            navigation.

            This can be one of the following values:

            - ``None`` (default): Uses the browser's default behavior.
            - ``-1``: Removes the iframe from sequential navigation, but still
              allows it to be focused programmatically.
            - ``0``: Includes the iframe in sequential navigation in the order
              it appears in the document but after all elements with a positive
              ``tab_index``.
            - Positive integer: Includes the iframe in sequential navigation.
              Elements are navigated in ascending order of their positive
              ``tab_index``.

            For more information, see the `tabindex
            <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex>`_
            documentation on MDN.

        Example
        -------

        >>> import streamlit.components.v1 as components
        >>>
        >>> components.iframe("https://example.com", height=500)

        )ÚsrcÚ	scrollingr   Ústretché–   ©ÚwidthÚheightÚiframe©Úlayout_config©ÚIFrameProtoÚmarshallr   ÚdgÚ_enqueue)Úselfr   r   r   r   r   Úiframe_protor   s           úP/home/htdocs/ttos/venv/lib/python3.12/site-packages/streamlit/elements/iframe.pyr   zIframeMixin._iframe   s^   € ôD #“}ˆÜØØØØõ		
ô %Ø Ð,‘%°)Ø#Ð/‘6°Sô
ˆð �w‰w×Ñ ¨,ÀmÐÓTÐTó    Ú_htmlc               óš   — t        «       }t        ||||¬«       t        |�|nd|�|nd¬«      }| j                  j	                  d||¬«      S )a%	  Display an HTML string in an iframe.

        To use this function, import it from the ``streamlit.components.v1``
        module.

        If you want to insert HTML text into your app without an iframe, try
        ``st.html`` instead.

        .. warning::
            Using ``st.components.v1.html`` directly (instead of importing
            its module) is deprecated and will be disallowed in a later version.

        Parameters
        ----------
        html : str
            The HTML string to embed in the iframe.

        width : int
            The width of the iframe in CSS pixels. By default, this is the
            app's default element width.

        height : int
            The height of the frame in CSS pixels. By default, this is ``150``.

        scrolling : bool
            Whether to allow scrolling in the iframe. If this ``False``
            (default), Streamlit crops any content larger than the iframe and
            does not show a scrollbar. If this is ``True``, Streamlit shows a
            scrollbar when the content is larger than the iframe.

        tab_index : int or None
            Specifies how and if the iframe is sequentially focusable.
            Users typically use the ``Tab`` key for sequential focus
            navigation.

            This can be one of the following values:

            - ``None`` (default): Uses the browser's default behavior.
            - ``-1``: Removes the iframe from sequential navigation, but still
              allows it to be focused programmatically.
            - ``0``: Includes the iframe in sequential navigation in the order
              it appears in the document but after all elements with a positive
              ``tab_index``.
            - Positive integer: Includes the iframe in sequential navigation.
              Elements are navigated in ascending order of their positive
              ``tab_index``.

            For more information, see the `tabindex
            <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex>`_
            documentation on MDN.

        Example
        -------

        >>> import streamlit.components.v1 as components
        >>>
        >>> components.html(
        >>>     "<p><span style='text-decoration: line-through double red;'>Oops</span>!</p>"
        >>> )

        )Úsrcdocr   r   r   r   r   r   r   r   )r   Úhtmlr   r   r   r   r    r   s           r!   r#   zIframeMixin._htmll   s^   € ôN #“}ˆÜØØØØõ		
ô %Ø Ð,‘%°)Ø#Ð/‘6°Sô
ˆð �w‰w×Ñ ¨,ÀmÐÓTÐTr"   c                ó   — t        d| «      S )zGet our DeltaGenerator.r
   )r   )r   s    r!   r   zIframeMixin.dgÀ   s   € ô Ð$ dÓ+Ð+r"   )NNF)r   Ústrr   ú
int | Noner   r)   r   Úboolr   r)   Úreturnr
   )r&   r(   r   r)   r   r)   r   r*   r   r)   r+   r
   )r+   r
   )Ú__name__Ú
__module__Ú__qualname__r	   r   r#   Úpropertyr   © r"   r!   r   r      s
  „ Ù�IÓð !Ø!ØðLUð !%ñLUàðLUð ðLUð ð	LUð
 ðLUð ðLUð 
òLUó ðLUñ\ �GÓð !Ø!ØðQUð !%ñQUàðQUð ðQUð ð	QUð
 ðQUð ðQUð 
òQUó ðQUðf ò,ó ñ,r"   r   Nc                óª   — |�|| _         |�|| _        || _        |�8t        |t        «      rt        |t
        «      s|dk\  st        d«      ‚|| _        yy)a—  Marshalls data into an IFrame proto.

    These parameters correspond directly to <iframe> attributes, which are
    described in more detail at
    https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe.

    Parameters
    ----------
    proto : IFrame protobuf
        The protobuf object to marshall data into.
    src : str
        The URL of the page to embed.
    srcdoc : str
        Inline HTML to embed. Overrides src.
    scrolling : bool
        If true, show a scrollbar when the content is larger than the iframe.
        Otherwise, never show a scrollbar.
    tab_index : int, optional
        Specifies the tab order of the iframe.

    Néÿÿÿÿz6tab_index must be None, -1, or a non-negative integer.)r   r%   r   Ú
isinstanceÚintr*   r   r   )Úprotor   r%   r   r   s        r!   r   r   Æ   se   € ð8 €ØˆŒ	àÐØˆŒà€E„OàÐô �y¤#Ô&Ü˜y¬$Ô/Ø˜R’ä'ØHóð ð $ˆ�ð r"   )NNFN)r5   r   r   ú
str | Noner%   r6   r   r*   r   r)   r+   ÚNone)Ú
__future__r   Útypingr   r   Ú#streamlit.elements.lib.layout_utilsr   Ústreamlit.errorsr   Ústreamlit.proto.IFrame_pb2r   r   Ústreamlit.runtime.metrics_utilr	   Ústreamlit.delta_generatorr
   r   r   r0   r"   r!   ú<module>r?      sw   ðõ #ç &å <Ý 2Ý <Ý 9áÝ8÷g,ñ g,ðX ØØØ ð/$Øð/$à	ð/$ð ð/$ð ð	/$ð
 ð/$ð 
ô/$r"   