aliabid94 HF staff commited on
Commit
d0e9620
1 Parent(s): 44349bf

Upload folder using huggingface_hub

Browse files
Dockerfile ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ FROM python:3.9
3
+
4
+ WORKDIR /code
5
+
6
+ COPY --link --chown=1000 . .
7
+
8
+ RUN mkdir -p /tmp/cache/
9
+ RUN chmod a+rwx -R /tmp/cache/
10
+ ENV TRANSFORMERS_CACHE=/tmp/cache/
11
+
12
+ RUN pip install --no-cache-dir -r requirements.txt
13
+
14
+ ENV PYTHONUNBUFFERED=1 GRADIO_ALLOW_FLAGGING=never GRADIO_NUM_PORTS=1 GRADIO_SERVER_NAME=0.0.0.0 GRADIO_SERVER_PORT=7860 SYSTEM=spaces
15
+
16
+ CMD ["python", "space.py"]
README.md CHANGED
@@ -1,10 +1,17 @@
 
1
  ---
2
- title: Gradio Modal
3
- emoji: 🐢
4
- colorFrom: pink
5
- colorTo: purple
6
  sdk: docker
7
  pinned: false
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
1
+
2
  ---
3
+ tags: [gradio-custom-component,gradio-template-Column,Modal, Popup]
4
+ title: gradio_modal V0.0.1
5
+ colorFrom: green
6
+ colorTo: green
7
  sdk: docker
8
  pinned: false
9
+ license: apache-2.0
10
  ---
11
 
