Spaces:
Runtime error
Runtime error
from __future__ import annotations | |
from gradio_client.documentation import document, set_documentation_group | |
from gradio.blocks import BlockContext | |
from gradio.context import Context | |
from gradio.component_meta import ComponentMeta | |
from gradio.events import Events | |
set_documentation_group("layout") | |
class Modal(BlockContext, metaclass=ComponentMeta): | |
""" | |
Modal is a layout element within Blocks that will show its content in a popup above other content. | |
Example: | |
from gradio_modal import Modal | |
with gr.Blocks() as demo: | |
with Modal(): | |
text1 = gr.Textbox() | |
text2 = gr.Textbox() | |
btn = gr.Button("Button") | |
Guides: controlling-layout | |
""" | |
EVENTS = [Events.blur] | |
def __init__( | |
self, | |
*, | |
visible: bool = False, | |
elem_id: str | None = None, | |
elem_classes: list[str] | str | None = None, | |
allow_user_close: bool = True, | |
render: bool = True, | |
): | |
""" | |
Parameters: | |
visible: If False, modal will be hidden. | |
elem_id: An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles. | |
elem_classes: An optional string or list of strings that are assigned as the class of this component in the HTML DOM. Can be used for targeting CSS styles. | |
allow_user_close: If True, user can close the modal (by clicking outside, clicking the X, or the escape key). | |
render: If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later. | |
""" | |
self.allow_user_close = allow_user_close | |
BlockContext.__init__( | |
self, | |
visible=visible, | |
elem_id=elem_id, | |
elem_classes=elem_classes, | |
render=render, | |
) | |
if Context.root_block: | |
self.blur( | |
None, | |
None, | |
self, | |
js=""" | |
() => { | |
return { | |
"__type__": "update", | |
"visible": false | |
} | |
} | |
""" | |
) | |