@gradio/core 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +92 -0
- package/dist/src/Blocks.svelte +1 -1
- package/dist/src/api_docs/ApiDocs.svelte +1 -0
- package/dist/src/api_docs/RecordingSnippet.svelte +5 -3
- package/dist/src/api_docs/RecordingSnippet.svelte.d.ts +1 -0
- package/dist/src/init.d.ts +0 -4
- package/dist/src/init.js +15 -10
- package/dist/src/lang/fi.json +124 -0
- package/package.json +50 -50
- package/src/Blocks.svelte +1 -1
- package/src/api_docs/ApiDocs.svelte +1 -0
- package/src/api_docs/RecordingSnippet.svelte +5 -3
- package/src/init.ts +21 -12
- package/src/lang/fi.json +124 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,97 @@
|
|
|
1
1
|
# @gradio/core
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- [#9786](https://github.com/gradio-app/gradio/pull/9786) [`f109497`](https://github.com/gradio-app/gradio/commit/f109497e8281b3429b58e3f6a293dd63ebcc08af) - Fix frontend errors on ApiDocs and RecordingSnippet. Thanks @whitphx!
|
|
8
|
+
|
|
9
|
+
### Dependency updates
|
|
10
|
+
|
|
11
|
+
- @gradio/code@0.10.7
|
|
12
|
+
- @gradio/paramviewer@0.5.6
|
|
13
|
+
- @gradio/video@0.11.7
|
|
14
|
+
- @gradio/statustracker@0.9.4
|
|
15
|
+
- @gradio/button@0.3.6
|
|
16
|
+
- @gradio/atoms@0.11.0
|
|
17
|
+
- @gradio/column@0.2.0
|
|
18
|
+
- @gradio/file@0.11.0
|
|
19
|
+
- @gradio/upload@0.14.0
|
|
20
|
+
- @gradio/checkbox@0.4.6
|
|
21
|
+
- @gradio/wasm@0.15.0
|
|
22
|
+
- @gradio/image@0.16.7
|
|
23
|
+
- @gradio/gallery@0.13.7
|
|
24
|
+
- @gradio/plot@0.9.1
|
|
25
|
+
- @gradio/textbox@0.8.5
|
|
26
|
+
|
|
27
|
+
## 0.2.1
|
|
28
|
+
|
|
29
|
+
### Dependency updates
|
|
30
|
+
|
|
31
|
+
- @gradio/video@0.11.6
|
|
32
|
+
- @gradio/statustracker@0.9.3
|
|
33
|
+
- @gradio/atoms@0.10.1
|
|
34
|
+
- @gradio/client@1.7.1
|
|
35
|
+
- @gradio/image@0.16.6
|
|
36
|
+
- @gradio/upload@0.13.5
|
|
37
|
+
- @gradio/plot@0.9.0
|
|
38
|
+
- @gradio/gallery@0.13.6
|
|
39
|
+
- @gradio/tabs@0.3.3
|
|
40
|
+
- @gradio/tabitem@0.3.3
|
|
41
|
+
- @gradio/code@0.10.6
|
|
42
|
+
- @gradio/paramviewer@0.5.5
|
|
43
|
+
- @gradio/button@0.3.5
|
|
44
|
+
- @gradio/textbox@0.8.4
|
|
45
|
+
- @gradio/column@0.2.0
|
|
46
|
+
- @gradio/checkbox@0.4.5
|
|
47
|
+
- @gradio/file@0.10.6
|
|
48
|
+
|
|
49
|
+
## 0.2.1
|
|
50
|
+
|
|
51
|
+
### Fixes
|
|
52
|
+
|
|
53
|
+
- [#9653](https://github.com/gradio-app/gradio/pull/9653) [`61cd768`](https://github.com/gradio-app/gradio/commit/61cd768490a12f5d63101d5434092bcd1cfc43a8) - Ensures tabs with visible set to false are not visible. Thanks @hannahblair!
|
|
54
|
+
|
|
55
|
+
### Dependency updates
|
|
56
|
+
|
|
57
|
+
- @gradio/button@0.3.4
|
|
58
|
+
- @gradio/video@0.11.5
|
|
59
|
+
- @gradio/statustracker@0.9.2
|
|
60
|
+
- @gradio/atoms@0.10.0
|
|
61
|
+
- @gradio/icons@0.8.1
|
|
62
|
+
- @gradio/upload@0.13.4
|
|
63
|
+
- @gradio/plot@0.8.0
|
|
64
|
+
- @gradio/gallery@0.13.5
|
|
65
|
+
- @gradio/tabs@0.3.2
|
|
66
|
+
- @gradio/column@0.2.0
|
|
67
|
+
- @gradio/tabitem@0.3.2
|
|
68
|
+
- @gradio/code@0.10.5
|
|
69
|
+
- @gradio/paramviewer@0.5.4
|
|
70
|
+
- @gradio/textbox@0.8.3
|
|
71
|
+
- @gradio/file@0.10.5
|
|
72
|
+
- @gradio/checkbox@0.4.4
|
|
73
|
+
- @gradio/image@0.16.5
|
|
74
|
+
|
|
75
|
+
## 0.2.0
|
|
76
|
+
|
|
77
|
+
### Dependency updates
|
|
78
|
+
|
|
79
|
+
- @gradio/markdown@0.10.3
|
|
80
|
+
- @gradio/code@0.10.4
|
|
81
|
+
- @gradio/paramviewer@0.5.3
|
|
82
|
+
- @gradio/statustracker@0.9.1
|
|
83
|
+
- @gradio/upload@0.13.3
|
|
84
|
+
- @gradio/button@0.3.3
|
|
85
|
+
- @gradio/video@0.11.4
|
|
86
|
+
- @gradio/atoms@0.9.2
|
|
87
|
+
- @gradio/gallery@0.13.4
|
|
88
|
+
- @gradio/plot@0.7.3
|
|
89
|
+
- @gradio/column@0.2.0
|
|
90
|
+
- @gradio/textbox@0.8.2
|
|
91
|
+
- @gradio/checkbox@0.4.3
|
|
92
|
+
- @gradio/file@0.10.4
|
|
93
|
+
- @gradio/image@0.16.4
|
|
94
|
+
|
|
3
95
|
## 0.2.0
|
|
4
96
|
|
|
5
97
|
### Features
|
package/dist/src/Blocks.svelte
CHANGED
|
@@ -651,7 +651,7 @@ onMount(() => {
|
|
|
651
651
|
on:close={(event) => {
|
|
652
652
|
set_api_docs_visible(false);
|
|
653
653
|
api_calls = [];
|
|
654
|
-
api_recorder_visible = event.detail
|
|
654
|
+
api_recorder_visible = event.detail?.api_recorder_visible;
|
|
655
655
|
}}
|
|
656
656
|
{dependencies}
|
|
657
657
|
{root}
|
|
@@ -5,6 +5,7 @@ import { onMount, tick } from "svelte";
|
|
|
5
5
|
export let dependencies;
|
|
6
6
|
export let short_root;
|
|
7
7
|
export let root;
|
|
8
|
+
export let api_prefix = "";
|
|
8
9
|
export let current_language;
|
|
9
10
|
export let username;
|
|
10
11
|
let python_code;
|
|
@@ -13,7 +14,9 @@ let js_code;
|
|
|
13
14
|
let bash_code;
|
|
14
15
|
export let api_calls = [];
|
|
15
16
|
async function get_info() {
|
|
16
|
-
let response = await fetch(
|
|
17
|
+
let response = await fetch(
|
|
18
|
+
root.replace(/\/$/, "") + api_prefix + "/info/?all_endpoints=true"
|
|
19
|
+
);
|
|
17
20
|
let data = await response.json();
|
|
18
21
|
return data;
|
|
19
22
|
}
|
|
@@ -146,8 +149,7 @@ const app = await Client.connect(<span class="token string">"{short_root}"</span
|
|
|
146
149
|
await client.predict(<span
|
|
147
150
|
class="api-name">
|
|
148
151
|
"/{api_name}"</span
|
|
149
|
-
>{#if call},
|
|
150
|
-
{/if}{call});
|
|
152
|
+
>{#if call}, {call}{/if});
|
|
151
153
|
{/each}</pre>
|
|
152
154
|
</div>
|
|
153
155
|
</code>
|
package/dist/src/init.d.ts
CHANGED
|
@@ -7,10 +7,6 @@ export interface UpdateTransaction {
|
|
|
7
7
|
value: any;
|
|
8
8
|
prop: string;
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Create a store with the layout and a map of targets
|
|
12
|
-
* @returns A store with the layout and a map of targets
|
|
13
|
-
*/
|
|
14
10
|
export declare function create_components(initial_layout: ComponentMeta | undefined): {
|
|
15
11
|
layout: Writable<ComponentMeta>;
|
|
16
12
|
targets: Writable<TargetMap>;
|
package/dist/src/init.js
CHANGED
|
@@ -11,6 +11,7 @@ const raf = is_browser
|
|
|
11
11
|
* Create a store with the layout and a map of targets
|
|
12
12
|
* @returns A store with the layout and a map of targets
|
|
13
13
|
*/
|
|
14
|
+
let has_run = new Set();
|
|
14
15
|
export function create_components(initial_layout) {
|
|
15
16
|
let _component_map;
|
|
16
17
|
let target_map = writable({});
|
|
@@ -145,17 +146,21 @@ export function create_components(initial_layout) {
|
|
|
145
146
|
if (node.children) {
|
|
146
147
|
instance.children = await Promise.all(node.children.map((v) => walk_layout(v, root, instance)));
|
|
147
148
|
}
|
|
148
|
-
if (instance.type === "tabs") {
|
|
149
|
-
|
|
150
|
-
instance
|
|
151
|
-
|
|
149
|
+
if (instance.type === "tabs" && !instance.props.initial_tabs) {
|
|
150
|
+
const tab_items_props = node.children?.map((c) => {
|
|
151
|
+
const instance = instance_map[c.id];
|
|
152
|
+
// console.log("tabs", JSON.stringify(instance.props, null, 2));
|
|
153
|
+
instance.props.id ??= c.id;
|
|
154
|
+
return {
|
|
155
|
+
type: instance.type,
|
|
152
156
|
props: {
|
|
153
|
-
...
|
|
154
|
-
id:
|
|
157
|
+
...instance.props,
|
|
158
|
+
id: instance.props.id
|
|
155
159
|
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
|
|
160
|
+
};
|
|
161
|
+
}) || [];
|
|
162
|
+
const child_tab_items = tab_items_props.filter((child) => child.type === "tabitem");
|
|
163
|
+
instance.props.initial_tabs = child_tab_items?.map((child) => ({
|
|
159
164
|
label: child.props.label,
|
|
160
165
|
id: child.props.id,
|
|
161
166
|
visible: child.props.visible,
|
|
@@ -190,7 +195,7 @@ export function create_components(initial_layout) {
|
|
|
190
195
|
new_value = new Set(update.value);
|
|
191
196
|
else if (Array.isArray(update.value))
|
|
192
197
|
new_value = [...update.value];
|
|
193
|
-
else if (update.value
|
|
198
|
+
else if (update.value == null)
|
|
194
199
|
new_value = null;
|
|
195
200
|
else if (typeof update.value === "object")
|
|
196
201
|
new_value = { ...update.value };
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"3D_model": {
|
|
3
|
+
"3d_model": "3D-malli"
|
|
4
|
+
},
|
|
5
|
+
"annotated_image": {
|
|
6
|
+
"annotated_image": "Annotoitu kuva"
|
|
7
|
+
},
|
|
8
|
+
"audio": {
|
|
9
|
+
"allow_recording_access": "Ole hyvä ja anna selaimelle ja sivustolle pääsy mikrofoniin.",
|
|
10
|
+
"audio": "Audio",
|
|
11
|
+
"record_from_microphone": "Äänitä mikrofonia",
|
|
12
|
+
"stop_recording": "Lopeta äänitys",
|
|
13
|
+
"no_device_support": "Medialaitteita ei voitu käyttää. Tarkista, että yhteys on salattu (https), paikallinen (localhost), tai ssl_verify on saanut voimassa olevan SSL-sertifikaatin. Tarkista, että olet antanut selaimelle pääsyn medialaitteeseen.",
|
|
14
|
+
"stop": "Stop",
|
|
15
|
+
"resume": "Jatka",
|
|
16
|
+
"record": "Äänitä",
|
|
17
|
+
"no_microphone": "Ei mikrofonia käytössä",
|
|
18
|
+
"pause": "Pause",
|
|
19
|
+
"play": "Play",
|
|
20
|
+
"waiting": "Odotetaan"
|
|
21
|
+
},
|
|
22
|
+
"blocks": {
|
|
23
|
+
"connection_can_break": "Mobiililaitteella yhteys voi katketa, jos vaihdat välilehteä tai laite menee lepotilaa. Tällöin menetät paikkasi jonossa.",
|
|
24
|
+
"long_requests_queue": "Spacessa on ruuhkaa ja jono on pitkä. Kopioi tämä Space hypätäksesi jonon ohi.",
|
|
25
|
+
"lost_connection": "Yhteys katkesi sivulta poistumisen seurauksena. Liitytään takaisin jonoon...",
|
|
26
|
+
"waiting_for_inputs": "Odotetaan latauksen valmistumista, ole hyvä ja yritä uudelleen."
|
|
27
|
+
},
|
|
28
|
+
"checkbox": {
|
|
29
|
+
"checkbox": "Valintaruutu",
|
|
30
|
+
"checkbox_group": "Valintaruuturyhmä"
|
|
31
|
+
},
|
|
32
|
+
"code": {
|
|
33
|
+
"code": "Koodi"
|
|
34
|
+
},
|
|
35
|
+
"color_picker": {
|
|
36
|
+
"color_picker": "Värivalitsin"
|
|
37
|
+
},
|
|
38
|
+
"common": {
|
|
39
|
+
"built_with": "tehty",
|
|
40
|
+
"built_with_gradio": "tehty Gradiolla",
|
|
41
|
+
"clear": "Poista",
|
|
42
|
+
"download": "Lataa",
|
|
43
|
+
"edit": "Muokkaa",
|
|
44
|
+
"empty": "Tyhjennä",
|
|
45
|
+
"error": "Virhe",
|
|
46
|
+
"hosted_on": "Hostattu",
|
|
47
|
+
"loading": "Ladataan",
|
|
48
|
+
"logo": "logo",
|
|
49
|
+
"or": "tai",
|
|
50
|
+
"remove": "Poista",
|
|
51
|
+
"share": "Jaa",
|
|
52
|
+
"submit": "Suorita",
|
|
53
|
+
"undo": "Kumoa",
|
|
54
|
+
"no_devices": "Laitetta ei löytynyt"
|
|
55
|
+
},
|
|
56
|
+
"dataframe": {
|
|
57
|
+
"incorrect_format": "Yhteensopimaton tiedostomuoto, vain CSV- ja TSV-tiedostoja tuetaan.",
|
|
58
|
+
"new_column": "Lisää sarake",
|
|
59
|
+
"new_row": "Lisää rivi",
|
|
60
|
+
"add_row_above": "Lisää rivi yläpuolelle",
|
|
61
|
+
"add_row_below": "Lisää rivi alle",
|
|
62
|
+
"add_column_left": "Lisää sarake vasemmalle",
|
|
63
|
+
"add_column_right": "Lisää sarake oikealle"
|
|
64
|
+
},
|
|
65
|
+
"dropdown": {
|
|
66
|
+
"dropdown": "Pudotusvalikko"
|
|
67
|
+
},
|
|
68
|
+
"errors": {
|
|
69
|
+
"build_error": "tapahtui virhe",
|
|
70
|
+
"config_error": "virhe asetuksissa",
|
|
71
|
+
"contact_page_author": "Kerro ylläpitäjälle virheestä.",
|
|
72
|
+
"no_app_file": "sovellustiedosto puuttuu",
|
|
73
|
+
"runtime_error": "ohjelman suorituksen aikana tapahtui virhe",
|
|
74
|
+
"space_not_working": "\"Space ei toimi, koska\" {0}",
|
|
75
|
+
"space_paused": "tila on tauolla",
|
|
76
|
+
"use_via_api": "Käytä rajapinnan kautta"
|
|
77
|
+
},
|
|
78
|
+
"file": {
|
|
79
|
+
"uploading": "Ladataan..."
|
|
80
|
+
},
|
|
81
|
+
"highlighted_text": {
|
|
82
|
+
"highlighted_text": "Korostettu teksti"
|
|
83
|
+
},
|
|
84
|
+
"image": {
|
|
85
|
+
"allow_webcam_access": "Ole hyvä ja anna lupa web-kameran käyttöön.",
|
|
86
|
+
"brush_color": "Siveltimen väri",
|
|
87
|
+
"brush_radius": "Siveltimen koko",
|
|
88
|
+
"image": "Kuva",
|
|
89
|
+
"remove_image": "Poista kuva",
|
|
90
|
+
"select_brush_color": "Valitse siveltimen väri",
|
|
91
|
+
"start_drawing": "Aloita piirtäminen",
|
|
92
|
+
"use_brush": "Käytä sivellintä"
|
|
93
|
+
},
|
|
94
|
+
"label": {
|
|
95
|
+
"label": "Tunniste"
|
|
96
|
+
},
|
|
97
|
+
"login": {
|
|
98
|
+
"enable_cookies": "Jos käytät Hugging Face Spacea Incognito-tilassa, sinun on otettava käyttöön kolmansien osapuolten evästeet..",
|
|
99
|
+
"incorrect_credentials": "Käyttäjätietoja ei löytynyt",
|
|
100
|
+
"login": "Kirjaudu sisään"
|
|
101
|
+
},
|
|
102
|
+
"number": {
|
|
103
|
+
"number": "Numero"
|
|
104
|
+
},
|
|
105
|
+
"plot": {
|
|
106
|
+
"plot": "Kuvaaja"
|
|
107
|
+
},
|
|
108
|
+
"radio": {
|
|
109
|
+
"radio": "Radio"
|
|
110
|
+
},
|
|
111
|
+
"slider": {
|
|
112
|
+
"slider": "Säädin"
|
|
113
|
+
},
|
|
114
|
+
"upload_text": {
|
|
115
|
+
"click_to_upload": "Lataa palvelimelle",
|
|
116
|
+
"drop_audio": "Vedä audiotiedosto tähän",
|
|
117
|
+
"drop_csv": "Vedä CSV tähän",
|
|
118
|
+
"drop_file": "Vedä tiedosto tähän",
|
|
119
|
+
"drop_image": "Vedä kuva tähän",
|
|
120
|
+
"drop_video": "Vedä video tähän",
|
|
121
|
+
"drop_gallery": "Vedä media tähän",
|
|
122
|
+
"paste_clipboard": "Liitä leikepöydältä"
|
|
123
|
+
}
|
|
124
|
+
}
|
package/package.json
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gradio/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"devDependencies": {
|
|
6
|
-
"@gradio/
|
|
7
|
-
"@gradio/
|
|
8
|
-
"@gradio/
|
|
9
|
-
"@gradio/
|
|
10
|
-
"@gradio/
|
|
11
|
-
"@gradio/
|
|
12
|
-
"@gradio/chatbot": "^0.
|
|
13
|
-
"@gradio/checkbox": "^0.4.
|
|
14
|
-
"@gradio/
|
|
15
|
-
"@gradio/
|
|
16
|
-
"@gradio/code": "^0.10.
|
|
17
|
-
"@gradio/colorpicker": "^0.4.
|
|
6
|
+
"@gradio/accordion": "^0.5.0",
|
|
7
|
+
"@gradio/annotatedimage": "^0.8.7",
|
|
8
|
+
"@gradio/audio": "^0.14.7",
|
|
9
|
+
"@gradio/atoms": "^0.11.0",
|
|
10
|
+
"@gradio/box": "^0.2.5",
|
|
11
|
+
"@gradio/button": "^0.3.6",
|
|
12
|
+
"@gradio/chatbot": "^0.16.2",
|
|
13
|
+
"@gradio/checkbox": "^0.4.6",
|
|
14
|
+
"@gradio/client": "^1.7.1",
|
|
15
|
+
"@gradio/checkboxgroup": "^0.6.6",
|
|
16
|
+
"@gradio/code": "^0.10.7",
|
|
17
|
+
"@gradio/colorpicker": "^0.4.6",
|
|
18
18
|
"@gradio/column": "^0.2.0",
|
|
19
|
-
"@gradio/dataframe": "^0.
|
|
20
|
-
"@gradio/datetime": "^0.2.
|
|
21
|
-
"@gradio/downloadbutton": "^0.2.
|
|
22
|
-
"@gradio/dataset": "^0.3.
|
|
23
|
-
"@gradio/dropdown": "^0.9.
|
|
24
|
-
"@gradio/
|
|
25
|
-
"@gradio/
|
|
26
|
-
"@gradio/
|
|
27
|
-
"@gradio/form": "^0.2.
|
|
28
|
-
"@gradio/gallery": "^0.13.
|
|
29
|
-
"@gradio/highlightedtext": "^0.8.2",
|
|
19
|
+
"@gradio/dataframe": "^0.12.2",
|
|
20
|
+
"@gradio/datetime": "^0.2.6",
|
|
21
|
+
"@gradio/downloadbutton": "^0.2.6",
|
|
22
|
+
"@gradio/dataset": "^0.3.8",
|
|
23
|
+
"@gradio/dropdown": "^0.9.4",
|
|
24
|
+
"@gradio/fallback": "^0.4.6",
|
|
25
|
+
"@gradio/file": "^0.11.0",
|
|
26
|
+
"@gradio/fileexplorer": "^0.5.7",
|
|
27
|
+
"@gradio/form": "^0.2.5",
|
|
28
|
+
"@gradio/gallery": "^0.13.7",
|
|
30
29
|
"@gradio/group": "^0.2.0",
|
|
31
|
-
"@gradio/
|
|
32
|
-
"@gradio/html": "^0.4.
|
|
33
|
-
"@gradio/
|
|
34
|
-
"@gradio/
|
|
35
|
-
"@gradio/
|
|
36
|
-
"@gradio/
|
|
37
|
-
"@gradio/
|
|
38
|
-
"@gradio/
|
|
39
|
-
"@gradio/
|
|
40
|
-
"@gradio/
|
|
41
|
-
"@gradio/
|
|
42
|
-
"@gradio/
|
|
43
|
-
"@gradio/
|
|
44
|
-
"@gradio/
|
|
30
|
+
"@gradio/highlightedtext": "^0.8.6",
|
|
31
|
+
"@gradio/html": "^0.4.6",
|
|
32
|
+
"@gradio/icons": "^0.8.1",
|
|
33
|
+
"@gradio/image": "^0.16.7",
|
|
34
|
+
"@gradio/imageeditor": "^0.11.7",
|
|
35
|
+
"@gradio/json": "^0.5.6",
|
|
36
|
+
"@gradio/markdown": "^0.11.2",
|
|
37
|
+
"@gradio/label": "^0.4.6",
|
|
38
|
+
"@gradio/model3d": "^0.13.7",
|
|
39
|
+
"@gradio/multimodaltextbox": "^0.7.5",
|
|
40
|
+
"@gradio/nativeplot": "^0.5.0",
|
|
41
|
+
"@gradio/number": "^0.5.6",
|
|
42
|
+
"@gradio/radio": "^0.6.6",
|
|
43
|
+
"@gradio/paramviewer": "^0.5.6",
|
|
44
|
+
"@gradio/plot": "^0.9.1",
|
|
45
45
|
"@gradio/row": "^0.2.0",
|
|
46
|
-
"@gradio/
|
|
47
|
-
"@gradio/
|
|
48
|
-
"@gradio/
|
|
49
|
-
"@gradio/slider": "^0.5.
|
|
50
|
-
"@gradio/statustracker": "^0.9.0",
|
|
46
|
+
"@gradio/simpledropdown": "^0.3.6",
|
|
47
|
+
"@gradio/simpleimage": "^0.8.7",
|
|
48
|
+
"@gradio/simpletextbox": "^0.3.6",
|
|
49
|
+
"@gradio/slider": "^0.5.6",
|
|
51
50
|
"@gradio/state": "^0.1.2",
|
|
52
|
-
"@gradio/
|
|
53
|
-
"@gradio/
|
|
54
|
-
"@gradio/
|
|
51
|
+
"@gradio/statustracker": "^0.9.4",
|
|
52
|
+
"@gradio/tabitem": "^0.3.3",
|
|
53
|
+
"@gradio/tabs": "^0.3.3",
|
|
54
|
+
"@gradio/textbox": "^0.8.5",
|
|
55
55
|
"@gradio/theme": "^0.3.0",
|
|
56
56
|
"@gradio/timer": "^0.4.0",
|
|
57
|
-
"@gradio/
|
|
58
|
-
"@gradio/
|
|
59
|
-
"@gradio/video": "^0.11.3",
|
|
57
|
+
"@gradio/upload": "^0.14.0",
|
|
58
|
+
"@gradio/uploadbutton": "^0.7.6",
|
|
60
59
|
"@gradio/utils": "^0.7.0",
|
|
61
|
-
"@gradio/wasm": "^0.
|
|
60
|
+
"@gradio/wasm": "^0.15.0",
|
|
61
|
+
"@gradio/video": "^0.11.7"
|
|
62
62
|
},
|
|
63
63
|
"msw": {
|
|
64
64
|
"workerDirectory": "public"
|
package/src/Blocks.svelte
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
export let dependencies: Dependency[];
|
|
9
9
|
export let short_root: string;
|
|
10
10
|
export let root: string;
|
|
11
|
+
export let api_prefix = "";
|
|
11
12
|
export let current_language: "python" | "javascript" | "bash";
|
|
12
13
|
export let username: string | null;
|
|
13
14
|
|
|
@@ -22,7 +23,9 @@
|
|
|
22
23
|
named_endpoints: any;
|
|
23
24
|
unnamed_endpoints: any;
|
|
24
25
|
}> {
|
|
25
|
-
let response = await fetch(
|
|
26
|
+
let response = await fetch(
|
|
27
|
+
root.replace(/\/$/, "") + api_prefix + "/info/?all_endpoints=true"
|
|
28
|
+
);
|
|
26
29
|
let data = await response.json();
|
|
27
30
|
return data;
|
|
28
31
|
}
|
|
@@ -160,8 +163,7 @@ const app = await Client.connect(<span class="token string">"{short_root}"</span
|
|
|
160
163
|
await client.predict(<span
|
|
161
164
|
class="api-name">
|
|
162
165
|
"/{api_name}"</span
|
|
163
|
-
>{#if call},
|
|
164
|
-
{/if}{call});
|
|
166
|
+
>{#if call}, {call}{/if});
|
|
165
167
|
{/each}</pre>
|
|
166
168
|
</div>
|
|
167
169
|
</code>
|
package/src/init.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { writable, type Writable, get } from "svelte/store";
|
|
2
|
+
|
|
2
3
|
import type {
|
|
3
4
|
ComponentMeta,
|
|
4
5
|
Dependency,
|
|
@@ -27,6 +28,7 @@ const raf = is_browser
|
|
|
27
28
|
* Create a store with the layout and a map of targets
|
|
28
29
|
* @returns A store with the layout and a map of targets
|
|
29
30
|
*/
|
|
31
|
+
let has_run = new Set<number>();
|
|
30
32
|
export function create_components(initial_layout: ComponentMeta | undefined): {
|
|
31
33
|
layout: Writable<ComponentMeta>;
|
|
32
34
|
targets: Writable<TargetMap>;
|
|
@@ -290,19 +292,26 @@ export function create_components(initial_layout: ComponentMeta | undefined): {
|
|
|
290
292
|
);
|
|
291
293
|
}
|
|
292
294
|
|
|
293
|
-
if (instance.type === "tabs") {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
props
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
295
|
+
if (instance.type === "tabs" && !instance.props.initial_tabs) {
|
|
296
|
+
const tab_items_props =
|
|
297
|
+
node.children?.map((c) => {
|
|
298
|
+
const instance = instance_map[c.id];
|
|
299
|
+
// console.log("tabs", JSON.stringify(instance.props, null, 2));
|
|
300
|
+
instance.props.id ??= c.id;
|
|
301
|
+
return {
|
|
302
|
+
type: instance.type,
|
|
303
|
+
props: {
|
|
304
|
+
...(instance.props as any),
|
|
305
|
+
id: instance.props.id
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
}) || [];
|
|
309
|
+
|
|
310
|
+
const child_tab_items = tab_items_props.filter(
|
|
303
311
|
(child) => child.type === "tabitem"
|
|
304
312
|
);
|
|
305
|
-
|
|
313
|
+
|
|
314
|
+
instance.props.initial_tabs = child_tab_items?.map((child) => ({
|
|
306
315
|
label: child.props.label,
|
|
307
316
|
id: child.props.id,
|
|
308
317
|
visible: child.props.visible,
|
|
@@ -337,7 +346,7 @@ export function create_components(initial_layout: ComponentMeta | undefined): {
|
|
|
337
346
|
else if (update.value instanceof Set)
|
|
338
347
|
new_value = new Set(update.value);
|
|
339
348
|
else if (Array.isArray(update.value)) new_value = [...update.value];
|
|
340
|
-
else if (update.value
|
|
349
|
+
else if (update.value == null) new_value = null;
|
|
341
350
|
else if (typeof update.value === "object")
|
|
342
351
|
new_value = { ...update.value };
|
|
343
352
|
else new_value = update.value;
|
package/src/lang/fi.json
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"3D_model": {
|
|
3
|
+
"3d_model": "3D-malli"
|
|
4
|
+
},
|
|
5
|
+
"annotated_image": {
|
|
6
|
+
"annotated_image": "Annotoitu kuva"
|
|
7
|
+
},
|
|
8
|
+
"audio": {
|
|
9
|
+
"allow_recording_access": "Ole hyvä ja anna selaimelle ja sivustolle pääsy mikrofoniin.",
|
|
10
|
+
"audio": "Audio",
|
|
11
|
+
"record_from_microphone": "Äänitä mikrofonia",
|
|
12
|
+
"stop_recording": "Lopeta äänitys",
|
|
13
|
+
"no_device_support": "Medialaitteita ei voitu käyttää. Tarkista, että yhteys on salattu (https), paikallinen (localhost), tai ssl_verify on saanut voimassa olevan SSL-sertifikaatin. Tarkista, että olet antanut selaimelle pääsyn medialaitteeseen.",
|
|
14
|
+
"stop": "Stop",
|
|
15
|
+
"resume": "Jatka",
|
|
16
|
+
"record": "Äänitä",
|
|
17
|
+
"no_microphone": "Ei mikrofonia käytössä",
|
|
18
|
+
"pause": "Pause",
|
|
19
|
+
"play": "Play",
|
|
20
|
+
"waiting": "Odotetaan"
|
|
21
|
+
},
|
|
22
|
+
"blocks": {
|
|
23
|
+
"connection_can_break": "Mobiililaitteella yhteys voi katketa, jos vaihdat välilehteä tai laite menee lepotilaa. Tällöin menetät paikkasi jonossa.",
|
|
24
|
+
"long_requests_queue": "Spacessa on ruuhkaa ja jono on pitkä. Kopioi tämä Space hypätäksesi jonon ohi.",
|
|
25
|
+
"lost_connection": "Yhteys katkesi sivulta poistumisen seurauksena. Liitytään takaisin jonoon...",
|
|
26
|
+
"waiting_for_inputs": "Odotetaan latauksen valmistumista, ole hyvä ja yritä uudelleen."
|
|
27
|
+
},
|
|
28
|
+
"checkbox": {
|
|
29
|
+
"checkbox": "Valintaruutu",
|
|
30
|
+
"checkbox_group": "Valintaruuturyhmä"
|
|
31
|
+
},
|
|
32
|
+
"code": {
|
|
33
|
+
"code": "Koodi"
|
|
34
|
+
},
|
|
35
|
+
"color_picker": {
|
|
36
|
+
"color_picker": "Värivalitsin"
|
|
37
|
+
},
|
|
38
|
+
"common": {
|
|
39
|
+
"built_with": "tehty",
|
|
40
|
+
"built_with_gradio": "tehty Gradiolla",
|
|
41
|
+
"clear": "Poista",
|
|
42
|
+
"download": "Lataa",
|
|
43
|
+
"edit": "Muokkaa",
|
|
44
|
+
"empty": "Tyhjennä",
|
|
45
|
+
"error": "Virhe",
|
|
46
|
+
"hosted_on": "Hostattu",
|
|
47
|
+
"loading": "Ladataan",
|
|
48
|
+
"logo": "logo",
|
|
49
|
+
"or": "tai",
|
|
50
|
+
"remove": "Poista",
|
|
51
|
+
"share": "Jaa",
|
|
52
|
+
"submit": "Suorita",
|
|
53
|
+
"undo": "Kumoa",
|
|
54
|
+
"no_devices": "Laitetta ei löytynyt"
|
|
55
|
+
},
|
|
56
|
+
"dataframe": {
|
|
57
|
+
"incorrect_format": "Yhteensopimaton tiedostomuoto, vain CSV- ja TSV-tiedostoja tuetaan.",
|
|
58
|
+
"new_column": "Lisää sarake",
|
|
59
|
+
"new_row": "Lisää rivi",
|
|
60
|
+
"add_row_above": "Lisää rivi yläpuolelle",
|
|
61
|
+
"add_row_below": "Lisää rivi alle",
|
|
62
|
+
"add_column_left": "Lisää sarake vasemmalle",
|
|
63
|
+
"add_column_right": "Lisää sarake oikealle"
|
|
64
|
+
},
|
|
65
|
+
"dropdown": {
|
|
66
|
+
"dropdown": "Pudotusvalikko"
|
|
67
|
+
},
|
|
68
|
+
"errors": {
|
|
69
|
+
"build_error": "tapahtui virhe",
|
|
70
|
+
"config_error": "virhe asetuksissa",
|
|
71
|
+
"contact_page_author": "Kerro ylläpitäjälle virheestä.",
|
|
72
|
+
"no_app_file": "sovellustiedosto puuttuu",
|
|
73
|
+
"runtime_error": "ohjelman suorituksen aikana tapahtui virhe",
|
|
74
|
+
"space_not_working": "\"Space ei toimi, koska\" {0}",
|
|
75
|
+
"space_paused": "tila on tauolla",
|
|
76
|
+
"use_via_api": "Käytä rajapinnan kautta"
|
|
77
|
+
},
|
|
78
|
+
"file": {
|
|
79
|
+
"uploading": "Ladataan..."
|
|
80
|
+
},
|
|
81
|
+
"highlighted_text": {
|
|
82
|
+
"highlighted_text": "Korostettu teksti"
|
|
83
|
+
},
|
|
84
|
+
"image": {
|
|
85
|
+
"allow_webcam_access": "Ole hyvä ja anna lupa web-kameran käyttöön.",
|
|
86
|
+
"brush_color": "Siveltimen väri",
|
|
87
|
+
"brush_radius": "Siveltimen koko",
|
|
88
|
+
"image": "Kuva",
|
|
89
|
+
"remove_image": "Poista kuva",
|
|
90
|
+
"select_brush_color": "Valitse siveltimen väri",
|
|
91
|
+
"start_drawing": "Aloita piirtäminen",
|
|
92
|
+
"use_brush": "Käytä sivellintä"
|
|
93
|
+
},
|
|
94
|
+
"label": {
|
|
95
|
+
"label": "Tunniste"
|
|
96
|
+
},
|
|
97
|
+
"login": {
|
|
98
|
+
"enable_cookies": "Jos käytät Hugging Face Spacea Incognito-tilassa, sinun on otettava käyttöön kolmansien osapuolten evästeet..",
|
|
99
|
+
"incorrect_credentials": "Käyttäjätietoja ei löytynyt",
|
|
100
|
+
"login": "Kirjaudu sisään"
|
|
101
|
+
},
|
|
102
|
+
"number": {
|
|
103
|
+
"number": "Numero"
|
|
104
|
+
},
|
|
105
|
+
"plot": {
|
|
106
|
+
"plot": "Kuvaaja"
|
|
107
|
+
},
|
|
108
|
+
"radio": {
|
|
109
|
+
"radio": "Radio"
|
|
110
|
+
},
|
|
111
|
+
"slider": {
|
|
112
|
+
"slider": "Säädin"
|
|
113
|
+
},
|
|
114
|
+
"upload_text": {
|
|
115
|
+
"click_to_upload": "Lataa palvelimelle",
|
|
116
|
+
"drop_audio": "Vedä audiotiedosto tähän",
|
|
117
|
+
"drop_csv": "Vedä CSV tähän",
|
|
118
|
+
"drop_file": "Vedä tiedosto tähän",
|
|
119
|
+
"drop_image": "Vedä kuva tähän",
|
|
120
|
+
"drop_video": "Vedä video tähän",
|
|
121
|
+
"drop_gallery": "Vedä media tähän",
|
|
122
|
+
"paste_clipboard": "Liitä leikepöydältä"
|
|
123
|
+
}
|
|
124
|
+
}
|