|  | """gr.State() component.""" | 
					
						
						|  |  | 
					
						
						|  | from __future__ import annotations | 
					
						
						|  |  | 
					
						
						|  | from copy import deepcopy | 
					
						
						|  | from typing import Any | 
					
						
						|  |  | 
					
						
						|  | from gradio_client.documentation import document, set_documentation_group | 
					
						
						|  | from gradio_client.serializing import SimpleSerializable | 
					
						
						|  |  | 
					
						
						|  | from gradio.components.base import IOComponent | 
					
						
						|  |  | 
					
						
						|  | set_documentation_group("component") | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | @document() | 
					
						
						|  | class State(IOComponent, SimpleSerializable): | 
					
						
						|  | """ | 
					
						
						|  | Special hidden component that stores session state across runs of the demo by the | 
					
						
						|  | same user. The value of the State variable is cleared when the user refreshes the page. | 
					
						
						|  |  | 
					
						
						|  | Preprocessing: No preprocessing is performed | 
					
						
						|  | Postprocessing: No postprocessing is performed | 
					
						
						|  | Demos: blocks_simple_squares | 
					
						
						|  | Guides: real-time-speech-recognition | 
					
						
						|  | """ | 
					
						
						|  |  | 
					
						
						|  | allow_string_shortcut = False | 
					
						
						|  |  | 
					
						
						|  | def __init__( | 
					
						
						|  | self, | 
					
						
						|  | value: Any = None, | 
					
						
						|  | **kwargs, | 
					
						
						|  | ): | 
					
						
						|  | """ | 
					
						
						|  | Parameters: | 
					
						
						|  | value: the initial value (of arbitrary type) of the state. The provided argument is deepcopied. If a callable is provided, the function will be called whenever the app loads to set the initial value of the state. | 
					
						
						|  | """ | 
					
						
						|  | self.stateful = True | 
					
						
						|  | IOComponent.__init__(self, value=deepcopy(value), **kwargs) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | class Variable(State): | 
					
						
						|  | """Variable was renamed to State. This class is kept for backwards compatibility.""" | 
					
						
						|  |  | 
					
						
						|  | def __init__(self, *args, **kwargs): | 
					
						
						|  | super().__init__(*args, **kwargs) | 
					
						
						|  |  | 
					
						
						|  | def get_block_name(self): | 
					
						
						|  | return "state" | 
					
						
						|  |  |