File size: 2,239 Bytes
48d6121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Description du projet
---------------------

`gradio_modal`
==============

[![PyPI - Version](https://pypi-camo.freetls.fastly.net/19d01702f9691477566e07fbd3c8eb08188e6eae/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f67726164696f5f6d6f64616c)](https://pypi.org/project/gradio_modal/)

A popup modal component

Installation
------------

pip install gradio\_modal

Usage
-----

import gradio as gr
from gradio\_modal import Modal

with gr.Blocks() as demo:
    with gr.Tab("Tab 1"):
        text\_1 \= gr.Textbox(label\="Input 1")
        text\_2 \= gr.Textbox(label\="Input 2")
        text\_1.submit(lambda x:x, text\_1, text\_2)
        show\_btn \= gr.Button("Show Modal")
        show\_btn2 \= gr.Button("Show Modal 2")
        gr.Examples(
            \[\["Text 1", "Text 2"\], \["Text 3", "Text 4"\]\],
            inputs\=\[text\_1, text\_2\],
        )
    with gr.Tab("Tab 2"):
        gr.Markdown("This is tab 2")
    with Modal(visible\=False) as modal:
        for i in range(5):
            gr.Markdown("Hello world!")
    with Modal(visible\=False) as modal2:
        for i in range(100):
            gr.Markdown("Hello world!")
    show\_btn.click(lambda: Modal(visible\=True), None, modal)
    show\_btn2.click(lambda: Modal(visible\=True), None, modal2)

if \_\_name\_\_ \== "\_\_main\_\_":
    demo.launch()

`Modal`
-------

### Initialization

name

type

default

description

`visible`

bool

`False`

If False, modal will be hidden.

`elem_id`

str | None

`None`

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`

list\[str\] | str | None

`None`

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`

bool

`True`

If True, user can close the modal (by clicking outside, clicking the X, or the escape key).

`render`

bool

`True`

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.

### Events

name

description

`blur`

This listener is triggered when the Modal is unfocused/blurred.