12
+
13
+ # Name: gradio_modal
14
+
15
+ Description: A popup modal component
16
+
17
+ Install with: pip install gradio_modal
__init__.py ADDED
File without changes
app.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from gradio_modal import Modal
4
+
5
+
6
+ with gr.Blocks() as demo:
7
+ gr.Markdown("### Main Page")
8
+ gr.Textbox("lorem ipsum " * 1000, lines=10)
9
+
10
+ with Modal(visible=True) as modal:
11
+ gr.Markdown("# License Agreement")
12
+ gr.Textbox(value="This is the license agreement. Please read it carefully. " * 5, lines=12)
13
+ close_btn = gr.Button("Close Modal")
14
+ close_btn.click(lambda: Modal(visible=False), None, modal)
15
+
16
+ show_btn = gr.Button("Show Modal")
17
+ show_btn.click(lambda: Modal(visible=True), None, modal)
18
+
19
+
20
+ if __name__ == "__main__":
21
+ demo.launch()
css.css ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html {
2
+ font-family: Inter;
3
+ font-size: 16px;
4
+ font-weight: 400;
5
+ line-height: 1.5;
6
+ -webkit-text-size-adjust: 100%;
7
+ background: #fff;
8
+ color: #323232;
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ text-rendering: optimizeLegibility;
12
+ }
13
+
14
+ :root {
15
+ --space: 1;
16
+ --vspace: calc(var(--space) * 1rem);
17
+ --vspace-0: calc(3 * var(--space) * 1rem);
18
+ --vspace-1: calc(2 * var(--space) * 1rem);
19
+ --vspace-2: calc(1.5 * var(--space) * 1rem);
20
+ --vspace-3: calc(0.5 * var(--space) * 1rem);
21
+ }
22
+
23
+ .app {
24
+ max-width: 748px !important;
25
+ }
26
+
27
+ .prose p {
28
+ margin: var(--vspace) 0;
29
+ line-height: var(--vspace * 2);
30
+ font-size: 1rem;
31
+ }
32
+
33
+ code {
34
+ font-family: "Inconsolata", sans-serif;
35
+ font-size: 16px;
36
+ }
37
+
38
+ h1,
39
+ h1 code {
40
+ font-weight: 400;
41
+ line-height: calc(2.5 / var(--space) * var(--vspace));
42
+ }
43
+
44
+ h1 code {
45
+ background: none;
46
+ border: none;
47
+ letter-spacing: 0.05em;
48
+ padding-bottom: 5px;
49
+ position: relative;
50
+ padding: 0;
51
+ }
52
+
53
+ h2 {
54
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
55
+ line-height: 1em;
56
+ }
57
+
58
+ h3,
59
+ h3 code {
60
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
61
+ line-height: 1em;
62
+ }
63
+
64
+ h4,
65
+ h5,
66
+ h6 {
67
+ margin: var(--vspace-3) 0 var(--vspace-3) 0;
68
+ line-height: var(--vspace);
69
+ }
70
+
71
+ .bigtitle,
72
+ h1,
73
+ h1 code {
74
+ font-size: calc(8px * 4.5);
75
+ word-break: break-word;
76
+ }
77
+
78
+ .title,
79
+ h2,
80
+ h2 code {
81
+ font-size: calc(8px * 3.375);
82
+ font-weight: lighter;
83
+ word-break: break-word;
84
+ border: none;
85
+ background: none;
86
+ }
87
+
88
+ .subheading1,
89
+ h3,
90
+ h3 code {
91
+ font-size: calc(8px * 1.8);
92
+ font-weight: 600;
93
+ border: none;
94
+ background: none;
95
+ letter-spacing: 0.1em;
96
+ text-transform: uppercase;
97
+ }
98
+
99
+ h2 code {
100
+ padding: 0;
101
+ position: relative;
102
+ letter-spacing: 0.05em;
103
+ }
104
+
105
+ blockquote {
106
+ font-size: calc(8px * 1.1667);
107
+ font-style: italic;
108
+ line-height: calc(1.1667 * var(--vspace));
109
+ margin: var(--vspace-2) var(--vspace-2);
110
+ }
111
+
112
+ .subheading2,
113
+ h4 {
114
+ font-size: calc(8px * 1.4292);
115
+ text-transform: uppercase;
116
+ font-weight: 600;
117
+ }
118
+
119
+ .subheading3,
120
+ h5 {
121
+ font-size: calc(8px * 1.2917);
122
+ line-height: calc(1.2917 * var(--vspace));
123
+
124
+ font-weight: lighter;
125
+ text-transform: uppercase;
126
+ letter-spacing: 0.15em;
127
+ }
128
+
129
+ h6 {
130
+ font-size: calc(8px * 1.1667);
131
+ font-size: 1.1667em;
132
+ font-weight: normal;
133
+ font-style: italic;
134
+ font-family: "le-monde-livre-classic-byol", serif !important;
135
+ letter-spacing: 0px !important;
136
+ }
137
+
138
+ #start .md > *:first-child {
139
+ margin-top: 0;
140
+ }
141
+
142
+ h2 + h3 {
143
+ margin-top: 0;
144
+ }
145
+
146
+ .md hr {
147
+ border: none;
148
+ border-top: 1px solid var(--block-border-color);
149
+ margin: var(--vspace-2) 0 var(--vspace-2) 0;
150
+ }
151
+ .prose ul {
152
+ margin: var(--vspace-2) 0 var(--vspace-1) 0;
153
+ }
154
+
155
+ .gap {
156
+ gap: 0;
157
+ }
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ gradio_modal-0.0.1-py3-none-any.whl
space.py ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from app import demo as app
4
+ import os
5
+
6
+ _docs = {'Modal': {'description': 'Modal is a layout element within Blocks that will show its content in a popup above other content.\n from gradio_modal import Modal\n with gr.Blocks() as demo:\n with Modal():\n text1 = gr.Textbox()\n text2 = gr.Textbox()\n btn = gr.Button("Button")', 'members': {'__init__': {'visible': {'type': 'bool', 'default': 'False', 'description': 'If False, column will be hidden.'}, 'elem_id': {'type': 'str | None', 'default': 'None', 'description': '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': {'type': 'list[str] | str | None', 'default': 'None', 'description': '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': {'type': 'bool', 'default': 'True', 'description': 'If True, user can close the modal (by clicking outside, clicking the X, or the escape key).'}, 'render': {'type': 'bool', 'default': 'True', 'description': '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.'}}, 'postprocess': {}}, 'events': {}}, '__meta__': {'additional_interfaces': {}}}
7
+
8
+ abs_path = os.path.join(os.path.dirname(__file__), "css.css")
9
+
10
+ with gr.Blocks(
11
+ css=abs_path,
12
+ theme=gr.themes.Default(
13
+ font_mono=[
14
+ gr.themes.GoogleFont("Inconsolata"),
15
+ "monospace",
16
+ ],
17
+ ),
18
+ ) as demo:
19
+ gr.Markdown(
20
+ """
21
+ # `gradio_modal`
22
+
23
+ <div style="display: flex; gap: 7px;">
24
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange">
25
+ </div>
26
+
27
+ A popup modal component
28
+ """, elem_classes=["md-custom"], header_links=True)
29
+ app.render()
30
+ gr.Markdown(
31
+ """
32
+ ## Installation
33
+
34
+ ```bash
35
+ pip install gradio_modal
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ ```python
41
+
42
+ import gradio as gr
43
+ from gradio_modal import Modal
44
+
45
+
46
+ with gr.Blocks() as demo:
47
+ gr.Markdown("### Main Page")
48
+ gr.Textbox("lorem ipsum " * 1000, lines=10)
49
+
50
+ with Modal(visible=True) as modal:
51
+ gr.Markdown("# License Agreement")
52
+ gr.Textbox(value="This is the license agreement. Please read it carefully. " * 5, lines=12)
53
+ close_btn = gr.Button("Close Modal")
54
+ close_btn.click(lambda: Modal(visible=False), None, modal)
55
+
56
+ show_btn = gr.Button("Show Modal")
57
+ show_btn.click(lambda: Modal(visible=True), None, modal)
58
+
59
+
60
+ if __name__ == "__main__":
61
+ demo.launch()
62
+
63
+ ```
64
+ """, elem_classes=["md-custom"], header_links=True)
65
+
66
+
67
+ gr.Markdown("""
68
+ ## `Modal`
69
+
70
+ ### Initialization
71
+ """, elem_classes=["md-custom"], header_links=True)
72
+
73
+ gr.ParamViewer(value=_docs["Modal"]["members"]["__init__"], linkify=[])
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ demo.load(None, js=r"""function() {
82
+ const refs = {};
83
+ const user_fn_refs = {};
84
+ requestAnimationFrame(() => {
85
+
86
+ Object.entries(user_fn_refs).forEach(([key, refs]) => {
87
+ if (refs.length > 0) {
88
+ const el = document.querySelector(`.${key}-user-fn`);
89
+ if (!el) return;
90
+ refs.forEach(ref => {
91
+ el.innerHTML = el.innerHTML.replace(
92
+ new RegExp("\\b"+ref+"\\b", "g"),
93
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
94
+ );
95
+ })
96
+ }
97
+ })
98
+
99
+ Object.entries(refs).forEach(([key, refs]) => {
100
+ if (refs.length > 0) {
101
+ const el = document.querySelector(`.${key}`);
102
+ if (!el) return;
103
+ refs.forEach(ref => {
104
+ el.innerHTML = el.innerHTML.replace(
105
+ new RegExp("\\b"+ref+"\\b", "g"),
106
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
107
+ );
108
+ })
109
+ }
110
+ })
111
+ })
112
+ }
113
+
114
+ """)
115
+
116
+ demo.launch()
src/.gitignore ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ .eggs/
2
+ dist/
3
+ *.pyc
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+ __tmp/*
8
+ *.pyi
9
+ node_modules
src/README.md ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ # `gradio_modal`
3
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange">
4
+
5
+ A popup modal component
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ pip install gradio_modal
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```python
16
+
17
+ import gradio as gr
18
+ from gradio_modal import Modal
19
+
20
+
21
+ with gr.Blocks() as demo:
22
+ gr.Markdown("### Main Page")
23
+ gr.Textbox("lorem ipsum " * 1000, lines=10)
24
+
25
+ with Modal(visible=True) as modal:
26
+ gr.Markdown("# License Agreement")
27
+ gr.Textbox(value="This is the license agreement. Please read it carefully. " * 5, lines=12)
28
+ close_btn = gr.Button("Close Modal")
29
+ close_btn.click(lambda: Modal(visible=False), None, modal)
30
+
31
+ show_btn = gr.Button("Show Modal")
32
+ show_btn.click(lambda: Modal(visible=True), None, modal)
33
+
34
+
35
+ if __name__ == "__main__":
36
+ demo.launch()
37
+
38
+ ```
39
+
40
+ ## `Modal`
41
+
42
+ ### Initialization
43
+
44
+ <table>
45
+ <thead>
46
+ <tr>
47
+ <th align="left">name</th>
48
+ <th align="left" style="width: 25%;">type</th>
49
+ <th align="left">default</th>
50
+ <th align="left">description</th>
51
+ </tr>
52
+ </thead>
53
+ <tbody>
54
+ <tr>
55
+ <td align="left"><code>visible</code></td>
56
+ <td align="left" style="width: 25%;">
57
+
58
+ ```python
59
+ bool
60
+ ```
61
+
62
+ </td>
63
+ <td align="left"><code>False</code></td>
64
+ <td align="left">If False, column will be hidden.</td>
65
+ </tr>
66
+
67
+ <tr>
68
+ <td align="left"><code>elem_id</code></td>
69
+ <td align="left" style="width: 25%;">
70
+
71
+ ```python
72
+ str | None
73
+ ```
74
+
75
+ </td>
76
+ <td align="left"><code>None</code></td>
77
+ <td align="left">An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
78
+ </tr>
79
+
80
+ <tr>
81
+ <td align="left"><code>elem_classes</code></td>
82
+ <td align="left" style="width: 25%;">
83
+
84
+ ```python
85
+ list[str] | str | None
86
+ ```
87
+
88
+ </td>
89
+ <td align="left"><code>None</code></td>
90
+ <td align="left">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.</td>
91
+ </tr>
92
+
93
+ <tr>
94
+ <td align="left"><code>allow_user_close</code></td>
95
+ <td align="left" style="width: 25%;">
96
+
97
+ ```python
98
+ bool
99
+ ```
100
+
101
+ </td>
102
+ <td align="left"><code>True</code></td>
103
+ <td align="left">If True, user can close the modal (by clicking outside, clicking the X, or the escape key).</td>
104
+ </tr>
105
+
106
+ <tr>
107
+ <td align="left"><code>render</code></td>
108
+ <td align="left" style="width: 25%;">
109
+
110
+ ```python
111
+ bool
112
+ ```
113
+
114
+ </td>
115
+ <td align="left"><code>True</code></td>
116
+ <td align="left">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.</td>
117
+ </tr>
118
+ </tbody></table>
119
+
120
+
121
+
122
+
src/backend/gradio_modal/__init__.py ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+
2
+ from .modal import Modal
3
+
4
+ __all__ = ['Modal']
src/backend/gradio_modal/modal.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import warnings
4
+ from typing import Literal
5
+
6
+ from gradio_client.documentation import document, set_documentation_group
7
+
8
+ from gradio.blocks import BlockContext
9
+ from gradio.component_meta import ComponentMeta
10
+
11
+ set_documentation_group("layout")
12
+
13
+
14
+ @document()
15
+ class Modal(BlockContext, metaclass=ComponentMeta):
16
+ """
17
+ Modal is a layout element within Blocks that will show its content in a popup above other content.
18
+ Example:
19
+ from gradio_modal import Modal
20
+ with gr.Blocks() as demo:
21
+ with Modal():
22
+ text1 = gr.Textbox()
23
+ text2 = gr.Textbox()
24
+ btn = gr.Button("Button")
25
+ Guides: controlling-layout
26
+ """
27
+
28
+ EVENTS = []
29
+
30
+ def __init__(
31
+ self,
32
+ *,
33
+ visible: bool = False,
34
+ elem_id: str | None = None,
35
+ elem_classes: list[str] | str | None = None,
36
+ allow_user_close: bool = True,
37
+ render: bool = True,
38
+ ):
39
+ """
40
+ Parameters:
41
+ visible: If False, column will be hidden.
42
+ 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.
43
+ 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.
44
+ allow_user_close: If True, user can close the modal (by clicking outside, clicking the X, or the escape key).
45
+ 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.
46
+ """
47
+ self.allow_user_close = allow_user_close
48
+ BlockContext.__init__(
49
+ self,
50
+ visible=visible,
51
+ elem_id=elem_id,
52
+ elem_classes=elem_classes,
53
+ render=render,
54
+ )
src/backend/gradio_modal/modal.pyi ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import warnings
4
+ from typing import Literal
5
+
6
+ from gradio_client.documentation import document, set_documentation_group
7
+
8
+ from gradio.blocks import BlockContext
9
+ from gradio.component_meta import ComponentMeta
10
+
11
+ set_documentation_group("layout")
12
+
13
+ from gradio.events import Dependency
14
+
15
+ @document()
16
+ class Modal(BlockContext, metaclass=ComponentMeta):
17
+ """
18
+ Modal is a layout element within Blocks that will show its content in a popup above other content.
19
+ Example:
20
+ from gradio_modal import Modal
21
+ with gr.Blocks() as demo:
22
+ with Modal():
23
+ text1 = gr.Textbox()
24
+ text2 = gr.Textbox()
25
+ btn = gr.Button("Button")
26
+ Guides: controlling-layout
27
+ """
28
+
29
+ EVENTS = []
30
+
31
+ def __init__(
32
+ self,
33
+ *,
34
+ visible: bool = False,
35
+ elem_id: str | None = None,
36
+ elem_classes: list[str] | str | None = None,
37
+ allow_user_close: bool = True,
38
+ render: bool = True,
39
+ ):
40
+ """
41
+ Parameters:
42
+ visible: If False, column will be hidden.
43
+ 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.
44
+ 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.
45
+ allow_user_close: If True, user can close the modal (by clicking outside, clicking the X, or the escape key).
46
+ 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.
47
+ """
48
+ self.allow_user_close = allow_user_close
49
+ BlockContext.__init__(
50
+ self,
51
+ visible=visible,
52
+ elem_id=elem_id,
53
+ elem_classes=elem_classes,
54
+ render=render,
55
+ )
src/backend/gradio_modal/templates/component/index.js ADDED
@@ -0,0 +1,990 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const {
2
+ SvelteComponent: R,
3
+ assign: V,
4
+ create_slot: W,
5
+ detach: X,
6
+ element: Y,
7
+ get_all_dirty_from_scope: Z,
8
+ get_slot_changes: p,
9
+ get_spread_update: x,
10
+ init: $,
11
+ insert: ee,
12
+ safe_not_equal: le,
13
+ set_dynamic_element_data: z,
14
+ set_style: u,
15
+ toggle_class: b,
16
+ transition_in: U,
17
+ transition_out: F,
18
+ update_slot_base: te
19
+ } = window.__gradio__svelte__internal;
20
+ function fe(f) {
21
+ let e, l, a;
22
+ const n = (
23
+ /*#slots*/
24
+ f[18].default
25
+ ), i = W(
26
+ n,
27
+ f,
28
+ /*$$scope*/
29
+ f[17],
30
+ null
31
+ );
32
+ let d = [
33
+ { "data-testid": (
34
+ /*test_id*/
35
+ f[7]
36
+ ) },
37
+ { id: (
38
+ /*elem_id*/
39
+ f[2]
40
+ ) },
41
+ {
42
+ class: l = "block " + /*elem_classes*/
43
+ f[3].join(" ") + " svelte-1t38q2d"
44
+ }
45
+ ], s = {};
46
+ for (let t = 0; t < d.length; t += 1)
47
+ s = V(s, d[t]);
48
+ return {
49
+ c() {
50
+ e = Y(
51
+ /*tag*/
52
+ f[14]
53
+ ), i && i.c(), z(
54
+ /*tag*/
55
+ f[14]
56
+ )(e, s), b(
57
+ e,
58
+ "hidden",
59
+ /*visible*/
60
+ f[10] === !1
61
+ ), b(
62
+ e,
63
+ "padded",
64
+ /*padding*/
65
+ f[6]
66
+ ), b(
67
+ e,
68
+ "border_focus",
69
+ /*border_mode*/
70
+ f[5] === "focus"
71
+ ), b(e, "hide-container", !/*explicit_call*/
72
+ f[8] && !/*container*/
73
+ f[9]), u(
74
+ e,
75
+ "height",
76
+ /*get_dimension*/
77
+ f[15](
78
+ /*height*/
79
+ f[0]
80
+ )
81
+ ), u(e, "width", typeof /*width*/
82
+ f[1] == "number" ? `calc(min(${/*width*/
83
+ f[1]}px, 100%))` : (
84
+ /*get_dimension*/
85
+ f[15](
86
+ /*width*/
87
+ f[1]
88
+ )
89
+ )), u(
90
+ e,
91
+ "border-style",
92
+ /*variant*/
93
+ f[4]
94
+ ), u(
95
+ e,
96
+ "overflow",
97
+ /*allow_overflow*/
98
+ f[11] ? "visible" : "hidden"
99
+ ), u(
100
+ e,
101
+ "flex-grow",
102
+ /*scale*/
103
+ f[12]
104
+ ), u(e, "min-width", `calc(min(${/*min_width*/
105
+ f[13]}px, 100%))`), u(e, "border-width", "var(--block-border-width)");
106
+ },
107
+ m(t, o) {
108
+ ee(t, e, o), i && i.m(e, null), a = !0;
109
+ },
110
+ p(t, o) {
111
+ i && i.p && (!a || o & /*$$scope*/
112
+ 131072) && te(
113
+ i,
114
+ n,
115
+ t,
116
+ /*$$scope*/
117
+ t[17],
118
+ a ? p(
119
+ n,
120
+ /*$$scope*/
121
+ t[17],
122
+ o,
123
+ null
124
+ ) : Z(
125
+ /*$$scope*/
126
+ t[17]
127
+ ),
128
+ null
129
+ ), z(
130
+ /*tag*/
131
+ t[14]
132
+ )(e, s = x(d, [
133
+ (!a || o & /*test_id*/
134
+ 128) && { "data-testid": (
135
+ /*test_id*/
136
+ t[7]
137
+ ) },
138
+ (!a || o & /*elem_id*/
139
+ 4) && { id: (
140
+ /*elem_id*/
141
+ t[2]
142
+ ) },
143
+ (!a || o & /*elem_classes*/
144
+ 8 && l !== (l = "block " + /*elem_classes*/
145
+ t[3].join(" ") + " svelte-1t38q2d")) && { class: l }
146
+ ])), b(
147
+ e,
148
+ "hidden",
149
+ /*visible*/
150
+ t[10] === !1
151
+ ), b(
152
+ e,
153
+ "padded",
154
+ /*padding*/
155
+ t[6]
156
+ ), b(
157
+ e,
158
+ "border_focus",
159
+ /*border_mode*/
160
+ t[5] === "focus"
161
+ ), b(e, "hide-container", !/*explicit_call*/
162
+ t[8] && !/*container*/
163
+ t[9]), o & /*height*/
164
+ 1 && u(
165
+ e,
166
+ "height",
167
+ /*get_dimension*/
168
+ t[15](
169
+ /*height*/
170
+ t[0]
171
+ )
172
+ ), o & /*width*/
173
+ 2 && u(e, "width", typeof /*width*/
174
+ t[1] == "number" ? `calc(min(${/*width*/
175
+ t[1]}px, 100%))` : (
176
+ /*get_dimension*/
177
+ t[15](
178
+ /*width*/
179
+ t[1]
180
+ )
181
+ )), o & /*variant*/
182
+ 16 && u(
183
+ e,
184
+ "border-style",
185
+ /*variant*/
186
+ t[4]
187
+ ), o & /*allow_overflow*/
188
+ 2048 && u(
189
+ e,
190
+ "overflow",
191
+ /*allow_overflow*/
192
+ t[11] ? "visible" : "hidden"
193
+ ), o & /*scale*/
194
+ 4096 && u(
195
+ e,
196
+ "flex-grow",
197
+ /*scale*/
198
+ t[12]
199
+ ), o & /*min_width*/
200
+ 8192 && u(e, "min-width", `calc(min(${/*min_width*/
201
+ t[13]}px, 100%))`);
202
+ },
203
+ i(t) {
204
+ a || (U(i, t), a = !0);
205
+ },
206
+ o(t) {
207
+ F(i, t), a = !1;
208
+ },
209
+ d(t) {
210
+ t && X(e), i && i.d(t);
211
+ }
212
+ };
213
+ }
214
+ function ne(f) {
215
+ let e, l = (
216
+ /*tag*/
217
+ f[14] && fe(f)
218
+ );
219
+ return {
220
+ c() {
221
+ l && l.c();
222
+ },
223
+ m(a, n) {
224
+ l && l.m(a, n), e = !0;
225
+ },
226
+ p(a, [n]) {
227
+ /*tag*/
228
+ a[14] && l.p(a, n);
229
+ },
230
+ i(a) {
231
+ e || (U(l, a), e = !0);
232
+ },
233
+ o(a) {
234
+ F(l, a), e = !1;
235
+ },
236
+ d(a) {
237
+ l && l.d(a);
238
+ }
239
+ };
240
+ }
241
+ function ae(f, e, l) {
242
+ let { $$slots: a = {}, $$scope: n } = e, { height: i = void 0 } = e, { width: d = void 0 } = e, { elem_id: s = "" } = e, { elem_classes: t = [] } = e, { variant: o = "solid" } = e, { border_mode: m = "base" } = e, { padding: h = !0 } = e, { type: c = "normal" } = e, { test_id: r = void 0 } = e, { explicit_call: S = !1 } = e, { container: B = !0 } = e, { visible: L = !0 } = e, { allow_overflow: T = !0 } = e, { scale: E = null } = e, { min_width: M = 0 } = e, P = c === "fieldset" ? "fieldset" : "div";
243
+ const Q = (_) => {
244
+ if (_ !== void 0) {
245
+ if (typeof _ == "number")
246
+ return _ + "px";
247
+ if (typeof _ == "string")
248
+ return _;
249
+ }
250
+ };
251
+ return f.$$set = (_) => {
252
+ "height" in _ && l(0, i = _.height), "width" in _ && l(1, d = _.width), "elem_id" in _ && l(2, s = _.elem_id), "elem_classes" in _ && l(3, t = _.elem_classes), "variant" in _ && l(4, o = _.variant), "border_mode" in _ && l(5, m = _.border_mode), "padding" in _ && l(6, h = _.padding), "type" in _ && l(16, c = _.type), "test_id" in _ && l(7, r = _.test_id), "explicit_call" in _ && l(8, S = _.explicit_call), "container" in _ && l(9, B = _.container), "visible" in _ && l(10, L = _.visible), "allow_overflow" in _ && l(11, T = _.allow_overflow), "scale" in _ && l(12, E = _.scale), "min_width" in _ && l(13, M = _.min_width), "$$scope" in _ && l(17, n = _.$$scope);
253
+ }, [
254
+ i,
255
+ d,
256
+ s,
257
+ t,
258
+ o,
259
+ m,
260
+ h,
261
+ r,
262
+ S,
263
+ B,
264
+ L,
265
+ T,
266
+ E,
267
+ M,
268
+ P,
269
+ Q,
270
+ c,
271
+ n,
272
+ a
273
+ ];
274
+ }
275
+ class ie extends R {
276
+ constructor(e) {
277
+ super(), $(this, e, ae, ne, le, {
278
+ height: 0,
279
+ width: 1,
280
+ elem_id: 2,
281
+ elem_classes: 3,
282
+ variant: 4,
283
+ border_mode: 5,
284
+ padding: 6,
285
+ type: 16,
286
+ test_id: 7,
287
+ explicit_call: 8,
288
+ container: 9,
289
+ visible: 10,
290
+ allow_overflow: 11,
291
+ scale: 12,
292
+ min_width: 13
293
+ });
294
+ }
295
+ }
296
+ const se = [
297
+ { color: "red", primary: 600, secondary: 100 },
298
+ { color: "green", primary: 600, secondary: 100 },
299
+ { color: "blue", primary: 600, secondary: 100 },
300
+ { color: "yellow", primary: 500, secondary: 100 },
301
+ { color: "purple", primary: 600, secondary: 100 },
302
+ { color: "teal", primary: 600, secondary: 100 },
303
+ { color: "orange", primary: 600, secondary: 100 },
304
+ { color: "cyan", primary: 600, secondary: 100 },
305
+ { color: "lime", primary: 500, secondary: 100 },
306
+ { color: "pink", primary: 600, secondary: 100 }
307
+ ], A = {
308
+ inherit: "inherit",
309
+ current: "currentColor",
310
+ transparent: "transparent",
311
+ black: "#000",
312
+ white: "#fff",
313
+ slate: {
314
+ 50: "#f8fafc",
315
+ 100: "#f1f5f9",
316
+ 200: "#e2e8f0",
317
+ 300: "#cbd5e1",
318
+ 400: "#94a3b8",
319
+ 500: "#64748b",
320
+ 600: "#475569",
321
+ 700: "#334155",
322
+ 800: "#1e293b",
323
+ 900: "#0f172a",
324
+ 950: "#020617"
325
+ },
326
+ gray: {
327
+ 50: "#f9fafb",
328
+ 100: "#f3f4f6",
329
+ 200: "#e5e7eb",
330
+ 300: "#d1d5db",
331
+ 400: "#9ca3af",
332
+ 500: "#6b7280",
333
+ 600: "#4b5563",
334
+ 700: "#374151",
335
+ 800: "#1f2937",
336
+ 900: "#111827",
337
+ 950: "#030712"
338
+ },
339
+ zinc: {
340
+ 50: "#fafafa",
341
+ 100: "#f4f4f5",
342
+ 200: "#e4e4e7",
343
+ 300: "#d4d4d8",
344
+ 400: "#a1a1aa",
345
+ 500: "#71717a",
346
+ 600: "#52525b",
347
+ 700: "#3f3f46",
348
+ 800: "#27272a",
349
+ 900: "#18181b",
350
+ 950: "#09090b"
351
+ },
352
+ neutral: {
353
+ 50: "#fafafa",
354
+ 100: "#f5f5f5",
355
+ 200: "#e5e5e5",
356
+ 300: "#d4d4d4",
357
+ 400: "#a3a3a3",
358
+ 500: "#737373",
359
+ 600: "#525252",
360
+ 700: "#404040",
361
+ 800: "#262626",
362
+ 900: "#171717",
363
+ 950: "#0a0a0a"
364
+ },
365
+ stone: {
366
+ 50: "#fafaf9",
367
+ 100: "#f5f5f4",
368
+ 200: "#e7e5e4",
369
+ 300: "#d6d3d1",
370
+ 400: "#a8a29e",
371
+ 500: "#78716c",
372
+ 600: "#57534e",
373
+ 700: "#44403c",
374
+ 800: "#292524",
375
+ 900: "#1c1917",
376
+ 950: "#0c0a09"
377
+ },
378
+ red: {
379
+ 50: "#fef2f2",
380
+ 100: "#fee2e2",
381
+ 200: "#fecaca",
382
+ 300: "#fca5a5",
383
+ 400: "#f87171",
384
+ 500: "#ef4444",
385
+ 600: "#dc2626",
386
+ 700: "#b91c1c",
387
+ 800: "#991b1b",
388
+ 900: "#7f1d1d",
389
+ 950: "#450a0a"
390
+ },
391
+ orange: {
392
+ 50: "#fff7ed",
393
+ 100: "#ffedd5",
394
+ 200: "#fed7aa",
395
+ 300: "#fdba74",
396
+ 400: "#fb923c",
397
+ 500: "#f97316",
398
+ 600: "#ea580c",
399
+ 700: "#c2410c",
400
+ 800: "#9a3412",
401
+ 900: "#7c2d12",
402
+ 950: "#431407"
403
+ },
404
+ amber: {
405
+ 50: "#fffbeb",
406
+ 100: "#fef3c7",
407
+ 200: "#fde68a",
408
+ 300: "#fcd34d",
409
+ 400: "#fbbf24",
410
+ 500: "#f59e0b",
411
+ 600: "#d97706",
412
+ 700: "#b45309",
413
+ 800: "#92400e",
414
+ 900: "#78350f",
415
+ 950: "#451a03"
416
+ },
417
+ yellow: {
418
+ 50: "#fefce8",
419
+ 100: "#fef9c3",
420
+ 200: "#fef08a",
421
+ 300: "#fde047",
422
+ 400: "#facc15",
423
+ 500: "#eab308",
424
+ 600: "#ca8a04",
425
+ 700: "#a16207",
426
+ 800: "#854d0e",
427
+ 900: "#713f12",
428
+ 950: "#422006"
429
+ },
430
+ lime: {
431
+ 50: "#f7fee7",
432
+ 100: "#ecfccb",
433
+ 200: "#d9f99d",
434
+ 300: "#bef264",
435
+ 400: "#a3e635",
436
+ 500: "#84cc16",
437
+ 600: "#65a30d",
438
+ 700: "#4d7c0f",
439
+ 800: "#3f6212",
440
+ 900: "#365314",
441
+ 950: "#1a2e05"
442
+ },
443
+ green: {
444
+ 50: "#f0fdf4",
445
+ 100: "#dcfce7",
446
+ 200: "#bbf7d0",
447
+ 300: "#86efac",
448
+ 400: "#4ade80",
449
+ 500: "#22c55e",
450
+ 600: "#16a34a",
451
+ 700: "#15803d",
452
+ 800: "#166534",
453
+ 900: "#14532d",
454
+ 950: "#052e16"
455
+ },
456
+ emerald: {
457
+ 50: "#ecfdf5",
458
+ 100: "#d1fae5",
459
+ 200: "#a7f3d0",
460
+ 300: "#6ee7b7",
461
+ 400: "#34d399",
462
+ 500: "#10b981",
463
+ 600: "#059669",
464
+ 700: "#047857",
465
+ 800: "#065f46",
466
+ 900: "#064e3b",
467
+ 950: "#022c22"
468
+ },
469
+ teal: {
470
+ 50: "#f0fdfa",
471
+ 100: "#ccfbf1",
472
+ 200: "#99f6e4",
473
+ 300: "#5eead4",
474
+ 400: "#2dd4bf",
475
+ 500: "#14b8a6",
476
+ 600: "#0d9488",
477
+ 700: "#0f766e",
478
+ 800: "#115e59",
479
+ 900: "#134e4a",
480
+ 950: "#042f2e"
481
+ },
482
+ cyan: {
483
+ 50: "#ecfeff",
484
+ 100: "#cffafe",
485
+ 200: "#a5f3fc",
486
+ 300: "#67e8f9",
487
+ 400: "#22d3ee",
488
+ 500: "#06b6d4",
489
+ 600: "#0891b2",
490
+ 700: "#0e7490",
491
+ 800: "#155e75",
492
+ 900: "#164e63",
493
+ 950: "#083344"
494
+ },
495
+ sky: {
496
+ 50: "#f0f9ff",
497
+ 100: "#e0f2fe",
498
+ 200: "#bae6fd",
499
+ 300: "#7dd3fc",
500
+ 400: "#38bdf8",
501
+ 500: "#0ea5e9",
502
+ 600: "#0284c7",
503
+ 700: "#0369a1",
504
+ 800: "#075985",
505
+ 900: "#0c4a6e",
506
+ 950: "#082f49"
507
+ },
508
+ blue: {
509
+ 50: "#eff6ff",
510
+ 100: "#dbeafe",
511
+ 200: "#bfdbfe",
512
+ 300: "#93c5fd",
513
+ 400: "#60a5fa",
514
+ 500: "#3b82f6",
515
+ 600: "#2563eb",
516
+ 700: "#1d4ed8",
517
+ 800: "#1e40af",
518
+ 900: "#1e3a8a",
519
+ 950: "#172554"
520
+ },
521
+ indigo: {
522
+ 50: "#eef2ff",
523
+ 100: "#e0e7ff",
524
+ 200: "#c7d2fe",
525
+ 300: "#a5b4fc",
526
+ 400: "#818cf8",
527
+ 500: "#6366f1",
528
+ 600: "#4f46e5",
529
+ 700: "#4338ca",
530
+ 800: "#3730a3",
531
+ 900: "#312e81",
532
+ 950: "#1e1b4b"
533
+ },
534
+ violet: {
535
+ 50: "#f5f3ff",
536
+ 100: "#ede9fe",
537
+ 200: "#ddd6fe",
538
+ 300: "#c4b5fd",
539
+ 400: "#a78bfa",
540
+ 500: "#8b5cf6",
541
+ 600: "#7c3aed",
542
+ 700: "#6d28d9",
543
+ 800: "#5b21b6",
544
+ 900: "#4c1d95",
545
+ 950: "#2e1065"
546
+ },
547
+ purple: {
548
+ 50: "#faf5ff",
549
+ 100: "#f3e8ff",
550
+ 200: "#e9d5ff",
551
+ 300: "#d8b4fe",
552
+ 400: "#c084fc",
553
+ 500: "#a855f7",
554
+ 600: "#9333ea",
555
+ 700: "#7e22ce",
556
+ 800: "#6b21a8",
557
+ 900: "#581c87",
558
+ 950: "#3b0764"
559
+ },
560
+ fuchsia: {
561
+ 50: "#fdf4ff",
562
+ 100: "#fae8ff",
563
+ 200: "#f5d0fe",
564
+ 300: "#f0abfc",
565
+ 400: "#e879f9",
566
+ 500: "#d946ef",
567
+ 600: "#c026d3",
568
+ 700: "#a21caf",
569
+ 800: "#86198f",
570
+ 900: "#701a75",
571
+ 950: "#4a044e"
572
+ },
573
+ pink: {
574
+ 50: "#fdf2f8",
575
+ 100: "#fce7f3",
576
+ 200: "#fbcfe8",
577
+ 300: "#f9a8d4",
578
+ 400: "#f472b6",
579
+ 500: "#ec4899",
580
+ 600: "#db2777",
581
+ 700: "#be185d",
582
+ 800: "#9d174d",
583
+ 900: "#831843",
584
+ 950: "#500724"
585
+ },
586
+ rose: {
587
+ 50: "#fff1f2",
588
+ 100: "#ffe4e6",
589
+ 200: "#fecdd3",
590
+ 300: "#fda4af",
591
+ 400: "#fb7185",
592
+ 500: "#f43f5e",
593
+ 600: "#e11d48",
594
+ 700: "#be123c",
595
+ 800: "#9f1239",
596
+ 900: "#881337",
597
+ 950: "#4c0519"
598
+ }
599
+ };
600
+ se.reduce(
601
+ (f, { color: e, primary: l, secondary: a }) => ({
602
+ ...f,
603
+ [e]: {
604
+ primary: A[e][l],
605
+ secondary: A[e][a]
606
+ }
607
+ }),
608
+ {}
609
+ );
610
+ const {
611
+ SvelteComponent: _e,
612
+ attr: w,
613
+ create_slot: de,
614
+ detach: oe,
615
+ element: ce,
616
+ get_all_dirty_from_scope: re,
617
+ get_slot_changes: ue,
618
+ init: me,
619
+ insert: be,
620
+ null_to_empty: D,
621
+ safe_not_equal: ge,
622
+ set_style: y,
623
+ toggle_class: g,
624
+ transition_in: he,
625
+ transition_out: ve,
626
+ update_slot_base: we
627
+ } = window.__gradio__svelte__internal;
628
+ function ye(f) {
629
+ let e, l, a = `calc(min(${/*min_width*/
630
+ f[2]}px, 100%))`, n;
631
+ const i = (
632
+ /*#slots*/
633
+ f[8].default
634
+ ), d = de(
635
+ i,
636
+ f,
637
+ /*$$scope*/
638
+ f[7],
639
+ null
640
+ );
641
+ return {
642
+ c() {
643
+ e = ce("div"), d && d.c(), w(
644
+ e,
645
+ "id",
646
+ /*elem_id*/
647
+ f[3]
648
+ ), w(e, "class", l = D(
649
+ /*elem_classes*/
650
+ f[4].join(" ")
651
+ ) + " svelte-1m1obck"), g(
652
+ e,
653
+ "gap",
654
+ /*gap*/
655
+ f[1]
656
+ ), g(
657
+ e,
658
+ "compact",
659
+ /*variant*/
660
+ f[6] === "compact"
661
+ ), g(
662
+ e,
663
+ "panel",
664
+ /*variant*/
665
+ f[6] === "panel"
666
+ ), g(e, "hide", !/*visible*/
667
+ f[5]), y(
668
+ e,
669
+ "flex-grow",
670
+ /*scale*/
671
+ f[0]
672
+ ), y(e, "min-width", a);
673
+ },
674
+ m(s, t) {
675
+ be(s, e, t), d && d.m(e, null), n = !0;
676
+ },
677
+ p(s, [t]) {
678
+ d && d.p && (!n || t & /*$$scope*/
679
+ 128) && we(
680
+ d,
681
+ i,
682
+ s,
683
+ /*$$scope*/
684
+ s[7],
685
+ n ? ue(
686
+ i,
687
+ /*$$scope*/
688
+ s[7],
689
+ t,
690
+ null
691
+ ) : re(
692
+ /*$$scope*/
693
+ s[7]
694
+ ),
695
+ null
696
+ ), (!n || t & /*elem_id*/
697
+ 8) && w(
698
+ e,
699
+ "id",
700
+ /*elem_id*/
701
+ s[3]
702
+ ), (!n || t & /*elem_classes*/
703
+ 16 && l !== (l = D(
704
+ /*elem_classes*/
705
+ s[4].join(" ")
706
+ ) + " svelte-1m1obck")) && w(e, "class", l), (!n || t & /*elem_classes, gap*/
707
+ 18) && g(
708
+ e,
709
+ "gap",
710
+ /*gap*/
711
+ s[1]
712
+ ), (!n || t & /*elem_classes, variant*/
713
+ 80) && g(
714
+ e,
715
+ "compact",
716
+ /*variant*/
717
+ s[6] === "compact"
718
+ ), (!n || t & /*elem_classes, variant*/
719
+ 80) && g(
720
+ e,
721
+ "panel",
722
+ /*variant*/
723
+ s[6] === "panel"
724
+ ), (!n || t & /*elem_classes, visible*/
725
+ 48) && g(e, "hide", !/*visible*/
726
+ s[5]), t & /*scale*/
727
+ 1 && y(
728
+ e,
729
+ "flex-grow",
730
+ /*scale*/
731
+ s[0]
732
+ ), t & /*min_width*/
733
+ 4 && a !== (a = `calc(min(${/*min_width*/
734
+ s[2]}px, 100%))`) && y(e, "min-width", a);
735
+ },
736
+ i(s) {
737
+ n || (he(d, s), n = !0);
738
+ },
739
+ o(s) {
740
+ ve(d, s), n = !1;
741
+ },
742
+ d(s) {
743
+ s && oe(e), d && d.d(s);
744
+ }
745
+ };
746
+ }
747
+ function ke(f, e, l) {
748
+ let { $$slots: a = {}, $$scope: n } = e, { scale: i = null } = e, { gap: d = !0 } = e, { min_width: s = 0 } = e, { elem_id: t = "" } = e, { elem_classes: o = [] } = e, { visible: m = !0 } = e, { variant: h = "default" } = e;
749
+ return f.$$set = (c) => {
750
+ "scale" in c && l(0, i = c.scale), "gap" in c && l(1, d = c.gap), "min_width" in c && l(2, s = c.min_width), "elem_id" in c && l(3, t = c.elem_id), "elem_classes" in c && l(4, o = c.elem_classes), "visible" in c && l(5, m = c.visible), "variant" in c && l(6, h = c.variant), "$$scope" in c && l(7, n = c.$$scope);
751
+ }, [i, d, s, t, o, m, h, n, a];
752
+ }
753
+ let je = class extends _e {
754
+ constructor(e) {
755
+ super(), me(this, e, ke, ye, ge, {
756
+ scale: 0,
757
+ gap: 1,
758
+ min_width: 2,
759
+ elem_id: 3,
760
+ elem_classes: 4,
761
+ visible: 5,
762
+ variant: 6
763
+ });
764
+ }
765
+ };
766
+ const {
767
+ SvelteComponent: Ce,
768
+ append: qe,
769
+ attr: v,
770
+ binding_callbacks: Ie,
771
+ create_component: G,
772
+ create_slot: Se,
773
+ destroy_component: J,
774
+ detach: j,
775
+ element: k,
776
+ get_all_dirty_from_scope: Be,
777
+ get_slot_changes: Le,
778
+ init: Te,
779
+ insert: C,
780
+ listen: K,
781
+ mount_component: O,
782
+ noop: Ee,
783
+ safe_not_equal: Me,
784
+ space: ze,
785
+ toggle_class: H,
786
+ transition_in: q,
787
+ transition_out: I,
788
+ update_slot_base: Ae
789
+ } = window.__gradio__svelte__internal;
790
+ function N(f) {
791
+ let e, l, a;
792
+ return {
793
+ c() {
794
+ e = k("div"), e.innerHTML = '<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L9 9" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9 1L1 9" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>', v(e, "class", "close svelte-ra5mg6");
795
+ },
796
+ m(n, i) {
797
+ C(n, e, i), l || (a = K(
798
+ e,
799
+ "click",
800
+ /*click_handler*/
801
+ f[6]
802
+ ), l = !0);
803
+ },
804
+ p: Ee,
805
+ d(n) {
806
+ n && j(e), l = !1, a();
807
+ }
808
+ };
809
+ }
810
+ function De(f) {
811
+ let e;
812
+ const l = (
813
+ /*#slots*/
814
+ f[5].default
815
+ ), a = Se(
816
+ l,
817
+ f,
818
+ /*$$scope*/
819
+ f[9],
820
+ null
821
+ );
822
+ return {
823
+ c() {
824
+ a && a.c();
825
+ },
826
+ m(n, i) {
827
+ a && a.m(n, i), e = !0;
828
+ },
829
+ p(n, i) {
830
+ a && a.p && (!e || i & /*$$scope*/
831
+ 512) && Ae(
832
+ a,
833
+ l,
834
+ n,
835
+ /*$$scope*/
836
+ n[9],
837
+ e ? Le(
838
+ l,
839
+ /*$$scope*/
840
+ n[9],
841
+ i,
842
+ null
843
+ ) : Be(
844
+ /*$$scope*/
845
+ n[9]
846
+ ),
847
+ null
848
+ );
849
+ },
850
+ i(n) {
851
+ e || (q(a, n), e = !0);
852
+ },
853
+ o(n) {
854
+ I(a, n), e = !1;
855
+ },
856
+ d(n) {
857
+ a && a.d(n);
858
+ }
859
+ };
860
+ }
861
+ function He(f) {
862
+ let e, l, a, n = (
863
+ /*allow_user_close*/
864
+ f[3] && N(f)
865
+ );
866
+ return l = new je({
867
+ props: {
868
+ $$slots: { default: [De] },
869
+ $$scope: { ctx: f }
870
+ }
871
+ }), {
872
+ c() {
873
+ n && n.c(), e = ze(), G(l.$$.fragment);
874
+ },
875
+ m(i, d) {
876
+ n && n.m(i, d), C(i, e, d), O(l, i, d), a = !0;
877
+ },
878
+ p(i, d) {
879
+ /*allow_user_close*/
880
+ i[3] ? n ? n.p(i, d) : (n = N(i), n.c(), n.m(e.parentNode, e)) : n && (n.d(1), n = null);
881
+ const s = {};
882
+ d & /*$$scope*/
883
+ 512 && (s.$$scope = { dirty: d, ctx: i }), l.$set(s);
884
+ },
885
+ i(i) {
886
+ a || (q(l.$$.fragment, i), a = !0);
887
+ },
888
+ o(i) {
889
+ I(l.$$.fragment, i), a = !1;
890
+ },
891
+ d(i) {
892
+ i && j(e), n && n.d(i), J(l, i);
893
+ }
894
+ };
895
+ }
896
+ function Ne(f) {
897
+ let e, l, a, n, i, d, s;
898
+ return a = new ie({
899
+ props: {
900
+ height: "100%",
901
+ $$slots: { default: [He] },
902
+ $$scope: { ctx: f }
903
+ }
904
+ }), {
905
+ c() {
906
+ e = k("div"), l = k("div"), G(a.$$.fragment), v(l, "class", "modal-container svelte-ra5mg6"), v(e, "class", n = "modal " + /*elem_classes*/
907
+ f[2].join(" ") + " svelte-ra5mg6"), v(
908
+ e,
909
+ "id",
910
+ /*elem_id*/
911
+ f[1]
912
+ ), H(e, "hide", !/*visible*/
913
+ f[0]);
914
+ },
915
+ m(t, o) {
916
+ C(t, e, o), qe(e, l), O(a, l, null), f[7](e), i = !0, d || (s = K(
917
+ e,
918
+ "click",
919
+ /*click_handler_1*/
920
+ f[8]
921
+ ), d = !0);
922
+ },
923
+ p(t, [o]) {
924
+ const m = {};
925
+ o & /*$$scope, visible, allow_user_close*/
926
+ 521 && (m.$$scope = { dirty: o, ctx: t }), a.$set(m), (!i || o & /*elem_classes*/
927
+ 4 && n !== (n = "modal " + /*elem_classes*/
928
+ t[2].join(" ") + " svelte-ra5mg6")) && v(e, "class", n), (!i || o & /*elem_id*/
929
+ 2) && v(
930
+ e,
931
+ "id",
932
+ /*elem_id*/
933
+ t[1]
934
+ ), (!i || o & /*elem_classes, visible*/
935
+ 5) && H(e, "hide", !/*visible*/
936
+ t[0]);
937
+ },
938
+ i(t) {
939
+ i || (q(a.$$.fragment, t), i = !0);
940
+ },
941
+ o(t) {
942
+ I(a.$$.fragment, t), i = !1;
943
+ },
944
+ d(t) {
945
+ t && j(e), J(a), f[7](null), d = !1, s();
946
+ }
947
+ };
948
+ }
949
+ function Ue(f, e, l) {
950
+ let { $$slots: a = {}, $$scope: n } = e, { elem_id: i = "" } = e, { elem_classes: d = [] } = e, { visible: s = !1 } = e, { allow_user_close: t = !0 } = e, o = null;
951
+ document.addEventListener("keydown", (r) => {
952
+ t && r.key === "Escape" && l(0, s = !1);
953
+ });
954
+ const m = () => l(0, s = !1);
955
+ function h(r) {
956
+ Ie[r ? "unshift" : "push"](() => {
957
+ o = r, l(4, o);
958
+ });
959
+ }
960
+ const c = (r) => {
961
+ t && r.target === o && l(0, s = !1);
962
+ };
963
+ return f.$$set = (r) => {
964
+ "elem_id" in r && l(1, i = r.elem_id), "elem_classes" in r && l(2, d = r.elem_classes), "visible" in r && l(0, s = r.visible), "allow_user_close" in r && l(3, t = r.allow_user_close), "$$scope" in r && l(9, n = r.$$scope);
965
+ }, [
966
+ s,
967
+ i,
968
+ d,
969
+ t,
970
+ o,
971
+ a,
972
+ m,
973
+ h,
974
+ c,
975
+ n
976
+ ];
977
+ }
978
+ class Ge extends Ce {
979
+ constructor(e) {
980
+ super(), Te(this, e, Ue, Ne, Me, {
981
+ elem_id: 1,
982
+ elem_classes: 2,
983
+ visible: 0,
984
+ allow_user_close: 3
985
+ });
986
+ }
987
+ }
988
+ export {
989
+ Ge as default
990
+ };
src/backend/gradio_modal/templates/component/style.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .block.svelte-1t38q2d{position:relative;margin:0;box-shadow:var(--block-shadow);border-width:var(--block-border-width);border-color:var(--block-border-color);border-radius:var(--block-radius);background:var(--block-background-fill);width:100%;line-height:var(--line-sm)}.block.border_focus.svelte-1t38q2d{border-color:var(--color-accent)}.padded.svelte-1t38q2d{padding:var(--block-padding)}.hidden.svelte-1t38q2d{display:none}.hide-container.svelte-1t38q2d{margin:0;box-shadow:none;--block-border-width:0;background:transparent;padding:0;overflow:visible}div.svelte-1hnfib2{margin-bottom:var(--spacing-lg);color:var(--block-info-text-color);font-weight:var(--block-info-text-weight);font-size:var(--block-info-text-size);line-height:var(--line-sm)}span.has-info.svelte-22c38v{margin-bottom:var(--spacing-xs)}span.svelte-22c38v:not(.has-info){margin-bottom:var(--spacing-lg)}span.svelte-22c38v{display:inline-block;position:relative;z-index:var(--layer-4);border:solid var(--block-title-border-width) var(--block-title-border-color);border-radius:var(--block-title-radius);background:var(--block-title-background-fill);padding:var(--block-title-padding);color:var(--block-title-text-color);font-weight:var(--block-title-text-weight);font-size:var(--block-title-text-size);line-height:var(--line-sm)}.hide.svelte-22c38v{margin:0;height:0}label.svelte-9gxdi0{display:inline-flex;align-items:center;z-index:var(--layer-2);box-shadow:var(--block-label-shadow);border:var(--block-label-border-width) solid var(--border-color-primary);border-top:none;border-left:none;border-radius:var(--block-label-radius);background:var(--block-label-background-fill);padding:var(--block-label-padding);pointer-events:none;color:var(--block-label-text-color);font-weight:var(--block-label-text-weight);font-size:var(--block-label-text-size);line-height:var(--line-sm)}.gr-group label.svelte-9gxdi0{border-top-left-radius:0}label.float.svelte-9gxdi0{position:absolute;top:var(--block-label-margin);left:var(--block-label-margin)}label.svelte-9gxdi0:not(.float){position:static;margin-top:var(--block-label-margin);margin-left:var(--block-label-margin)}.hide.svelte-9gxdi0{height:0}span.svelte-9gxdi0{opacity:.8;margin-right:var(--size-2);width:calc(var(--block-label-text-size) - 1px);height:calc(var(--block-label-text-size) - 1px)}.hide-label.svelte-9gxdi0{box-shadow:none;border-width:0;background:transparent;overflow:visible}button.svelte-lpi64a{display:flex;justify-content:center;align-items:center;gap:1px;z-index:var(--layer-2);border-radius:var(--radius-sm);color:var(--block-label-text-color);border:1px solid transparent}button[disabled].svelte-lpi64a{opacity:.5;box-shadow:none}button[disabled].svelte-lpi64a:hover{cursor:not-allowed}.padded.svelte-lpi64a{padding:2px;background:var(--bg-color);box-shadow:var(--shadow-drop);border:1px solid var(--button-secondary-border-color)}button.svelte-lpi64a:hover,button.highlight.svelte-lpi64a{cursor:pointer;color:var(--color-accent)}.padded.svelte-lpi64a:hover{border:2px solid var(--button-secondary-border-color-hover);padding:1px;color:var(--block-label-text-color)}span.svelte-lpi64a{padding:0 1px;font-size:10px}div.svelte-lpi64a{padding:2px;display:flex;align-items:flex-end}.small.svelte-lpi64a{width:14px;height:14px}.large.svelte-lpi64a{width:22px;height:22px}.pending.svelte-lpi64a{animation:svelte-lpi64a-flash .5s infinite}@keyframes svelte-lpi64a-flash{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.transparent.svelte-lpi64a{background:transparent;border:none;box-shadow:none}.empty.svelte-3w3rth{display:flex;justify-content:center;align-items:center;margin-top:calc(0px - var(--size-6));height:var(--size-full)}.icon.svelte-3w3rth{opacity:.5;height:var(--size-5);color:var(--body-text-color)}.small.svelte-3w3rth{min-height:calc(var(--size-32) - 20px)}.large.svelte-3w3rth{min-height:calc(var(--size-64) - 20px)}.unpadded_box.svelte-3w3rth{margin-top:0}.small_parent.svelte-3w3rth{min-height:100%!important}.dropdown-arrow.svelte-145leq6{fill:currentColor}.wrap.svelte-kzcjhc{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:var(--size-60);color:var(--block-label-text-color);line-height:var(--line-md);height:100%;padding-top:var(--size-3)}.or.svelte-kzcjhc{color:var(--body-text-color-subdued);display:flex}.icon-wrap.svelte-kzcjhc{width:30px;margin-bottom:var(--spacing-lg)}@media (--screen-md){.wrap.svelte-kzcjhc{font-size:var(--text-lg)}}.hovered.svelte-kzcjhc{color:var(--color-accent)}div.svelte-ipfyu7{border-top:1px solid transparent;display:flex;max-height:100%;justify-content:center;gap:var(--spacing-sm);height:auto;align-items:flex-end;padding-bottom:var(--spacing-xl);color:var(--block-label-text-color);flex-shrink:0;width:95%}.show_border.svelte-ipfyu7{border-top:1px solid var(--block-border-color);margin-top:var(--spacing-xxl);box-shadow:var(--shadow-drop)}.source-selection.svelte-1jp3vgd{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border-color-primary);width:95%;bottom:0;left:0;right:0;margin-left:auto;margin-right:auto}.icon.svelte-1jp3vgd{width:22px;height:22px;margin:var(--spacing-lg) var(--spacing-xs);padding:var(--spacing-xs);color:var(--neutral-400);border-radius:var(--radius-md)}.selected.svelte-1jp3vgd{color:var(--color-accent)}.icon.svelte-1jp3vgd:hover,.icon.svelte-1jp3vgd:focus{color:var(--color-accent)}div.svelte-1m1obck{display:flex;position:relative;flex-direction:column}div.svelte-1m1obck>*,div.svelte-1m1obck>.form>*{width:var(--size-full)}.gap.svelte-1m1obck{gap:var(--layout-gap)}.hide.svelte-1m1obck{display:none}.compact.svelte-1m1obck>*,.compact.svelte-1m1obck .box{border-radius:0}.compact.svelte-1m1obck,.panel.svelte-1m1obck{border:solid var(--panel-border-width) var(--panel-border-color);border-radius:var(--container-radius);background:var(--panel-background-fill);padding:var(--spacing-lg)}@media (min-width: 640px){.modal-container.svelte-ra5mg6{max-width:640px}}@media (min-width: 768px){.modal-container.svelte-ra5mg6{max-width:768px}}@media (min-width: 1024px){.modal-container.svelte-ra5mg6{max-width:1024px}}@media (min-width: 1280px){.modal-container.svelte-ra5mg6{max-width:1280px}}@media (min-width: 1536px){.modal-container.svelte-ra5mg6{max-width:1536px}}.modal.svelte-ra5mg6{position:fixed;left:0;top:0;width:100%;height:100%;z-index:100;background-color:#000;background-color:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-container.svelte-ra5mg6{padding:0 var(--size-8);margin:var(--size-8) auto;max-height:calc(100% - var(--size-8));overflow-y:hidden}.close.svelte-ra5mg6{display:flex;position:absolute;top:var(--block-label-margin);right:var(--block-label-margin);align-items:center;box-shadow:var(--shadow-drop);border:1px solid var(--border-color-primary);border-top:none;border-right:none;border-radius:var(--block-label-right-radius);background:var(--block-label-background-fill);padding:6px;height:24px;overflow:hidden;color:var(--block-label-text-color);font:var(--font);font-size:var(--button-small-text-size);cursor:pointer}.hide.svelte-ra5mg6{display:none}
src/demo/__init__.py ADDED
File without changes
src/demo/app.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from gradio_modal import Modal
4
+
5
+
6
+ with gr.Blocks() as demo:
7
+ gr.Markdown("### Main Page")
8
+ gr.Textbox("lorem ipsum " * 1000, lines=10)
9
+
10
+ with Modal(visible=True) as modal:
11
+ gr.Markdown("# License Agreement")
12
+ gr.Textbox(value="This is the license agreement. Please read it carefully. " * 5, lines=12)
13
+ close_btn = gr.Button("Close Modal")
14
+ close_btn.click(lambda: Modal(visible=False), None, modal)
15
+
16
+ show_btn = gr.Button("Show Modal")
17
+ show_btn.click(lambda: Modal(visible=True), None, modal)
18
+
19
+
20
+ if __name__ == "__main__":
21
+ demo.launch()
src/demo/css.css ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html {
2
+ font-family: Inter;
3
+ font-size: 16px;
4
+ font-weight: 400;
5
+ line-height: 1.5;
6
+ -webkit-text-size-adjust: 100%;
7
+ background: #fff;
8
+ color: #323232;
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ text-rendering: optimizeLegibility;
12
+ }
13
+
14
+ :root {
15
+ --space: 1;
16
+ --vspace: calc(var(--space) * 1rem);
17
+ --vspace-0: calc(3 * var(--space) * 1rem);
18
+ --vspace-1: calc(2 * var(--space) * 1rem);
19
+ --vspace-2: calc(1.5 * var(--space) * 1rem);
20
+ --vspace-3: calc(0.5 * var(--space) * 1rem);
21
+ }
22
+
23
+ .app {
24
+ max-width: 748px !important;
25
+ }
26
+
27
+ .prose p {
28
+ margin: var(--vspace) 0;
29
+ line-height: var(--vspace * 2);
30
+ font-size: 1rem;
31
+ }
32
+
33
+ code {
34
+ font-family: "Inconsolata", sans-serif;
35
+ font-size: 16px;
36
+ }
37
+
38
+ h1,
39
+ h1 code {
40
+ font-weight: 400;
41
+ line-height: calc(2.5 / var(--space) * var(--vspace));
42
+ }
43
+
44
+ h1 code {
45
+ background: none;
46
+ border: none;
47
+ letter-spacing: 0.05em;
48
+ padding-bottom: 5px;
49
+ position: relative;
50
+ padding: 0;
51
+ }
52
+
53
+ h2 {
54
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
55
+ line-height: 1em;
56
+ }
57
+
58
+ h3,
59
+ h3 code {
60
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
61
+ line-height: 1em;
62
+ }
63
+
64
+ h4,
65
+ h5,
66
+ h6 {
67
+ margin: var(--vspace-3) 0 var(--vspace-3) 0;
68
+ line-height: var(--vspace);
69
+ }
70
+
71
+ .bigtitle,
72
+ h1,
73
+ h1 code {
74
+ font-size: calc(8px * 4.5);
75
+ word-break: break-word;
76
+ }
77
+
78
+ .title,
79
+ h2,
80
+ h2 code {
81
+ font-size: calc(8px * 3.375);
82
+ font-weight: lighter;
83
+ word-break: break-word;
84
+ border: none;
85
+ background: none;
86
+ }
87
+
88
+ .subheading1,
89
+ h3,
90
+ h3 code {
91
+ font-size: calc(8px * 1.8);
92
+ font-weight: 600;
93
+ border: none;
94
+ background: none;
95
+ letter-spacing: 0.1em;
96
+ text-transform: uppercase;
97
+ }
98
+
99
+ h2 code {
100
+ padding: 0;
101
+ position: relative;
102
+ letter-spacing: 0.05em;
103
+ }
104
+
105
+ blockquote {
106
+ font-size: calc(8px * 1.1667);
107
+ font-style: italic;
108
+ line-height: calc(1.1667 * var(--vspace));
109
+ margin: var(--vspace-2) var(--vspace-2);
110
+ }
111
+
112
+ .subheading2,
113
+ h4 {
114
+ font-size: calc(8px * 1.4292);
115
+ text-transform: uppercase;
116
+ font-weight: 600;
117
+ }
118
+
119
+ .subheading3,
120
+ h5 {
121
+ font-size: calc(8px * 1.2917);
122
+ line-height: calc(1.2917 * var(--vspace));
123
+
124
+ font-weight: lighter;
125
+ text-transform: uppercase;
126
+ letter-spacing: 0.15em;
127
+ }
128
+
129
+ h6 {
130
+ font-size: calc(8px * 1.1667);
131
+ font-size: 1.1667em;
132
+ font-weight: normal;
133
+ font-style: italic;
134
+ font-family: "le-monde-livre-classic-byol", serif !important;
135
+ letter-spacing: 0px !important;
136
+ }
137
+
138
+ #start .md > *:first-child {
139
+ margin-top: 0;
140
+ }
141
+
142
+ h2 + h3 {
143
+ margin-top: 0;
144
+ }
145
+
146
+ .md hr {
147
+ border: none;
148
+ border-top: 1px solid var(--block-border-color);
149
+ margin: var(--vspace-2) 0 var(--vspace-2) 0;
150
+ }
151
+ .prose ul {
152
+ margin: var(--vspace-2) 0 var(--vspace-1) 0;
153
+ }
154
+
155
+ .gap {
156
+ gap: 0;
157
+ }
src/demo/space.py ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from app import demo as app
4
+ import os
5
+
6
+ _docs = {'Modal': {'description': 'Modal is a layout element within Blocks that will show its content in a popup above other content.\n from gradio_modal import Modal\n with gr.Blocks() as demo:\n with Modal():\n text1 = gr.Textbox()\n text2 = gr.Textbox()\n btn = gr.Button("Button")', 'members': {'__init__': {'visible': {'type': 'bool', 'default': 'False', 'description': 'If False, column will be hidden.'}, 'elem_id': {'type': 'str | None', 'default': 'None', 'description': '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': {'type': 'list[str] | str | None', 'default': 'None', 'description': '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': {'type': 'bool', 'default': 'True', 'description': 'If True, user can close the modal (by clicking outside, clicking the X, or the escape key).'}, 'render': {'type': 'bool', 'default': 'True', 'description': '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.'}}, 'postprocess': {}}, 'events': {}}, '__meta__': {'additional_interfaces': {}}}
7
+
8
+ abs_path = os.path.join(os.path.dirname(__file__), "css.css")
9
+
10
+ with gr.Blocks(
11
+ css=abs_path,
12
+ theme=gr.themes.Default(
13
+ font_mono=[
14
+ gr.themes.GoogleFont("Inconsolata"),
15
+ "monospace",
16
+ ],
17
+ ),
18
+ ) as demo:
19
+ gr.Markdown(
20
+ """
21
+ # `gradio_modal`
22
+
23
+ <div style="display: flex; gap: 7px;">
24
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange">
25
+ </div>
26
+
27
+ A popup modal component
28
+ """, elem_classes=["md-custom"], header_links=True)
29
+ app.render()
30
+ gr.Markdown(
31
+ """
32
+ ## Installation
33
+
34
+ ```bash
35
+ pip install gradio_modal
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ ```python
41
+
42
+ import gradio as gr
43
+ from gradio_modal import Modal
44
+
45
+
46
+ with gr.Blocks() as demo:
47
+ gr.Markdown("### Main Page")
48
+ gr.Textbox("lorem ipsum " * 1000, lines=10)
49
+
50
+ with Modal(visible=True) as modal:
51
+ gr.Markdown("# License Agreement")
52
+ gr.Textbox(value="This is the license agreement. Please read it carefully. " * 5, lines=12)
53
+ close_btn = gr.Button("Close Modal")
54
+ close_btn.click(lambda: Modal(visible=False), None, modal)
55
+
56
+ show_btn = gr.Button("Show Modal")
57
+ show_btn.click(lambda: Modal(visible=True), None, modal)
58
+
59
+
60
+ if __name__ == "__main__":
61
+ demo.launch()
62
+
63
+ ```
64
+ """, elem_classes=["md-custom"], header_links=True)
65
+
66
+
67
+ gr.Markdown("""
68
+ ## `Modal`
69
+
70
+ ### Initialization
71
+ """, elem_classes=["md-custom"], header_links=True)
72
+
73
+ gr.ParamViewer(value=_docs["Modal"]["members"]["__init__"], linkify=[])
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ demo.load(None, js=r"""function() {
82
+ const refs = {};
83
+ const user_fn_refs = {};
84
+ requestAnimationFrame(() => {
85
+
86
+ Object.entries(user_fn_refs).forEach(([key, refs]) => {
87
+ if (refs.length > 0) {
88
+ const el = document.querySelector(`.${key}-user-fn`);
89
+ if (!el) return;
90
+ refs.forEach(ref => {
91
+ el.innerHTML = el.innerHTML.replace(
92
+ new RegExp("\\b"+ref+"\\b", "g"),
93
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
94
+ );
95
+ })
96
+ }
97
+ })
98
+
99
+ Object.entries(refs).forEach(([key, refs]) => {
100
+ if (refs.length > 0) {
101
+ const el = document.querySelector(`.${key}`);
102
+ if (!el) return;
103
+ refs.forEach(ref => {
104
+ el.innerHTML = el.innerHTML.replace(
105
+ new RegExp("\\b"+ref+"\\b", "g"),
106
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
107
+ );
108
+ })
109
+ }
110
+ })
111
+ })
112
+ }
113
+
114
+ """)
115
+
116
+ demo.launch()
src/frontend/Index.svelte ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import { Block } from "@gradio/atoms";
3
+ import Column from "@gradio/column";
4
+ export let elem_id = "";
5
+ export let elem_classes: string[] = [];
6
+ export let visible = false;
7
+ export let allow_user_close = true;
8
+
9
+ let element: HTMLElement | null = null;
10
+
11
+ document.addEventListener("keydown", (evt: KeyboardEvent) => {
12
+ if (allow_user_close && evt.key === "Escape") {
13
+ visible = false;
14
+ }
15
+ });
16
+ </script>
17
+
18
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
19
+ <div
20
+ class="modal {elem_classes.join(' ')}"
21
+ bind:this={element}
22
+ class:hide={!visible}
23
+ id={elem_id}
24
+ on:click={(evt) => {
25
+ if (allow_user_close && evt.target === element) {
26
+ visible = false;
27
+ }
28
+ }}
29
+ >
30
+ <div class="modal-container">
31
+ <Block height="100%">
32
+ {#if allow_user_close}
33
+ <div class="close" on:click={() => (visible = false)}>
34
+ <svg
35
+ width="10"
36
+ height="10"
37
+ viewBox="0 0 10 10"
38
+ fill="none"
39
+ xmlns="http://www.w3.org/2000/svg"
40
+ >
41
+ <path
42
+ d="M1 1L9 9"
43
+ stroke="currentColor"
44
+ stroke-width="2"
45
+ stroke-linecap="round"
46
+ stroke-linejoin="round"
47
+ />
48
+ <path
49
+ d="M9 1L1 9"
50
+ stroke="currentColor"
51
+ stroke-width="2"
52
+ stroke-linecap="round"
53
+ stroke-linejoin="round"
54
+ />
55
+ </svg>
56
+ </div>
57
+ {/if}
58
+ <Column>
59
+ <slot />
60
+ </Column>
61
+ </Block>
62
+ </div>
63
+ </div>
64
+
65
+ <style>
66
+ @media (min-width: 640px) {
67
+ .modal-container {
68
+ max-width: 640px;
69
+ }
70
+ }
71
+
72
+ @media (min-width: 768px) {
73
+ .modal-container {
74
+ max-width: 768px;
75
+ }
76
+ }
77
+
78
+ @media (min-width: 1024px) {
79
+ .modal-container {
80
+ max-width: 1024px;
81
+ }
82
+ }
83
+
84
+ @media (min-width: 1280px) {
85
+ .modal-container {
86
+ max-width: 1280px;
87
+ }
88
+ }
89
+
90
+ @media (min-width: 1536px) {
91
+ .modal-container {
92
+ max-width: 1536px;
93
+ }
94
+ }
95
+
96
+ .modal {
97
+ position: fixed; /* Stay in place */
98
+ z-index: 100; /* Sit on top */
99
+ left: 0;
100
+ top: 0;
101
+ width: 100%; /* Full width */
102
+ height: 100%; /* Full height */
103
+ z-index: 100;
104
+ background-color: rgb(0, 0, 0); /* Fallback color */
105
+ background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
106
+ backdrop-filter: blur(4px);
107
+ }
108
+ .modal-container {
109
+ padding: 0 var(--size-8);
110
+ margin: var(--size-8) auto;
111
+ max-height: calc(100% - var(--size-8));
112
+ overflow-y: hidden;
113
+ }
114
+ .close {
115
+ display: flex;
116
+ position: absolute;
117
+ top: var(--block-label-margin);
118
+ right: var(--block-label-margin);
119
+ align-items: center;
120
+ box-shadow: var(--shadow-drop);
121
+ border: 1px solid var(--border-color-primary);
122
+ border-top: none;
123
+ border-right: none;
124
+ border-radius: var(--block-label-right-radius);
125
+ background: var(--block-label-background-fill);
126
+ padding: 6px;
127
+ height: 24px;
128
+ overflow: hidden;
129
+ color: var(--block-label-text-color);
130
+ font: var(--font);
131
+ font-size: var(--button-small-text-size);
132
+ cursor: pointer;
133
+ }
134
+
135
+ .hide {
136
+ display: none;
137
+ }
138
+ </style>
src/frontend/package-lock.json ADDED
@@ -0,0 +1,936 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "gradio_modal",
3
+ "version": "0.1.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "gradio_modal",
9
+ "version": "0.1.0",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "@gradio/atoms": "0.4.1",
13
+ "@gradio/column": "0.1.0",
14
+ "@gradio/icons": "0.3.2",
15
+ "@gradio/statustracker": "0.4.3",
16
+ "@gradio/utils": "0.2.0"
17
+ }
18
+ },
19
+ "node_modules/@ampproject/remapping": {
20
+ "version": "2.2.1",
21
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
22
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
23
+ "peer": true,
24
+ "dependencies": {
25
+ "@jridgewell/gen-mapping": "^0.3.0",
26
+ "@jridgewell/trace-mapping": "^0.3.9"
27
+ },
28
+ "engines": {
29
+ "node": ">=6.0.0"
30
+ }
31
+ },
32
+ "node_modules/@esbuild/aix-ppc64": {
33
+ "version": "0.19.12",
34
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz",
35
+ "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==",
36
+ "cpu": [
37
+ "ppc64"
38
+ ],
39
+ "optional": true,
40
+ "os": [
41
+ "aix"
42
+ ],
43
+ "engines": {
44
+ "node": ">=12"
45
+ }
46
+ },
47
+ "node_modules/@esbuild/android-arm": {
48
+ "version": "0.19.12",
49
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz",
50
+ "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==",
51
+ "cpu": [
52
+ "arm"
53
+ ],
54
+ "optional": true,
55
+ "os": [
56
+ "android"
57
+ ],
58
+ "engines": {
59
+ "node": ">=12"
60
+ }
61
+ },
62
+ "node_modules/@esbuild/android-arm64": {
63
+ "version": "0.19.12",
64
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz",
65
+ "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==",
66
+ "cpu": [
67
+ "arm64"
68
+ ],
69
+ "optional": true,
70
+ "os": [
71
+ "android"
72
+ ],
73
+ "engines": {
74
+ "node": ">=12"
75
+ }
76
+ },
77
+ "node_modules/@esbuild/android-x64": {
78
+ "version": "0.19.12",
79
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz",
80
+ "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==",
81
+ "cpu": [
82
+ "x64"
83
+ ],
84
+ "optional": true,
85
+ "os": [
86
+ "android"
87
+ ],
88
+ "engines": {
89
+ "node": ">=12"
90
+ }
91
+ },
92
+ "node_modules/@esbuild/darwin-arm64": {
93
+ "version": "0.19.12",
94
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
95
+ "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
96
+ "cpu": [
97
+ "arm64"
98
+ ],
99
+ "optional": true,
100
+ "os": [
101
+ "darwin"
102
+ ],
103
+ "engines": {
104
+ "node": ">=12"
105
+ }
106
+ },
107
+ "node_modules/@esbuild/darwin-x64": {
108
+ "version": "0.19.12",
109
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz",
110
+ "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==",
111
+ "cpu": [
112
+ "x64"
113
+ ],
114
+ "optional": true,
115
+ "os": [
116
+ "darwin"
117
+ ],
118
+ "engines": {
119
+ "node": ">=12"
120
+ }
121
+ },
122
+ "node_modules/@esbuild/freebsd-arm64": {
123
+ "version": "0.19.12",
124
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz",
125
+ "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==",
126
+ "cpu": [
127
+ "arm64"
128
+ ],
129
+ "optional": true,
130
+ "os": [
131
+ "freebsd"
132
+ ],
133
+ "engines": {
134
+ "node": ">=12"
135
+ }
136
+ },
137
+ "node_modules/@esbuild/freebsd-x64": {
138
+ "version": "0.19.12",
139
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz",
140
+ "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==",
141
+ "cpu": [
142
+ "x64"
143
+ ],
144
+ "optional": true,
145
+ "os": [
146
+ "freebsd"
147
+ ],
148
+ "engines": {
149
+ "node": ">=12"
150
+ }
151
+ },
152
+ "node_modules/@esbuild/linux-arm": {
153
+ "version": "0.19.12",
154
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz",
155
+ "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==",
156
+ "cpu": [
157
+ "arm"
158
+ ],
159
+ "optional": true,
160
+ "os": [
161
+ "linux"
162
+ ],
163
+ "engines": {
164
+ "node": ">=12"
165
+ }
166
+ },
167
+ "node_modules/@esbuild/linux-arm64": {
168
+ "version": "0.19.12",
169
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz",
170
+ "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==",
171
+ "cpu": [
172
+ "arm64"
173
+ ],
174
+ "optional": true,
175
+ "os": [
176
+ "linux"
177
+ ],
178
+ "engines": {
179
+ "node": ">=12"
180
+ }
181
+ },
182
+ "node_modules/@esbuild/linux-ia32": {
183
+ "version": "0.19.12",
184
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz",
185
+ "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==",
186
+ "cpu": [
187
+ "ia32"
188
+ ],
189
+ "optional": true,
190
+ "os": [
191
+ "linux"
192
+ ],
193
+ "engines": {
194
+ "node": ">=12"
195
+ }
196
+ },
197
+ "node_modules/@esbuild/linux-loong64": {
198
+ "version": "0.19.12",
199
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz",
200
+ "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==",
201
+ "cpu": [
202
+ "loong64"
203
+ ],
204
+ "optional": true,
205
+ "os": [
206
+ "linux"
207
+ ],
208
+ "engines": {
209
+ "node": ">=12"
210
+ }
211
+ },
212
+ "node_modules/@esbuild/linux-mips64el": {
213
+ "version": "0.19.12",
214
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz",
215
+ "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==",
216
+ "cpu": [
217
+ "mips64el"
218
+ ],
219
+ "optional": true,
220
+ "os": [
221
+ "linux"
222
+ ],
223
+ "engines": {
224
+ "node": ">=12"
225
+ }
226
+ },
227
+ "node_modules/@esbuild/linux-ppc64": {
228
+ "version": "0.19.12",
229
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz",
230
+ "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==",
231
+ "cpu": [
232
+ "ppc64"
233
+ ],
234
+ "optional": true,
235
+ "os": [
236
+ "linux"
237
+ ],
238
+ "engines": {
239
+ "node": ">=12"
240
+ }
241
+ },
242
+ "node_modules/@esbuild/linux-riscv64": {
243
+ "version": "0.19.12",
244
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz",
245
+ "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==",
246
+ "cpu": [
247
+ "riscv64"
248
+ ],
249
+ "optional": true,
250
+ "os": [
251
+ "linux"
252
+ ],
253
+ "engines": {
254
+ "node": ">=12"
255
+ }
256
+ },
257
+ "node_modules/@esbuild/linux-s390x": {
258
+ "version": "0.19.12",
259
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz",
260
+ "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==",
261
+ "cpu": [
262
+ "s390x"
263
+ ],
264
+ "optional": true,
265
+ "os": [
266
+ "linux"
267
+ ],
268
+ "engines": {
269
+ "node": ">=12"
270
+ }
271
+ },
272
+ "node_modules/@esbuild/linux-x64": {
273
+ "version": "0.19.12",
274
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz",
275
+ "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==",
276
+ "cpu": [
277
+ "x64"
278
+ ],
279
+ "optional": true,
280
+ "os": [
281
+ "linux"
282
+ ],
283
+ "engines": {
284
+ "node": ">=12"
285
+ }
286
+ },
287
+ "node_modules/@esbuild/netbsd-x64": {
288
+ "version": "0.19.12",
289
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz",
290
+ "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==",
291
+ "cpu": [
292
+ "x64"
293
+ ],
294
+ "optional": true,
295
+ "os": [
296
+ "netbsd"
297
+ ],
298
+ "engines": {
299
+ "node": ">=12"
300
+ }
301
+ },
302
+ "node_modules/@esbuild/openbsd-x64": {
303
+ "version": "0.19.12",
304
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
305
+ "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==",
306
+ "cpu": [
307
+ "x64"
308
+ ],
309
+ "optional": true,
310
+ "os": [
311
+ "openbsd"
312
+ ],
313
+ "engines": {
314
+ "node": ">=12"
315
+ }
316
+ },
317
+ "node_modules/@esbuild/sunos-x64": {
318
+ "version": "0.19.12",
319
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz",
320
+ "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==",
321
+ "cpu": [
322
+ "x64"
323
+ ],
324
+ "optional": true,
325
+ "os": [
326
+ "sunos"
327
+ ],
328
+ "engines": {
329
+ "node": ">=12"
330
+ }
331
+ },
332
+ "node_modules/@esbuild/win32-arm64": {
333
+ "version": "0.19.12",
334
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz",
335
+ "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==",
336
+ "cpu": [
337
+ "arm64"
338
+ ],
339
+ "optional": true,
340
+ "os": [
341
+ "win32"
342
+ ],
343
+ "engines": {
344
+ "node": ">=12"
345
+ }
346
+ },
347
+ "node_modules/@esbuild/win32-ia32": {
348
+ "version": "0.19.12",
349
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz",
350
+ "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==",
351
+ "cpu": [
352
+ "ia32"
353
+ ],
354
+ "optional": true,
355
+ "os": [
356
+ "win32"
357
+ ],
358
+ "engines": {
359
+ "node": ">=12"
360
+ }
361
+ },
362
+ "node_modules/@esbuild/win32-x64": {
363
+ "version": "0.19.12",
364
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz",
365
+ "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==",
366
+ "cpu": [
367
+ "x64"
368
+ ],
369
+ "optional": true,
370
+ "os": [
371
+ "win32"
372
+ ],
373
+ "engines": {
374
+ "node": ">=12"
375
+ }
376
+ },
377
+ "node_modules/@formatjs/ecma402-abstract": {
378
+ "version": "1.11.4",
379
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz",
380
+ "integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==",
381
+ "dependencies": {
382
+ "@formatjs/intl-localematcher": "0.2.25",
383
+ "tslib": "^2.1.0"
384
+ }
385
+ },
386
+ "node_modules/@formatjs/fast-memoize": {
387
+ "version": "1.2.1",
388
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz",
389
+ "integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==",
390
+ "dependencies": {
391
+ "tslib": "^2.1.0"
392
+ }
393
+ },
394
+ "node_modules/@formatjs/icu-messageformat-parser": {
395
+ "version": "2.1.0",
396
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.0.tgz",
397
+ "integrity": "sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==",
398
+ "dependencies": {
399
+ "@formatjs/ecma402-abstract": "1.11.4",
400
+ "@formatjs/icu-skeleton-parser": "1.3.6",
401
+ "tslib": "^2.1.0"
402
+ }
403
+ },
404
+ "node_modules/@formatjs/icu-skeleton-parser": {
405
+ "version": "1.3.6",
406
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.6.tgz",
407
+ "integrity": "sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==",
408
+ "dependencies": {
409
+ "@formatjs/ecma402-abstract": "1.11.4",
410
+ "tslib": "^2.1.0"
411
+ }
412
+ },
413
+ "node_modules/@formatjs/intl-localematcher": {
414
+ "version": "0.2.25",
415
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz",
416
+ "integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==",
417
+ "dependencies": {
418
+ "tslib": "^2.1.0"
419
+ }
420
+ },
421
+ "node_modules/@gradio/atoms": {
422
+ "version": "0.4.1",
423
+ "resolved": "https://registry.npmjs.org/@gradio/atoms/-/atoms-0.4.1.tgz",
424
+ "integrity": "sha512-NkA5JBwglft0HpE/kfq2KA8f/2LvMcQ9yMBgAZD4wbp7O3i3HJ2+Gw4umKvUGNt53berq8Q+qT2qnFxc3qAGUQ==",
425
+ "dependencies": {
426
+ "@gradio/icons": "^0.3.2",
427
+ "@gradio/utils": "^0.2.0"
428
+ }
429
+ },
430
+ "node_modules/@gradio/column": {
431
+ "version": "0.1.0",
432
+ "resolved": "https://registry.npmjs.org/@gradio/column/-/column-0.1.0.tgz",
433
+ "integrity": "sha512-P24nqqVnMXBaDA1f/zSN5HZRho4PxP8Dq+7VltPHlmxIEiZYik2AJ4J0LeuIha34FDO0guu/16evdrpvGIUAfw=="
434
+ },
435
+ "node_modules/@gradio/icons": {
436
+ "version": "0.3.2",
437
+ "resolved": "https://registry.npmjs.org/@gradio/icons/-/icons-0.3.2.tgz",
438
+ "integrity": "sha512-l0jGfSRFiZ/doAXz6L+JEp6MN/a1BTZm88kqVoSnYrKSytP6bnBLRWeF4UvOi2T2fbVrNKenAEt/lwxJE5vK4w=="
439
+ },
440
+ "node_modules/@gradio/statustracker": {
441
+ "version": "0.4.3",
442
+ "resolved": "https://registry.npmjs.org/@gradio/statustracker/-/statustracker-0.4.3.tgz",
443
+ "integrity": "sha512-q1B4+I/O9eKoCIWW42xK/yxBGRRQZFfV2dVWxBcEmlX6A0r5FfkFHvs569lfVxdKrJDNlmtI55Idm97meYPaeg==",
444
+ "dependencies": {
445
+ "@gradio/atoms": "^0.4.1",
446
+ "@gradio/column": "^0.1.0",
447
+ "@gradio/icons": "^0.3.2",
448
+ "@gradio/utils": "^0.2.0"
449
+ }
450
+ },
451
+ "node_modules/@gradio/theme": {
452
+ "version": "0.2.0",
453
+ "resolved": "https://registry.npmjs.org/@gradio/theme/-/theme-0.2.0.tgz",
454
+ "integrity": "sha512-33c68Nk7oRXLn08OxPfjcPm7S4tXGOUV1I1bVgzdM2YV5o1QBOS1GEnXPZPu/CEYPePLMB6bsDwffrLEyLGWVQ=="
455
+ },
456
+ "node_modules/@gradio/utils": {
457
+ "version": "0.2.0",
458
+ "resolved": "https://registry.npmjs.org/@gradio/utils/-/utils-0.2.0.tgz",
459
+ "integrity": "sha512-YkwzXufi6IxQrlMW+1sFo8Yn6F9NLL69ZoBsbo7QEhms0v5L7pmOTw+dfd7M3dwbRP2lgjrb52i1kAIN3n6aqQ==",
460
+ "dependencies": {
461
+ "@gradio/theme": "^0.2.0",
462
+ "svelte-i18n": "^3.6.0"
463
+ }
464
+ },
465
+ "node_modules/@jridgewell/gen-mapping": {
466
+ "version": "0.3.3",
467
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
468
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
469
+ "peer": true,
470
+ "dependencies": {
471
+ "@jridgewell/set-array": "^1.0.1",
472
+ "@jridgewell/sourcemap-codec": "^1.4.10",
473
+ "@jridgewell/trace-mapping": "^0.3.9"
474
+ },
475
+ "engines": {
476
+ "node": ">=6.0.0"
477
+ }
478
+ },
479
+ "node_modules/@jridgewell/resolve-uri": {
480
+ "version": "3.1.1",
481
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
482
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
483
+ "peer": true,
484
+ "engines": {
485
+ "node": ">=6.0.0"
486
+ }
487
+ },
488
+ "node_modules/@jridgewell/set-array": {
489
+ "version": "1.1.2",
490
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
491
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
492
+ "peer": true,
493
+ "engines": {
494
+ "node": ">=6.0.0"
495
+ }
496
+ },
497
+ "node_modules/@jridgewell/sourcemap-codec": {
498
+ "version": "1.4.15",
499
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
500
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
501
+ "peer": true
502
+ },
503
+ "node_modules/@jridgewell/trace-mapping": {
504
+ "version": "0.3.22",
505
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
506
+ "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
507
+ "peer": true,
508
+ "dependencies": {
509
+ "@jridgewell/resolve-uri": "^3.1.0",
510
+ "@jridgewell/sourcemap-codec": "^1.4.14"
511
+ }
512
+ },
513
+ "node_modules/@types/estree": {
514
+ "version": "1.0.5",
515
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
516
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
517
+ "peer": true
518
+ },
519
+ "node_modules/acorn": {
520
+ "version": "8.11.3",
521
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
522
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
523
+ "peer": true,
524
+ "bin": {
525
+ "acorn": "bin/acorn"
526
+ },
527
+ "engines": {
528
+ "node": ">=0.4.0"
529
+ }
530
+ },
531
+ "node_modules/aria-query": {
532
+ "version": "5.3.0",
533
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
534
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
535
+ "peer": true,
536
+ "dependencies": {
537
+ "dequal": "^2.0.3"
538
+ }
539
+ },
540
+ "node_modules/axobject-query": {
541
+ "version": "4.0.0",
542
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz",
543
+ "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==",
544
+ "peer": true,
545
+ "dependencies": {
546
+ "dequal": "^2.0.3"
547
+ }
548
+ },
549
+ "node_modules/cli-color": {
550
+ "version": "2.0.3",
551
+ "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz",
552
+ "integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==",
553
+ "dependencies": {
554
+ "d": "^1.0.1",
555
+ "es5-ext": "^0.10.61",
556
+ "es6-iterator": "^2.0.3",
557
+ "memoizee": "^0.4.15",
558
+ "timers-ext": "^0.1.7"
559
+ },
560
+ "engines": {
561
+ "node": ">=0.10"
562
+ }
563
+ },
564
+ "node_modules/code-red": {
565
+ "version": "1.0.4",
566
+ "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
567
+ "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
568
+ "peer": true,
569
+ "dependencies": {
570
+ "@jridgewell/sourcemap-codec": "^1.4.15",
571
+ "@types/estree": "^1.0.1",
572
+ "acorn": "^8.10.0",
573
+ "estree-walker": "^3.0.3",
574
+ "periscopic": "^3.1.0"
575
+ }
576
+ },
577
+ "node_modules/css-tree": {
578
+ "version": "2.3.1",
579
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
580
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
581
+ "peer": true,
582
+ "dependencies": {
583
+ "mdn-data": "2.0.30",
584
+ "source-map-js": "^1.0.1"
585
+ },
586
+ "engines": {
587
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
588
+ }
589
+ },
590
+ "node_modules/d": {
591
+ "version": "1.0.1",
592
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
593
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
594
+ "dependencies": {
595
+ "es5-ext": "^0.10.50",
596
+ "type": "^1.0.1"
597
+ }
598
+ },
599
+ "node_modules/deepmerge": {
600
+ "version": "4.3.1",
601
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
602
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
603
+ "engines": {
604
+ "node": ">=0.10.0"
605
+ }
606
+ },
607
+ "node_modules/dequal": {
608
+ "version": "2.0.3",
609
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
610
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
611
+ "peer": true,
612
+ "engines": {
613
+ "node": ">=6"
614
+ }
615
+ },
616
+ "node_modules/es5-ext": {
617
+ "version": "0.10.62",
618
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
619
+ "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
620
+ "hasInstallScript": true,
621
+ "dependencies": {
622
+ "es6-iterator": "^2.0.3",
623
+ "es6-symbol": "^3.1.3",
624
+ "next-tick": "^1.1.0"
625
+ },
626
+ "engines": {
627
+ "node": ">=0.10"
628
+ }
629
+ },
630
+ "node_modules/es6-iterator": {
631
+ "version": "2.0.3",
632
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
633
+ "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
634
+ "dependencies": {
635
+ "d": "1",
636
+ "es5-ext": "^0.10.35",
637
+ "es6-symbol": "^3.1.1"
638
+ }
639
+ },
640
+ "node_modules/es6-symbol": {
641
+ "version": "3.1.3",
642
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
643
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
644
+ "dependencies": {
645
+ "d": "^1.0.1",
646
+ "ext": "^1.1.2"
647
+ }
648
+ },
649
+ "node_modules/es6-weak-map": {
650
+ "version": "2.0.3",
651
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
652
+ "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
653
+ "dependencies": {
654
+ "d": "1",
655
+ "es5-ext": "^0.10.46",
656
+ "es6-iterator": "^2.0.3",
657
+ "es6-symbol": "^3.1.1"
658
+ }
659
+ },
660
+ "node_modules/esbuild": {
661
+ "version": "0.19.12",
662
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
663
+ "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==",
664
+ "hasInstallScript": true,
665
+ "bin": {
666
+ "esbuild": "bin/esbuild"
667
+ },
668
+ "engines": {
669
+ "node": ">=12"
670
+ },
671
+ "optionalDependencies": {
672
+ "@esbuild/aix-ppc64": "0.19.12",
673
+ "@esbuild/android-arm": "0.19.12",
674
+ "@esbuild/android-arm64": "0.19.12",
675
+ "@esbuild/android-x64": "0.19.12",
676
+ "@esbuild/darwin-arm64": "0.19.12",
677
+ "@esbuild/darwin-x64": "0.19.12",
678
+ "@esbuild/freebsd-arm64": "0.19.12",
679
+ "@esbuild/freebsd-x64": "0.19.12",
680
+ "@esbuild/linux-arm": "0.19.12",
681
+ "@esbuild/linux-arm64": "0.19.12",
682
+ "@esbuild/linux-ia32": "0.19.12",
683
+ "@esbuild/linux-loong64": "0.19.12",
684
+ "@esbuild/linux-mips64el": "0.19.12",
685
+ "@esbuild/linux-ppc64": "0.19.12",
686
+ "@esbuild/linux-riscv64": "0.19.12",
687
+ "@esbuild/linux-s390x": "0.19.12",
688
+ "@esbuild/linux-x64": "0.19.12",
689
+ "@esbuild/netbsd-x64": "0.19.12",
690
+ "@esbuild/openbsd-x64": "0.19.12",
691
+ "@esbuild/sunos-x64": "0.19.12",
692
+ "@esbuild/win32-arm64": "0.19.12",
693
+ "@esbuild/win32-ia32": "0.19.12",
694
+ "@esbuild/win32-x64": "0.19.12"
695
+ }
696
+ },
697
+ "node_modules/estree-walker": {
698
+ "version": "3.0.3",
699
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
700
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
701
+ "peer": true,
702
+ "dependencies": {
703
+ "@types/estree": "^1.0.0"
704
+ }
705
+ },
706
+ "node_modules/event-emitter": {
707
+ "version": "0.3.5",
708
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
709
+ "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
710
+ "dependencies": {
711
+ "d": "1",
712
+ "es5-ext": "~0.10.14"
713
+ }
714
+ },
715
+ "node_modules/ext": {
716
+ "version": "1.7.0",
717
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
718
+ "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
719
+ "dependencies": {
720
+ "type": "^2.7.2"
721
+ }
722
+ },
723
+ "node_modules/ext/node_modules/type": {
724
+ "version": "2.7.2",
725
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
726
+ "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
727
+ },
728
+ "node_modules/globalyzer": {
729
+ "version": "0.1.0",
730
+ "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
731
+ "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q=="
732
+ },
733
+ "node_modules/globrex": {
734
+ "version": "0.1.2",
735
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
736
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg=="
737
+ },
738
+ "node_modules/intl-messageformat": {
739
+ "version": "9.13.0",
740
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz",
741
+ "integrity": "sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==",
742
+ "dependencies": {
743
+ "@formatjs/ecma402-abstract": "1.11.4",
744
+ "@formatjs/fast-memoize": "1.2.1",
745
+ "@formatjs/icu-messageformat-parser": "2.1.0",
746
+ "tslib": "^2.1.0"
747
+ }
748
+ },
749
+ "node_modules/is-promise": {
750
+ "version": "2.2.2",
751
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
752
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
753
+ },
754
+ "node_modules/is-reference": {
755
+ "version": "3.0.2",
756
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
757
+ "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
758
+ "peer": true,
759
+ "dependencies": {
760
+ "@types/estree": "*"
761
+ }
762
+ },
763
+ "node_modules/locate-character": {
764
+ "version": "3.0.0",
765
+ "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
766
+ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
767
+ "peer": true
768
+ },
769
+ "node_modules/lru-queue": {
770
+ "version": "0.1.0",
771
+ "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
772
+ "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
773
+ "dependencies": {
774
+ "es5-ext": "~0.10.2"
775
+ }
776
+ },
777
+ "node_modules/magic-string": {
778
+ "version": "0.30.6",
779
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.6.tgz",
780
+ "integrity": "sha512-n62qCLbPjNjyo+owKtveQxZFZTBm+Ms6YoGD23Wew6Vw337PElFNifQpknPruVRQV57kVShPnLGo9vWxVhpPvA==",
781
+ "peer": true,
782
+ "dependencies": {
783
+ "@jridgewell/sourcemap-codec": "^1.4.15"
784
+ },
785
+ "engines": {
786
+ "node": ">=12"
787
+ }
788
+ },
789
+ "node_modules/mdn-data": {
790
+ "version": "2.0.30",
791
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
792
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
793
+ "peer": true
794
+ },
795
+ "node_modules/memoizee": {
796
+ "version": "0.4.15",
797
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
798
+ "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
799
+ "dependencies": {
800
+ "d": "^1.0.1",
801
+ "es5-ext": "^0.10.53",
802
+ "es6-weak-map": "^2.0.3",
803
+ "event-emitter": "^0.3.5",
804
+ "is-promise": "^2.2.2",
805
+ "lru-queue": "^0.1.0",
806
+ "next-tick": "^1.1.0",
807
+ "timers-ext": "^0.1.7"
808
+ }
809
+ },
810
+ "node_modules/mri": {
811
+ "version": "1.2.0",
812
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
813
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
814
+ "engines": {
815
+ "node": ">=4"
816
+ }
817
+ },
818
+ "node_modules/next-tick": {
819
+ "version": "1.1.0",
820
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
821
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
822
+ },
823
+ "node_modules/periscopic": {
824
+ "version": "3.1.0",
825
+ "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
826
+ "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
827
+ "peer": true,
828
+ "dependencies": {
829
+ "@types/estree": "^1.0.0",
830
+ "estree-walker": "^3.0.0",
831
+ "is-reference": "^3.0.0"
832
+ }
833
+ },
834
+ "node_modules/sade": {
835
+ "version": "1.8.1",
836
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
837
+ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
838
+ "dependencies": {
839
+ "mri": "^1.1.0"
840
+ },
841
+ "engines": {
842
+ "node": ">=6"
843
+ }
844
+ },
845
+ "node_modules/source-map-js": {
846
+ "version": "1.0.2",
847
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
848
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
849
+ "peer": true,
850
+ "engines": {
851
+ "node": ">=0.10.0"
852
+ }
853
+ },
854
+ "node_modules/svelte": {
855
+ "version": "4.2.9",
856
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.9.tgz",
857
+ "integrity": "sha512-hsoB/WZGEPFXeRRLPhPrbRz67PhP6sqYgvwcAs+gWdSQSvNDw+/lTeUJSWe5h2xC97Fz/8QxAOqItwBzNJPU8w==",
858
+ "peer": true,
859
+ "dependencies": {
860
+ "@ampproject/remapping": "^2.2.1",
861
+ "@jridgewell/sourcemap-codec": "^1.4.15",
862
+ "@jridgewell/trace-mapping": "^0.3.18",
863
+ "@types/estree": "^1.0.1",
864
+ "acorn": "^8.9.0",
865
+ "aria-query": "^5.3.0",
866
+ "axobject-query": "^4.0.0",
867
+ "code-red": "^1.0.3",
868
+ "css-tree": "^2.3.1",
869
+ "estree-walker": "^3.0.3",
870
+ "is-reference": "^3.0.1",
871
+ "locate-character": "^3.0.0",
872
+ "magic-string": "^0.30.4",
873
+ "periscopic": "^3.1.0"
874
+ },
875
+ "engines": {
876
+ "node": ">=16"
877
+ }
878
+ },
879
+ "node_modules/svelte-i18n": {
880
+ "version": "3.7.4",
881
+ "resolved": "https://registry.npmjs.org/svelte-i18n/-/svelte-i18n-3.7.4.tgz",
882
+ "integrity": "sha512-yGRCNo+eBT4cPuU7IVsYTYjxB7I2V8qgUZPlHnNctJj5IgbJgV78flsRzpjZ/8iUYZrS49oCt7uxlU3AZv/N5Q==",
883
+ "dependencies": {
884
+ "cli-color": "^2.0.3",
885
+ "deepmerge": "^4.2.2",
886
+ "esbuild": "^0.19.2",
887
+ "estree-walker": "^2",
888
+ "intl-messageformat": "^9.13.0",
889
+ "sade": "^1.8.1",
890
+ "tiny-glob": "^0.2.9"
891
+ },
892
+ "bin": {
893
+ "svelte-i18n": "dist/cli.js"
894
+ },
895
+ "engines": {
896
+ "node": ">= 16"
897
+ },
898
+ "peerDependencies": {
899
+ "svelte": "^3 || ^4"
900
+ }
901
+ },
902
+ "node_modules/svelte-i18n/node_modules/estree-walker": {
903
+ "version": "2.0.2",
904
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
905
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
906
+ },
907
+ "node_modules/timers-ext": {
908
+ "version": "0.1.7",
909
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
910
+ "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
911
+ "dependencies": {
912
+ "es5-ext": "~0.10.46",
913
+ "next-tick": "1"
914
+ }
915
+ },
916
+ "node_modules/tiny-glob": {
917
+ "version": "0.2.9",
918
+ "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
919
+ "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
920
+ "dependencies": {
921
+ "globalyzer": "0.1.0",
922
+ "globrex": "^0.1.2"
923
+ }
924
+ },
925
+ "node_modules/tslib": {
926
+ "version": "2.6.2",
927
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
928
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
929
+ },
930
+ "node_modules/type": {
931
+ "version": "1.2.0",
932
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
933
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
934
+ }
935
+ }
936
+ }
src/frontend/package.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "gradio_modal",
3
+ "version": "0.1.0",
4
+ "description": "Gradio UI packages",
5
+ "type": "module",
6
+ "author": "",
7
+ "license": "ISC",
8
+ "main_changeset": true,
9
+ "private": false,
10
+ "main": "./Index.svelte",
11
+ "exports": {
12
+ ".": "./Index.svelte",
13
+ "./package.json": "./package.json"
14
+ },
15
+ "dependencies": {
16
+ "@gradio/atoms": "0.4.1",
17
+ "@gradio/icons": "0.3.2",
18
+ "@gradio/statustracker": "0.4.3",
19
+ "@gradio/utils": "0.2.0",
20
+ "@gradio/column": "0.1.0"
21
+ }
22
+ }
src/frontend/pnpm-lock.yaml ADDED
@@ -0,0 +1,653 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ lockfileVersion: '6.0'
2
+
3
+ settings:
4
+ autoInstallPeers: true
5
+ excludeLinksFromLockfile: false
6
+
7
+ dependencies:
8
+ '@gradio/atoms':
9
+ specifier: 0.4.1
10
+ version: 0.4.1(svelte@4.2.9)
11
+ '@gradio/column':
12
+ specifier: 0.1.0
13
+ version: 0.1.0
14
+ '@gradio/icons':
15
+ specifier: 0.3.2
16
+ version: 0.3.2
17
+ '@gradio/statustracker':
18
+ specifier: 0.4.3
19
+ version: 0.4.3(svelte@4.2.9)
20
+ '@gradio/utils':
21
+ specifier: 0.2.0
22
+ version: 0.2.0(svelte@4.2.9)
23
+
24
+ packages:
25
+
26
+ /@ampproject/remapping@2.2.1:
27
+ resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
28
+ engines: {node: '>=6.0.0'}
29
+ dependencies:
30
+ '@jridgewell/gen-mapping': 0.3.3
31
+ '@jridgewell/trace-mapping': 0.3.22
32
+ dev: false
33
+
34
+ /@esbuild/aix-ppc64@0.19.12:
35
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
36
+ engines: {node: '>=12'}
37
+ cpu: [ppc64]
38
+ os: [aix]
39
+ requiresBuild: true
40
+ dev: false
41
+ optional: true
42
+
43
+ /@esbuild/android-arm64@0.19.12:
44
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
45
+ engines: {node: '>=12'}
46
+ cpu: [arm64]
47
+ os: [android]
48
+ requiresBuild: true
49
+ dev: false
50
+ optional: true
51
+
52
+ /@esbuild/android-arm@0.19.12:
53
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
54
+ engines: {node: '>=12'}
55
+ cpu: [arm]
56
+ os: [android]
57
+ requiresBuild: true
58
+ dev: false
59
+ optional: true
60
+
61
+ /@esbuild/android-x64@0.19.12:
62
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
63
+ engines: {node: '>=12'}
64
+ cpu: [x64]
65
+ os: [android]
66
+ requiresBuild: true
67
+ dev: false
68
+ optional: true
69
+
70
+ /@esbuild/darwin-arm64@0.19.12:
71
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
72
+ engines: {node: '>=12'}
73
+ cpu: [arm64]
74
+ os: [darwin]
75
+ requiresBuild: true
76
+ dev: false
77
+ optional: true
78
+
79
+ /@esbuild/darwin-x64@0.19.12:
80
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
81
+ engines: {node: '>=12'}
82
+ cpu: [x64]
83
+ os: [darwin]
84
+ requiresBuild: true
85
+ dev: false
86
+ optional: true
87
+
88
+ /@esbuild/freebsd-arm64@0.19.12:
89
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
90
+ engines: {node: '>=12'}
91
+ cpu: [arm64]
92
+ os: [freebsd]
93
+ requiresBuild: true
94
+ dev: false
95
+ optional: true
96
+
97
+ /@esbuild/freebsd-x64@0.19.12:
98
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
99
+ engines: {node: '>=12'}
100
+ cpu: [x64]
101
+ os: [freebsd]
102
+ requiresBuild: true
103
+ dev: false
104
+ optional: true
105
+
106
+ /@esbuild/linux-arm64@0.19.12:
107
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
108
+ engines: {node: '>=12'}
109
+ cpu: [arm64]
110
+ os: [linux]
111
+ requiresBuild: true
112
+ dev: false
113
+ optional: true
114
+
115
+ /@esbuild/linux-arm@0.19.12:
116
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
117
+ engines: {node: '>=12'}
118
+ cpu: [arm]
119
+ os: [linux]
120
+ requiresBuild: true
121
+ dev: false
122
+ optional: true
123
+
124
+ /@esbuild/linux-ia32@0.19.12:
125
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
126
+ engines: {node: '>=12'}
127
+ cpu: [ia32]
128
+ os: [linux]
129
+ requiresBuild: true
130
+ dev: false
131
+ optional: true
132
+
133
+ /@esbuild/linux-loong64@0.19.12:
134
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
135
+ engines: {node: '>=12'}
136
+ cpu: [loong64]
137
+ os: [linux]
138
+ requiresBuild: true
139
+ dev: false
140
+ optional: true
141
+
142
+ /@esbuild/linux-mips64el@0.19.12:
143
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
144
+ engines: {node: '>=12'}
145
+ cpu: [mips64el]
146
+ os: [linux]
147
+ requiresBuild: true
148
+ dev: false
149
+ optional: true
150
+
151
+ /@esbuild/linux-ppc64@0.19.12:
152
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
153
+ engines: {node: '>=12'}
154
+ cpu: [ppc64]
155
+ os: [linux]
156
+ requiresBuild: true
157
+ dev: false
158
+ optional: true
159
+
160
+ /@esbuild/linux-riscv64@0.19.12:
161
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
162
+ engines: {node: '>=12'}
163
+ cpu: [riscv64]
164
+ os: [linux]
165
+ requiresBuild: true
166
+ dev: false
167
+ optional: true
168
+
169
+ /@esbuild/linux-s390x@0.19.12:
170
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
171
+ engines: {node: '>=12'}
172
+ cpu: [s390x]
173
+ os: [linux]
174
+ requiresBuild: true
175
+ dev: false
176
+ optional: true
177
+
178
+ /@esbuild/linux-x64@0.19.12:
179
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
180
+ engines: {node: '>=12'}
181
+ cpu: [x64]
182
+ os: [linux]
183
+ requiresBuild: true
184
+ dev: false
185
+ optional: true
186
+
187
+ /@esbuild/netbsd-x64@0.19.12:
188
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
189
+ engines: {node: '>=12'}
190
+ cpu: [x64]
191
+ os: [netbsd]
192
+ requiresBuild: true
193
+ dev: false
194
+ optional: true
195
+
196
+ /@esbuild/openbsd-x64@0.19.12:
197
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
198
+ engines: {node: '>=12'}
199
+ cpu: [x64]
200
+ os: [openbsd]
201
+ requiresBuild: true
202
+ dev: false
203
+ optional: true
204
+
205
+ /@esbuild/sunos-x64@0.19.12:
206
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
207
+ engines: {node: '>=12'}
208
+ cpu: [x64]
209
+ os: [sunos]
210
+ requiresBuild: true
211
+ dev: false
212
+ optional: true
213
+
214
+ /@esbuild/win32-arm64@0.19.12:
215
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
216
+ engines: {node: '>=12'}
217
+ cpu: [arm64]
218
+ os: [win32]
219
+ requiresBuild: true
220
+ dev: false
221
+ optional: true
222
+
223
+ /@esbuild/win32-ia32@0.19.12:
224
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
225
+ engines: {node: '>=12'}
226
+ cpu: [ia32]
227
+ os: [win32]
228
+ requiresBuild: true
229
+ dev: false
230
+ optional: true
231
+
232
+ /@esbuild/win32-x64@0.19.12:
233
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
234
+ engines: {node: '>=12'}
235
+ cpu: [x64]
236
+ os: [win32]
237
+ requiresBuild: true
238
+ dev: false
239
+ optional: true
240
+
241
+ /@formatjs/ecma402-abstract@1.11.4:
242
+ resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==}
243
+ dependencies:
244
+ '@formatjs/intl-localematcher': 0.2.25
245
+ tslib: 2.6.2
246
+ dev: false
247
+
248
+ /@formatjs/fast-memoize@1.2.1:
249
+ resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==}
250
+ dependencies:
251
+ tslib: 2.6.2
252
+ dev: false
253
+
254
+ /@formatjs/icu-messageformat-parser@2.1.0:
255
+ resolution: {integrity: sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==}
256
+ dependencies:
257
+ '@formatjs/ecma402-abstract': 1.11.4
258
+ '@formatjs/icu-skeleton-parser': 1.3.6
259
+ tslib: 2.6.2
260
+ dev: false
261
+
262
+ /@formatjs/icu-skeleton-parser@1.3.6:
263
+ resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==}
264
+ dependencies:
265
+ '@formatjs/ecma402-abstract': 1.11.4
266
+ tslib: 2.6.2
267
+ dev: false
268
+
269
+ /@formatjs/intl-localematcher@0.2.25:
270
+ resolution: {integrity: sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==}
271
+ dependencies:
272
+ tslib: 2.6.2
273
+ dev: false
274
+
275
+ /@gradio/atoms@0.4.1(svelte@4.2.9):
276
+ resolution: {integrity: sha512-NkA5JBwglft0HpE/kfq2KA8f/2LvMcQ9yMBgAZD4wbp7O3i3HJ2+Gw4umKvUGNt53berq8Q+qT2qnFxc3qAGUQ==}
277
+ dependencies:
278
+ '@gradio/icons': 0.3.2
279
+ '@gradio/utils': 0.2.0(svelte@4.2.9)
280
+ transitivePeerDependencies:
281
+ - svelte
282
+ dev: false
283
+
284
+ /@gradio/column@0.1.0:
285
+ resolution: {integrity: sha512-P24nqqVnMXBaDA1f/zSN5HZRho4PxP8Dq+7VltPHlmxIEiZYik2AJ4J0LeuIha34FDO0guu/16evdrpvGIUAfw==}
286
+ dev: false
287
+
288
+ /@gradio/icons@0.3.2:
289
+ resolution: {integrity: sha512-l0jGfSRFiZ/doAXz6L+JEp6MN/a1BTZm88kqVoSnYrKSytP6bnBLRWeF4UvOi2T2fbVrNKenAEt/lwxJE5vK4w==}
290
+ dev: false
291
+
292
+ /@gradio/statustracker@0.4.3(svelte@4.2.9):
293
+ resolution: {integrity: sha512-q1B4+I/O9eKoCIWW42xK/yxBGRRQZFfV2dVWxBcEmlX6A0r5FfkFHvs569lfVxdKrJDNlmtI55Idm97meYPaeg==}
294
+ dependencies:
295
+ '@gradio/atoms': 0.4.1(svelte@4.2.9)
296
+ '@gradio/column': 0.1.0
297
+ '@gradio/icons': 0.3.2
298
+ '@gradio/utils': 0.2.0(svelte@4.2.9)
299
+ transitivePeerDependencies:
300
+ - svelte
301
+ dev: false
302
+
303
+ /@gradio/theme@0.2.0:
304
+ resolution: {integrity: sha512-33c68Nk7oRXLn08OxPfjcPm7S4tXGOUV1I1bVgzdM2YV5o1QBOS1GEnXPZPu/CEYPePLMB6bsDwffrLEyLGWVQ==}
305
+ dev: false
306
+
307
+ /@gradio/utils@0.2.0(svelte@4.2.9):
308
+ resolution: {integrity: sha512-YkwzXufi6IxQrlMW+1sFo8Yn6F9NLL69ZoBsbo7QEhms0v5L7pmOTw+dfd7M3dwbRP2lgjrb52i1kAIN3n6aqQ==}
309
+ dependencies:
310
+ '@gradio/theme': 0.2.0
311
+ svelte-i18n: 3.7.4(svelte@4.2.9)
312
+ transitivePeerDependencies:
313
+ - svelte
314
+ dev: false
315
+
316
+ /@jridgewell/gen-mapping@0.3.3:
317
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
318
+ engines: {node: '>=6.0.0'}
319
+ dependencies:
320
+ '@jridgewell/set-array': 1.1.2
321
+ '@jridgewell/sourcemap-codec': 1.4.15
322
+ '@jridgewell/trace-mapping': 0.3.22
323
+ dev: false
324
+
325
+ /@jridgewell/resolve-uri@3.1.1:
326
+ resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
327
+ engines: {node: '>=6.0.0'}
328
+ dev: false
329
+
330
+ /@jridgewell/set-array@1.1.2:
331
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
332
+ engines: {node: '>=6.0.0'}
333
+ dev: false
334
+
335
+ /@jridgewell/sourcemap-codec@1.4.15:
336
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
337
+ dev: false
338
+
339
+ /@jridgewell/trace-mapping@0.3.22:
340
+ resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==}
341
+ dependencies:
342
+ '@jridgewell/resolve-uri': 3.1.1
343
+ '@jridgewell/sourcemap-codec': 1.4.15
344
+ dev: false
345
+
346
+ /@types/estree@1.0.5:
347
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
348
+ dev: false
349
+
350
+ /acorn@8.11.3:
351
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
352
+ engines: {node: '>=0.4.0'}
353
+ hasBin: true
354
+ dev: false
355
+
356
+ /aria-query@5.3.0:
357
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
358
+ dependencies:
359
+ dequal: 2.0.3
360
+ dev: false
361
+
362
+ /axobject-query@4.0.0:
363
+ resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==}
364
+ dependencies:
365
+ dequal: 2.0.3
366
+ dev: false
367
+
368
+ /cli-color@2.0.3:
369
+ resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
370
+ engines: {node: '>=0.10'}
371
+ dependencies:
372
+ d: 1.0.1
373
+ es5-ext: 0.10.62
374
+ es6-iterator: 2.0.3
375
+ memoizee: 0.4.15
376
+ timers-ext: 0.1.7
377
+ dev: false
378
+
379
+ /code-red@1.0.4:
380
+ resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
381
+ dependencies:
382
+ '@jridgewell/sourcemap-codec': 1.4.15
383
+ '@types/estree': 1.0.5
384
+ acorn: 8.11.3
385
+ estree-walker: 3.0.3
386
+ periscopic: 3.1.0
387
+ dev: false
388
+
389
+ /css-tree@2.3.1:
390
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
391
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
392
+ dependencies:
393
+ mdn-data: 2.0.30
394
+ source-map-js: 1.0.2
395
+ dev: false
396
+
397
+ /d@1.0.1:
398
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
399
+ dependencies:
400
+ es5-ext: 0.10.62
401
+ type: 1.2.0
402
+ dev: false
403
+
404
+ /deepmerge@4.3.1:
405
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
406
+ engines: {node: '>=0.10.0'}
407
+ dev: false
408
+
409
+ /dequal@2.0.3:
410
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
411
+ engines: {node: '>=6'}
412
+ dev: false
413
+
414
+ /es5-ext@0.10.62:
415
+ resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
416
+ engines: {node: '>=0.10'}
417
+ requiresBuild: true
418
+ dependencies:
419
+ es6-iterator: 2.0.3
420
+ es6-symbol: 3.1.3
421
+ next-tick: 1.1.0
422
+ dev: false
423
+
424
+ /es6-iterator@2.0.3:
425
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
426
+ dependencies:
427
+ d: 1.0.1
428
+ es5-ext: 0.10.62
429
+ es6-symbol: 3.1.3
430
+ dev: false
431
+
432
+ /es6-symbol@3.1.3:
433
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
434
+ dependencies:
435
+ d: 1.0.1
436
+ ext: 1.7.0
437
+ dev: false
438
+
439
+ /es6-weak-map@2.0.3:
440
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
441
+ dependencies:
442
+ d: 1.0.1
443
+ es5-ext: 0.10.62
444
+ es6-iterator: 2.0.3
445
+ es6-symbol: 3.1.3
446
+ dev: false
447
+
448
+ /esbuild@0.19.12:
449
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
450
+ engines: {node: '>=12'}
451
+ hasBin: true
452
+ requiresBuild: true
453
+ optionalDependencies:
454
+ '@esbuild/aix-ppc64': 0.19.12
455
+ '@esbuild/android-arm': 0.19.12
456
+ '@esbuild/android-arm64': 0.19.12
457
+ '@esbuild/android-x64': 0.19.12
458
+ '@esbuild/darwin-arm64': 0.19.12
459
+ '@esbuild/darwin-x64': 0.19.12
460
+ '@esbuild/freebsd-arm64': 0.19.12
461
+ '@esbuild/freebsd-x64': 0.19.12
462
+ '@esbuild/linux-arm': 0.19.12
463
+ '@esbuild/linux-arm64': 0.19.12
464
+ '@esbuild/linux-ia32': 0.19.12
465
+ '@esbuild/linux-loong64': 0.19.12
466
+ '@esbuild/linux-mips64el': 0.19.12
467
+ '@esbuild/linux-ppc64': 0.19.12
468
+ '@esbuild/linux-riscv64': 0.19.12
469
+ '@esbuild/linux-s390x': 0.19.12
470
+ '@esbuild/linux-x64': 0.19.12
471
+ '@esbuild/netbsd-x64': 0.19.12
472
+ '@esbuild/openbsd-x64': 0.19.12
473
+ '@esbuild/sunos-x64': 0.19.12
474
+ '@esbuild/win32-arm64': 0.19.12
475
+ '@esbuild/win32-ia32': 0.19.12
476
+ '@esbuild/win32-x64': 0.19.12
477
+ dev: false
478
+
479
+ /estree-walker@2.0.2:
480
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
481
+ dev: false
482
+
483
+ /estree-walker@3.0.3:
484
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
485
+ dependencies:
486
+ '@types/estree': 1.0.5
487
+ dev: false
488
+
489
+ /event-emitter@0.3.5:
490
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
491
+ dependencies:
492
+ d: 1.0.1
493
+ es5-ext: 0.10.62
494
+ dev: false
495
+
496
+ /ext@1.7.0:
497
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
498
+ dependencies:
499
+ type: 2.7.2
500
+ dev: false
501
+
502
+ /globalyzer@0.1.0:
503
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
504
+ dev: false
505
+
506
+ /globrex@0.1.2:
507
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
508
+ dev: false
509
+
510
+ /intl-messageformat@9.13.0:
511
+ resolution: {integrity: sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==}
512
+ dependencies:
513
+ '@formatjs/ecma402-abstract': 1.11.4
514
+ '@formatjs/fast-memoize': 1.2.1
515
+ '@formatjs/icu-messageformat-parser': 2.1.0
516
+ tslib: 2.6.2
517
+ dev: false
518
+
519
+ /is-promise@2.2.2:
520
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
521
+ dev: false
522
+
523
+ /is-reference@3.0.2:
524
+ resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
525
+ dependencies:
526
+ '@types/estree': 1.0.5
527
+ dev: false
528
+
529
+ /locate-character@3.0.0:
530
+ resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
531
+ dev: false
532
+
533
+ /lru-queue@0.1.0:
534
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
535
+ dependencies:
536
+ es5-ext: 0.10.62
537
+ dev: false
538
+
539
+ /magic-string@0.30.6:
540
+ resolution: {integrity: sha512-n62qCLbPjNjyo+owKtveQxZFZTBm+Ms6YoGD23Wew6Vw337PElFNifQpknPruVRQV57kVShPnLGo9vWxVhpPvA==}
541
+ engines: {node: '>=12'}
542
+ dependencies:
543
+ '@jridgewell/sourcemap-codec': 1.4.15
544
+ dev: false
545
+
546
+ /mdn-data@2.0.30:
547
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
548
+ dev: false
549
+
550
+ /memoizee@0.4.15:
551
+ resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
552
+ dependencies:
553
+ d: 1.0.1
554
+ es5-ext: 0.10.62
555
+ es6-weak-map: 2.0.3
556
+ event-emitter: 0.3.5
557
+ is-promise: 2.2.2
558
+ lru-queue: 0.1.0
559
+ next-tick: 1.1.0
560
+ timers-ext: 0.1.7
561
+ dev: false
562
+
563
+ /mri@1.2.0:
564
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
565
+ engines: {node: '>=4'}
566
+ dev: false
567
+
568
+ /next-tick@1.1.0:
569
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
570
+ dev: false
571
+
572
+ /periscopic@3.1.0:
573
+ resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
574
+ dependencies:
575
+ '@types/estree': 1.0.5
576
+ estree-walker: 3.0.3
577
+ is-reference: 3.0.2
578
+ dev: false
579
+
580
+ /sade@1.8.1:
581
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
582
+ engines: {node: '>=6'}
583
+ dependencies:
584
+ mri: 1.2.0
585
+ dev: false
586
+
587
+ /source-map-js@1.0.2:
588
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
589
+ engines: {node: '>=0.10.0'}
590
+ dev: false
591
+
592
+ /svelte-i18n@3.7.4(svelte@4.2.9):
593
+ resolution: {integrity: sha512-yGRCNo+eBT4cPuU7IVsYTYjxB7I2V8qgUZPlHnNctJj5IgbJgV78flsRzpjZ/8iUYZrS49oCt7uxlU3AZv/N5Q==}
594
+ engines: {node: '>= 16'}
595
+ hasBin: true
596
+ peerDependencies:
597
+ svelte: ^3 || ^4
598
+ dependencies:
599
+ cli-color: 2.0.3
600
+ deepmerge: 4.3.1
601
+ esbuild: 0.19.12
602
+ estree-walker: 2.0.2
603
+ intl-messageformat: 9.13.0
604
+ sade: 1.8.1
605
+ svelte: 4.2.9
606
+ tiny-glob: 0.2.9
607
+ dev: false
608
+
609
+ /svelte@4.2.9:
610
+ resolution: {integrity: sha512-hsoB/WZGEPFXeRRLPhPrbRz67PhP6sqYgvwcAs+gWdSQSvNDw+/lTeUJSWe5h2xC97Fz/8QxAOqItwBzNJPU8w==}
611
+ engines: {node: '>=16'}
612
+ dependencies:
613
+ '@ampproject/remapping': 2.2.1
614
+ '@jridgewell/sourcemap-codec': 1.4.15
615
+ '@jridgewell/trace-mapping': 0.3.22
616
+ '@types/estree': 1.0.5
617
+ acorn: 8.11.3
618
+ aria-query: 5.3.0
619
+ axobject-query: 4.0.0
620
+ code-red: 1.0.4
621
+ css-tree: 2.3.1
622
+ estree-walker: 3.0.3
623
+ is-reference: 3.0.2
624
+ locate-character: 3.0.0
625
+ magic-string: 0.30.6
626
+ periscopic: 3.1.0
627
+ dev: false
628
+
629
+ /timers-ext@0.1.7:
630
+ resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
631
+ dependencies:
632
+ es5-ext: 0.10.62
633
+ next-tick: 1.1.0
634
+ dev: false
635
+
636
+ /tiny-glob@0.2.9:
637
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
638
+ dependencies:
639
+ globalyzer: 0.1.0
640
+ globrex: 0.1.2
641
+ dev: false
642
+
643
+ /tslib@2.6.2:
644
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
645
+ dev: false
646
+
647
+ /type@1.2.0:
648
+ resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
649
+ dev: false
650
+
651
+ /type@2.7.2:
652
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
653
+ dev: false
src/pyproject.toml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [build-system]
2
+ requires = [
3
+ "hatchling",
4
+ "hatch-requirements-txt",
5
+ "hatch-fancy-pypi-readme>=22.5.0",
6
+ ]
7
+ build-backend = "hatchling.build"
8
+
9
+ [project]
10
+ name = "gradio_modal"
11
+ version = "0.0.1"
12
+ description = "A popup modal component"
13
+ readme = "README.md"
14
+ license = "MIT"
15
+ requires-python = ">=3.8"
16
+ authors = [{ name = "YOUR NAME", email = "YOUREMAIL@domain.com" }]
17
+ keywords = ["gradio-custom-component", "gradio-template-Column", "Modal, Popup"]
18
+ # Add dependencies here
19
+ dependencies = ["gradio>=4.0,<5.0"]
20
+ classifiers = [
21
+ 'Development Status :: 3 - Alpha',
22
+ 'License :: OSI Approved :: Apache Software License',
23
+ 'Operating System :: OS Independent',
24
+ 'Programming Language :: Python :: 3',
25
+ 'Programming Language :: Python :: 3 :: Only',
26
+ 'Programming Language :: Python :: 3.8',
27
+ 'Programming Language :: Python :: 3.9',
28
+ 'Programming Language :: Python :: 3.10',
29
+ 'Programming Language :: Python :: 3.11',
30
+ 'Topic :: Scientific/Engineering',
31
+ 'Topic :: Scientific/Engineering :: Artificial Intelligence',
32
+ 'Topic :: Scientific/Engineering :: Visualization',
33
+ ]
34
+
35
+ [project.optional-dependencies]
36
+ dev = ["build", "twine"]
37
+
38
+ [tool.hatch.build]
39
+ artifacts = ["/backend/gradio_modal/templates", "*.pyi", "backend/gradio_modal/templates", "backend/gradio_modal/templates"]
40
+
41
+ [tool.hatch.build.targets.wheel]
42
+ packages = ["/backend/gradio_modal"]