
    Pi~	                        d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlmZ  e             G d d	e
                      ZdS )
zgr.BrowserState() component.    )annotationsN)Any)document)	Component)Eventsc                  p     e Zd Zej        gZ	 	 dddddd fdZddZddZddZ	ddZ
ddZddZ xZS )BrowserStateNT)storage_keysecretrenderdefault_valuer   r
   
str | Noner   r   boolc               4   || _         |p+d                    d t          d          D                       | _        |p+d                    d t          d          D                       | _        d| _        t                                          |           dS )a  
        Parameters:
            default_value: the default value that will be used if no value is found in localStorage. Should be a json-serializable value.
            storage_key: the key to use in localStorage. If None, a random key will be generated.
            secret: the secret key to use for encryption. If None, a random key will be generated (recommended).
            render: should always be True, is included for consistency with other components.
         c              3  l   K   | ]/}t          j        t          j        t          j        z             V  0d S Nsecretschoicestringascii_lettersdigits.0_s     s/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/gradio/components/browser_state.py	<genexpr>z(BrowserState.__init__.<locals>.<genexpr>&   sG       (
 (
EFGN6/&-?@@(
 (
 (
 (
 (
 (
       c              3  l   K   | ]/}t          j        t          j        t          j        z             V  0d S r   r   r   s     r   r   z(BrowserState.__init__.<locals>.<genexpr>)   sG       2
 2
EFGN6/&-?@@2
 2
 2
 2
 2
 2
r   any json-serializable value)r   N)r   joinranger   r
   _value_descriptionsuper__init__)selfr   r
   r   r   	__class__s        r   r'   zBrowserState.__init__   s     + 
 (
 (
JOPR))(
 (
 (
 !
 !
 ' 
"'' 2
 2
JOPR))2
 2
 2
 +
 +
 #@'''''r   payloadreturnc                    || j         S |S )z
        Parameters:
            payload: Value from local storage
        Returns:
            Passes value through unchanged
        )r   )r(   r*   s     r   
preprocesszBrowserState.preprocess0   s     ?%%r   valuec                    |S )z
        Parameters:
            value: Value to store in local storage
        Returns:
            Passes value through unchanged
         )r(   r.   s     r   postprocesszBrowserState.postprocess;   s	     r   dict[str, Any]c                    i ddS )Nr"   )typedescriptionr0   r(   s    r   api_infozBrowserState.api_infoD   s    +HIIIr   c                    dS Ntestr0   r6   s    r   example_payloadzBrowserState.example_payloadG       vr   c                    dS r9   r0   r6   s    r   example_valuezBrowserState.example_valueJ   r<   r   c                    dS )zABrowserState components should not break wrapper grouping chains.Fr0   r6   s    r   breaks_groupingzBrowserState.breaks_groupingM   s    ur   r   )r   r   r
   r   r   r   r   r   )r*   r   r+   r   )r.   r   r+   r   )r+   r2   )r+   r   )r+   r   )__name__
__module____qualname__r   changeEVENTSr'   r-   r1   r7   r;   r>   r@   __classcell__)r)   s   @r   r	   r	      s        m_F "( #'!( ( ( ( ( ( ( (4	 	 	 	   J J J J             r   r	   )__doc__
__future__r   r   r   typingr   gradio_client.documentationr   gradio.components.baser   gradio.eventsr   r	   r0   r   r   <module>rM      s    " " " " " " " "         0 0 0 0 0 0 , , , , , ,             
? ? ? ? ?9 ? ? ? ? ?r   