PageSourceSearch

https://prithivmlmods-florence-2-image-caption.hf.space/assets/Index-C8iEj0i6.js

js prithivmlmods-florence-2-image-caption.hf.space collected 2026-10-03 10:23:11 UTC 16,183 bytes, 584 lines download raw bytes

1import { g as spread_props, i as if_block, r as rest_props, d as bind_this, h as clsx, b as set_class } from './i18n-CGlVUOvE.js';
2import { M as push, ab as state, ac as proxy, N as first_child, a as append, $ as set, Z as get, O as pop, I as tick, a2 as user_derived, S as sibling, R as from_html, t as template_effect, Q as child, T as reset, a3 as comment } from './index-Bq2njFOY.js';
3import { b as bubble_event } from './misc-D8a4ZbMA.js';
4import { B as Block } from './Block-DNK-JdLJ.js';
5import './MarkdownCode.svelte_svelte_type_style_lang-B29zDiob.js';
6import { S as SelectSource } from './ScrollFade.svelte_svelte_type_style_lang-D0JPkGar.js';
7import { G as Gradio } from './utils.svelte-Bi9ASwv9.js';
8import { U as UploadText } from './UploadText-C6bbM_PO.js';
9import { G as Gallery, h as handle_save } from './Gallery-D9uGL0FX.js';
10import { S as Static } from './index-1GCmrSlD.js';
11import './StreamingBar.svelte_svelte_type_style_lang-DWGn5tT_.js';
12import { a as FileUpload } from './FileUpload-Cvp8_L6I.js';
13/* empty css                                               */
14/* empty css                                             */
15/* empty css                                                    */
16import { W as Webcam } from './Webcam-CIJ5MvIX.js';
17import './Upload-xR3P-2U5.js';
18/* empty css                                                     */
19/* empty css                                               */
20export { default as BaseExample } from './Example-BstfUWdZ.js';
21import './prism-python-NrKIQnfs.js';
22import './snippet-BG7qkY_1.js';
23import './window-BVsmErEt.js';
24import './event-modifiers-DanhKw3_.js';
25import './BlockLabel-VpI11pHf.js';
26import './Empty-BrRNpJ3n.js';
27import './ShareButton-CORLYhd9.js';
28import './Clear-C8Tfa7QP.js';
29import './Download-D5ZNT7uE.js';
30import './Image-DfZjI5oa.js';
31import './Play-CGGxKNeS.js';
32import './IconButtonWrapper-DAsvkfJg.js';
33import './FullscreenButton-C6RgeACK.js';
34import './Maximize-2N5airbC.js';
35import './ModifyUpload-BzhUWnkZ.js';
36import './DownloadLink-D6EYxQxh.js';
37import './Edit-5wNBI2yr.js';
38import './Undo-4MCSCpCy.js';
39import './Image-XuMqTTwB.js';
40import './Video-e9Pn2mbW.js';
41import './actions-CgRQ2lHA.js';
42import './index-DnoGeqVF.js';
43import './html-Bwif0JPw.js';
44import './File-BiXBtg1a.js';
45import './props-o1aFOJaB.js';
46import './DropdownArrow-3lFHYtTD.js';
47import './Square-kMgNk9Wy.js';
48import './Spinner-CGjvf4Sm.js';
49import './StreamingBar-YIqBWk77.js';
50
51var root_2 = from_html(`<div><!></div> <!> <!>`, 1);
52var root_1 = from_html(`<!> <!>`, 1);
53
54function Index($$anchor, $$props) {
55	push($$props, true);
56
57	let upload_promise = state(void 0);
58
59	class GalleryGradio extends Gradio {
60		async get_data() {
61			if (get(upload_promise)) {
62				await get(upload_promise);
63				await tick();
64			}
65
66			const data = await super.get_data();
67
68			return data;
69		}
70	}
71
72	const props = rest_props($$props, ['$$slots', '$$events', '$$legacy']);
73	const gradio = new GalleryGradio(props, { selected_index: null, file_types: ["image", "video"] });
74	let fullscreen = state(false);
75
76	function handle_delete(event) {
77		if (!gradio.props.value) return;
78
79		const { index } = event.detail;
80
81		gradio.dispatch("delete", event.detail);
82		gradio.props.value = gradio.props.value.filter((_, i) => i !== index);
83		gradio.dispatch("change", gradio.props.value);
84	}
85
86	async function process_upload_files(files) {
87		const processed_files = await Promise.all(files.map(async (x) => {
88			if (x.path?.toLowerCase().endsWith(".svg") && x.url) {
89				const response = await fetch(x.url);
90				const svgContent = await response.text();
91
92				return {
93					...x,
94					url: `data:image/svg+xml,${encodeURIComponent(svgContent)}`
95				};
96			}
97
98			return x;
99		}));
100
101		return processed_files.map((x) => x.mime_type?.includes("video")
102			? { video: x, caption: null }
103			: { image: x, caption: null });
104	}
105
106	let upload_input;
107	let active_source = state(proxy(gradio.props.sources ? gradio.props.sources[0] : "upload"));
108	let no_value = user_derived(() => gradio.props.value === null ? true : gradio.props.value.length === 0);
109
110	let sources = user_derived(() => {
111		if (gradio.props.file_types?.includes("video") && gradio.props.sources.includes("webcam")) {
112			return gradio.props.sources.concat(["webcam-video"]);
113		} else {
114			return gradio.props.sources;
115		}
116	});
117
118	async function paste_clipboard() {
119		navigator.clipboard.read().then(async (items) => {
120			let file = null;
121
122			for (let i = 0; i < items.length; i++) {
123				const type = items[i].types.find((t) => (gradio.props.file_types || ["image"]).some((ft) => t.startsWith(ft + "/")));
124
125				if (type) {
126					const blob = await items[i].getType(type);
127
128					file = new File([blob], `clipboard.${type.replace("image/", "")}`);
129
130					break;
131				}
132			}
133
134			if (file) {
135				const f = await handle_save(file, (f) => gradio.shared.client.upload(f, gradio.shared.root), "clipboard_upload");
136				const processed_files = await process_upload_files(f);
137
138				gradio.props.value?.push(...processed_files);
139				gradio.dispatch("change", gradio.props.value);
140				set(active_source, null);
141			} else {
142				gradio.dispatch("warning", "No image or video found in clipboard");
143			}
144		});
145	}
146
147	async function handle_select_source(source) {
148		switch (source) {
149			case "clipboard":
150				await paste_clipboard();
151				break;
152		}
153	}
154
155	async function onsource_change(source) {
156		await tick();
157
158		if (source === "clipboard") {
159			await paste_clipboard();
160		} else {
161			set(active_source, source, true);
162			set(no_value, true);
163		}
164	}
165
166	{
167		let $0 = user_derived(() => gradio.props.height || undefined);
168
169		Block($$anchor, {
170			get visible() {
171				return gradio.shared.visible;
172			},
173			variant: 'solid',
174			padding: false,
175			get elem_id() {
176				return gradio.shared.elem_id;
177			},
178
179			get elem_classes() {
180				return gradio.shared.elem_classes;
181			},
182
183			get container() {
184				return gradio.shared.container;
185			},
186
187			get scale() {
188				return gradio.shared.scale;
189			},
190
191			get min_width() {
192				return gradio.shared.min_width;
193			},
194			allow_overflow: false,
195			get height() {
196				return get($0);
197			},
198
199			get fullscreen() {
200				return get(fullscreen);
201			},
202
203			set fullscreen($$value) {
204				set(fullscreen, $$value, true);
205			},
206
207			children: ($$anchor, $$slotProps) => {
208				var fragment_1 = root_1();
209				var node = first_child(fragment_1);
210
211				Static(node, spread_props(
212					{
213						get autoscroll() {
214							return gradio.shared.autoscroll;
215						},
216
217						get i18n() {
218							return gradio.i18n;
219						}
220					},
221					() => gradio.shared.loading_status,
222					{
223						on_clear_status: () => gradio.dispatch("clear_status", gradio.shared.loading_status)
224					}
225				));
226
227				var node_1 = sibling(node, 2);
228
229				{
230					var consequent_3 = ($$anchor) => {
231						var fragment_2 = root_2();
232						var div = first_child(fragment_2);
233						var node_2 = child(div);
234
235						bind_this(
236							FileUpload(node_2, {
237								value: null,
238								get root() {
239									return gradio.shared.root;
240								},
241
242								get label() {
243									return gradio.shared.label;
244								},
245
246								get max_file_size() {
247									return gradio.shared.max_file_size;
248								},
249								file_count: "multiple",
250								get file_types() {
251									return gradio.props.file_types;
252								},
253
254								get i18n() {
255									return gradio.i18n;
256								},
257								upload: (...args) => gradio.shared.client.upload(...args),
258								stream_handler: (...args) => gradio.shared.client.stream(...args),
259								onupload: async (e) => {
260									const files = Array.isArray(e) ? e : [e];
261
262									gradio.props.value = await process_upload_files(files);
263									set(active_source, null);
264									gradio.dispatch("upload", gradio.props.value);
265									gradio.dispatch("change", gradio.props.value);
266								},
267
268								onerror: ({ detail }) => {
269									gradio.shared.loading_status = gradio.shared.loading_status || {};
270									gradio.shared.loading_status.status = "error";
271									gradio.dispatch("error", detail);
272								},
273
274								get upload_promise() {
275									return get(upload_promise);
276								},
277
278								set upload_promise($$value) {
279									set(upload_promise, $$value, true);
280								},
281
282								children: ($$anchor, $$slotProps) => {
283									UploadText($$anchor, {
284										get i18n() {
285											return gradio.i18n;
286										},
287										type: 'gallery'
288									});
289								},
290								$$slots: { default: true }
291							}),
292							($$value) => upload_input = $$value,
293							() => upload_input
294						);
295
296						reset(div);
297
298						var node_3 = sibling(div, 2);
299
300						{
301							var consequent = ($$anchor) => {
302								Webcam($$anchor, {
303									get root() {
304										return gradio.shared.root;
305									},
306									value: null,
307									mirror_webcam: true,
308									streaming: false,
309									mode: 'image',
310									include_audio: false,
311									get i18n() {
312										return gradio.i18n;
313									},
314									upload: (...args) => gradio.shared.client.upload(...args),
315									$$events: {
316										capture: async (e) => {
317											const f = await handle_save(e.detail, (f) => gradio.shared.client.upload(f, gradio.shared.root), "webcam_upload");
318											const processed_files = await process_upload_files(f);
319
320											gradio.props.value?.push(...processed_files);
321											set(active_source, null);
322											gradio.dispatch("change", gradio.props.value);
323										},
324
325										error($$arg) {
326											bubble_event.call(this, $$props, $$arg);
327										},
328
329										drag($$arg) {
330											bubble_event.call(this, $$props, $$arg);
331										},
332
333										close_stream($$arg) {
334											bubble_event.call(this, $$props, $$arg);
335										}
336									}
337								});
338							};
339
340							var alternate = ($$anchor) => {
341								var fragment_5 = comment();
342								var node_4 = first_child(fragment_5);
343
344								{
345									var consequent_1 = ($$anchor) => {
346										Webcam($$anchor, {
347											get root() {
348												return gradio.shared.root;
349											},
350											value: null,
351											mirror_webcam: true,
352											streaming: false,
353											mode: 'video',
354											include_audio: false,
355											get i18n() {
356												return gradio.i18n;
357											},
358											upload: (...args) => gradio.shared.client.upload(...args),
359											$$events: {
360												capture: async (e) => {
361													const f = { ...e.detail };
362
363													f.mime_type = "video/webm";
364
365													const processed_files = await process_upload_files([f]);
366
367													gradio.props.value?.push(...processed_files);
368													set(active_source, null);
369													gradio.dispatch("change", gradio.props.value);
370												},
371
372												error($$arg) {
373													bubble_event.call(this, $$props, $$arg);
374												},
375
376												drag($$arg) {
377													bubble_event.call(this, $$props, $$arg);
378												},
379
380												close_stream($$arg) {
381													bubble_event.call(this, $$props, $$arg);
382												}
383											}
384										});
385									};
386
387									if_block(
388										node_4,
389										($$render) => {
390											if (get(active_source) === "webcam-video") $$render(consequent_1);
391										},
392										true
393									);
394								}
395
396								append($$anchor, fragment_5);
397							};
398
399							if_block(node_3, ($$render) => {
400								if (get(active_source) === "webcam") $$render(consequent); else $$render(alternate, false);
401							});
402						}
403
404						var node_5 = sibling(node_3, 2);
405
406						{
407							var consequent_2 = ($$anchor) => {
408								SelectSource($$anchor, {
409									get sources() {
410										return get(sources);
411									},
412									handle_clear: () => gradio.dispatch("clear"),
413									handle_select: handle_select_source,
414									get active_source() {
415										return get(active_source);
416									},
417
418									set active_source($$value) {
419										set(active_source, $$value, true);
420									}
421								});
422							};
423
424							if_block(node_5, ($$render) => {
425								if (get(sources).length > 1 || get(sources).includes("clipboard")) $$render(consequent_2);
426							});
427						}
428
429						template_effect(($0) => set_class(div, 1, $0, 'svelte-vrqwbn'), [
430							() => clsx(!gradio.props.value || get(active_source) && get(active_source).includes("webcam") ? "hidden-upload-input" : "upload-wrapper")
431						]);
432
433						append($$anchor, fragment_2);
434					};
435
436					var alternate_1 = ($$anchor) => {
437						{
438							let $0 = user_derived(() => gradio.props.buttons.some((btn) => typeof btn === "string" && btn === "share"));
439							let $1 = user_derived(() => gradio.props.buttons.some((btn) => typeof btn === "string" && btn === "download"));
440							let $2 = user_derived(() => gradio.props.buttons.some((btn) => typeof btn === "string" && btn === "fullscreen"));
441
442							Gallery($$anchor, {
443								onchange: () => gradio.dispatch("change"),
444								onclear: () => gradio.dispatch("change"),
445								onselect: (e) => gradio.dispatch("select", e),
446								onshare: (e) => gradio.dispatch("share", e.detail),
447								onerror: (e) => gradio.dispatch("error", e.detail),
448								onpreview_open: () => {
449									gradio.dispatch("preview_open");
450								},
451								onpreview_close: () => gradio.dispatch("preview_close"),
452								onfullscreen: ({ detail }) => {
453									set(fullscreen, detail, true);
454								},
455								ondelete: handle_delete,
456								onupload: async (e) => {
457									const files = Array.isArray(e) ? e : [e];
458									const new_value = await process_upload_files(files);
459
460									gradio.props.value = gradio.props.value ? [...gradio.props.value, ...new_value] : new_value;
461									gradio.dispatch("upload", new_value);
462									gradio.dispatch("change", gradio.props.value);
463								},
464
465								get sources() {
466									return get(sources);
467								},
468								onsource_change,
469								get label() {
470									return gradio.shared.label;
471								},
472
473								get show_label() {
474									return gradio.shared.show_label;
475								},
476
477								get columns() {
478									return gradio.props.columns;
479								},
480
481								get rows() {
482									return gradio.props.rows;
483								},
484
485								get height() {
486									return gradio.props.height;
487								},
488
489								get preview() {
490									return gradio.props.preview;
491								},
492
493								get object_fit() {
494									return gradio.props.object_fit;
495								},
496
497								get interactive() {
498									return gradio.shared.interactive;
499								},
500
501								get allow_preview() {
502									return gradio.props.allow_preview;
503								},
504
505								get show_share_button() {
506									return get($0);
507								},
508
509								get show_download_button() {
510									return get($1);
511								},
512
513								get fit_columns() {
514									return gradio.props.fit_columns;
515								},
516
517								get i18n() {
518									return gradio.i18n;
519								},
520								_fetch: (...args) => gradio.shared.client.fetch(...args),
521								get show_fullscreen_button() {
522									return get($2);
523								},
524
525								get buttons() {
526									return gradio.props.buttons;
527								},
528
529								on_custom_button_click: (id) => {
530									gradio.dispatch("custom_button_click", { id });
531								},
532
533								get fullscreen() {
534									return get(fullscreen);
535								},
536
537								get root() {
538									return gradio.shared.root;
539								},
540
541								get file_types() {
542									return gradio.props.file_types;
543								},
544
545								get max_file_size() {
546									return gradio.shared.max_file_size;
547								},
548								upload: (...args) => gradio.shared.client.upload(...args),
549								stream_handler: (...args) => gradio.shared.client.stream(...args),
550								get selected_index() {
551									return gradio.props.selected_index;
552								},
553
554								set selected_index($$value) {
555									gradio.props.selected_index = $$value;
556								},
557
558								get value() {
559									return gradio.props.value;
560								},
561
562								set value($$value) {
563									gradio.props.value = $$value;
564								}
565							});
566						}
567					};
568
569					if_block(node_1, ($$render) => {
570						if (gradio.shared.interactive && get(no_value)) $$render(consequent_3); else $$render(alternate_1, false);
571					});
572				}
573
574				append($$anchor, fragment_1);
575			},
576			$$slots: { default: true }
577		});
578	}
579
580	pop();
581}
582
583export { Gallery as BaseGallery, Index as default };
584//# sourceMappingURL=Index-C8iEj0i6.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.