PageSourceSearch

https://victor-longcat-video-avatar-1-5.hf.space/assets/Index-CkKvlEba.js

js victor-longcat-video-avatar-1-5.hf.space collected 2026-10-03 10:24:42 UTC 30,178 bytes, 1,334 lines download raw bytes

1import { p as prop, e as init, i as if_block, d as bind_this, s as slot, b as set_class, f as set_style, r as rest_props, g as spread_props } from './i18n-dpAHICcw.js';
2import { R as push, a4 as createEventDispatcher, a1 as legacy_pre_effect, I as deep_read_state, w as get, a2 as legacy_pre_effect_reset, S as first_child, a6 as comment, a as append, t as template_effect, Z as event, T as pop, a3 as mutable_source, N as tick, U as flushSync, ae as derived_safe_equal, X as sibling, V as child, z as untrack, W as from_html, x as set, Y as reset, aw as FileData, u as state, v as proxy, y as user_effect, a5 as user_derived } from './index-CDZuCcOm.js';
3import { G as Gradio } from './utils.svelte-CyWLYi-B.js';
4import { g as get_coordinates_of_clicked_image, I as ImagePreview } from './ImagePreview-BoKQyUgY.js';
5import { b as bubble_event } from './misc-C2MjMwBX.js';
6import { I as IconButton, S as SelectSource } from './ScrollFade.svelte_svelte_type_style_lang-DUvCSfRk.js';
7import './MarkdownCode.svelte_svelte_type_style_lang-GeNUGzep.js';
8import { B as BlockLabel } from './BlockLabel-D4yjUUAn.js';
9import { C as Clear } from './Clear-tvJMRS4J.js';
10import { I as Image } from './Image-CdSr17SW.js';
11import { I as IconButtonWrapper } from './IconButtonWrapper-KjCt2Pl8.js';
12import { F as FullscreenButton } from './FullscreenButton-wNz2x9hr.js';
13import { W as Webcam } from './Webcam-D1D2o0z2.js';
14import { U as Upload, a as UploadProgress } from './Upload-BlCAnBIo.js';
15import { I as Image$1 } from './Image-CJziNDBt.js';
16/* empty css                                                     */
17import { B as Block } from './Block-DntE23uJ.js';
18import { E as Empty } from './Empty-617iGDfy.js';
19import { U as UploadText } from './UploadText-COnoIs3F.js';
20import { S as Static } from './index-DyDpuTN9.js';
21import './StreamingBar.svelte_svelte_type_style_lang-BxBb9ZZb.js';
22export { default as BaseExample } from './Example-BegbK5fq.js';
23import './clone-dZfS06Ds.js';
24import './DownloadLink-CmpyjDGR.js';
25import './ShareButton-c5E0ChlI.js';
26import './Download-bn1Yc3QR.js';
27/* empty css                                                    */
28import './snippet-DVkMfmSq.js';
29import './prism-python-C_fanlsZ.js';
30import './Maximize-CNFXHhlb.js';
31import './actions-BTh6ZJJ8.js';
32import './props-BwDqDG8n.js';
33import './DropdownArrow-BRSpwupS.js';
34import './Square-Bg2evxzG.js';
35import './Spinner-CNWYfN22.js';
36import './StreamingBar-BnG6Vbta.js';
37/* empty css                                             */
38import './html-h_YSgefI.js';
39/* empty css                                               */
40
41var root_3 = from_html(`<!> <!>`, 1);
42var root_11 = from_html(`<div><!></div>`);
43var root_1 = from_html(`<!> <div data-testid="image" class="image-container svelte-6uxbr3"><!> <div><!> <!></div> <!></div>`, 1);
44
45function ImageUploader($$anchor, $$props) {
46	push($$props, false);
47
48	const active_streaming = mutable_source();
49	let value = prop($$props, 'value', 12, null);
50	let label = prop($$props, 'label', 12, undefined);
51	let show_label = prop($$props, 'show_label', 12);
52	let sources = prop($$props, 'sources', 28, () => ["upload", "clipboard", "webcam"]);
53	let streaming = prop($$props, 'streaming', 12, false);
54	let pending = prop($$props, 'pending', 12, false);
55	let webcam_options = prop($$props, 'webcam_options', 12);
56	let selectable = prop($$props, 'selectable', 12, false);
57	let root = prop($$props, 'root', 12);
58	let i18n = prop($$props, 'i18n', 12);
59	let max_file_size = prop($$props, 'max_file_size', 12, null);
60	let upload = prop($$props, 'upload', 12);
61	let stream_handler = prop($$props, 'stream_handler', 12);
62	let stream_every = prop($$props, 'stream_every', 12);
63	let time_limit = prop($$props, 'time_limit', 12);
64	let show_fullscreen_button = prop($$props, 'show_fullscreen_button', 12, true);
65	let stream_state = prop($$props, 'stream_state', 12, "closed");
66	let upload_promise = prop($$props, 'upload_promise', 12, null);
67	let onerror = prop($$props, 'onerror', 12, undefined);
68	let upload_input = mutable_source();
69	let uploading = prop($$props, 'uploading', 12, false);
70	let active_source = prop($$props, 'active_source', 12, null);
71	let fullscreen = prop($$props, 'fullscreen', 12, false);
72	let files = mutable_source([]);
73	let upload_id = mutable_source();
74
75	async function handle_upload(detail) {
76		if (!streaming()) {
77			if (detail.path?.toLowerCase().endsWith(".svg") && detail.url) {
78				const response = await fetch(detail.url);
79				const svgContent = await response.text();
80
81				value({
82					...detail,
83					url: `data:image/svg+xml,${encodeURIComponent(svgContent)}`
84				});
85			} else {
86				value(detail);
87			}
88
89			await tick();
90			dispatch("upload");
91		}
92	}
93
94	function handle_clear() {
95		value(null);
96		dispatch("clear");
97		dispatch("change", null);
98	}
99
100	function handle_remove_image_click(event) {
101		handle_clear();
102		event.stopPropagation();
103	}
104
105	async function handle_save(img_blob, event) {
106		if (event === "stream") {
107			dispatch("stream", { value: { url: img_blob }, is_value_data: true });
108
109			return;
110		}
111
112		set(upload_id, Math.random().toString(36).substring(2, 15));
113
114		const f_ = new File([img_blob], `image.${streaming() ? "jpeg" : "png"}`);
115
116		set(files, [
117			new FileData({
118				path: f_.name,
119				orig_name: f_.name,
120				blob: f_,
121				size: f_.size,
122				mime_type: f_.type,
123				is_stream: false
124			})
125		]);
126
127		pending(true);
128
129		const f = await get(upload_input).load_files([f_], get(upload_id));
130
131		if (event === "change" || event === "upload") {
132			value(f?.[0] || null);
133			await tick();
134			dispatch("change");
135		}
136
137		pending(false);
138	}
139
140	const dispatch = createEventDispatcher();
141	let dragging = prop($$props, 'dragging', 12, false);
142
143	function handle_click(evt) {
144		let coordinates = get_coordinates_of_clicked_image(evt);
145
146		if (coordinates) {
147			dispatch("select", { index: coordinates, value: null });
148		}
149	}
150
151	async function handle_select_source(source) {
152		switch (source) {
153			case "clipboard":
154				get(upload_input).paste_clipboard();
155				break;
156		}
157	}
158
159	let image_container = mutable_source();
160
161	function on_drag_over(evt) {
162		evt.preventDefault();
163		evt.stopPropagation();
164
165		if (evt.dataTransfer) {
166			evt.dataTransfer.dropEffect = "copy";
167		}
168
169		dragging(true);
170	}
171
172	async function on_drop(evt) {
173		evt.preventDefault();
174		evt.stopPropagation();
175		dragging(false);
176
177		if (value()) {
178			handle_clear();
179			await tick();
180		}
181
182		active_source("upload");
183		await tick();
184		get(upload_input).load_files_from_drop(evt);
185	}
186
187	legacy_pre_effect(
188		() => (
189			deep_read_state(active_source()),
190			deep_read_state(sources())
191		),
192		() => {
193			if (!active_source() && sources()) {
194				active_source(sources()[0]);
195			}
196		}
197	);
198
199	legacy_pre_effect(
200		() => (
201			deep_read_state(streaming()),
202			deep_read_state(active_source())
203		),
204		() => {
205			set(active_streaming, streaming() && active_source() === "webcam");
206		}
207	);
208
209	legacy_pre_effect(() => (deep_read_state(uploading()), get(active_streaming)), () => {
210		if (uploading() && !get(active_streaming)) value(null);
211	});
212
213	legacy_pre_effect(() => (deep_read_state(dragging())), () => {
214		dispatch("drag", dragging());
215	});
216
217	legacy_pre_effect_reset();
218
219	var $$exports = {
220		get value() {
221			return value();
222		},
223
224		set value($$value) {
225			value($$value);
226			flushSync();
227		},
228
229		get label() {
230			return label();
231		},
232
233		set label($$value) {
234			label($$value);
235			flushSync();
236		},
237
238		get show_label() {
239			return show_label();
240		},
241
242		set show_label($$value) {
243			show_label($$value);
244			flushSync();
245		},
246
247		get sources() {
248			return sources();
249		},
250
251		set sources($$value) {
252			sources($$value);
253			flushSync();
254		},
255
256		get streaming() {
257			return streaming();
258		},
259
260		set streaming($$value) {
261			streaming($$value);
262			flushSync();
263		},
264
265		get pending() {
266			return pending();
267		},
268
269		set pending($$value) {
270			pending($$value);
271			flushSync();
272		},
273
274		get webcam_options() {
275			return webcam_options();
276		},
277
278		set webcam_options($$value) {
279			webcam_options($$value);
280			flushSync();
281		},
282
283		get selectable() {
284			return selectable();
285		},
286
287		set selectable($$value) {
288			selectable($$value);
289			flushSync();
290		},
291
292		get root() {
293			return root();
294		},
295
296		set root($$value) {
297			root($$value);
298			flushSync();
299		},
300
301		get i18n() {
302			return i18n();
303		},
304
305		set i18n($$value) {
306			i18n($$value);
307			flushSync();
308		},
309
310		get max_file_size() {
311			return max_file_size();
312		},
313
314		set max_file_size($$value) {
315			max_file_size($$value);
316			flushSync();
317		},
318
319		get upload() {
320			return upload();
321		},
322
323		set upload($$value) {
324			upload($$value);
325			flushSync();
326		},
327
328		get stream_handler() {
329			return stream_handler();
330		},
331
332		set stream_handler($$value) {
333			stream_handler($$value);
334			flushSync();
335		},
336
337		get stream_every() {
338			return stream_every();
339		},
340
341		set stream_every($$value) {
342			stream_every($$value);
343			flushSync();
344		},
345
346		get time_limit() {
347			return time_limit();
348		},
349
350		set time_limit($$value) {
351			time_limit($$value);
352			flushSync();
353		},
354
355		get show_fullscreen_button() {
356			return show_fullscreen_button();
357		},
358
359		set show_fullscreen_button($$value) {
360			show_fullscreen_button($$value);
361			flushSync();
362		},
363
364		get stream_state() {
365			return stream_state();
366		},
367
368		set stream_state($$value) {
369			stream_state($$value);
370			flushSync();
371		},
372
373		get upload_promise() {
374			return upload_promise();
375		},
376
377		set upload_promise($$value) {
378			upload_promise($$value);
379			flushSync();
380		},
381
382		get onerror() {
383			return onerror();
384		},
385
386		set onerror($$value) {
387			onerror($$value);
388			flushSync();
389		},
390
391		get uploading() {
392			return uploading();
393		},
394
395		set uploading($$value) {
396			uploading($$value);
397			flushSync();
398		},
399
400		get active_source() {
401			return active_source();
402		},
403
404		set active_source($$value) {
405			active_source($$value);
406			flushSync();
407		},
408
409		get fullscreen() {
410			return fullscreen();
411		},
412
413		set fullscreen($$value) {
414			fullscreen($$value);
415			flushSync();
416		},
417
418		get dragging() {
419			return dragging();
420		},
421
422		set dragging($$value) {
423			dragging($$value);
424			flushSync();
425		}
426	};
427
428	init();
429
430	var fragment = root_1();
431	var node = first_child(fragment);
432
433	{
434		let $0 = derived_safe_equal(() => label() || "Image");
435
436		BlockLabel(node, {
437			get show_label() {
438				return show_label();
439			},
440
441			get Icon() {
442				return Image;
443			},
444
445			get label() {
446				return get($0);
447			}
448		});
449	}
450
451	var div = sibling(node, 2);
452	var node_1 = child(div);
453
454	IconButtonWrapper(node_1, {
455		children: ($$anchor, $$slotProps) => {
456			var fragment_1 = comment();
457			var node_2 = first_child(fragment_1);
458
459			{
460				var consequent_1 = ($$anchor) => {
461					var fragment_2 = root_3();
462					var node_3 = first_child(fragment_2);
463
464					{
465						var consequent = ($$anchor) => {
466							FullscreenButton($$anchor, {
467								get fullscreen() {
468									return fullscreen();
469								},
470
471								$$events: {
472									fullscreen($$arg) {
473										bubble_event.call(this, $$props, $$arg);
474									}
475								}
476							});
477						};
478
479						if_block(node_3, ($$render) => {
480							if (show_fullscreen_button()) $$render(consequent);
481						});
482					}
483
484					var node_4 = sibling(node_3, 2);
485
486					IconButton(node_4, {
487						get Icon() {
488							return Clear;
489						},
490						label: 'Remove Image',
491						onclick: handle_remove_image_click
492					});
493
494					append($$anchor, fragment_2);
495				};
496
497				if_block(node_2, ($$render) => {
498					if ((
499						deep_read_state(value()),
500						get(active_streaming),
501						untrack(() => value()?.url && !get(active_streaming))
502					)) $$render(consequent_1);
503				});
504			}
505
506			append($$anchor, fragment_1);
507		},
508		$$slots: { default: true }
509	});
510
511	var div_1 = sibling(node_1, 2);
512	let classes;
513	let styles;
514	var node_5 = child(div_1);
515
516	{
517		let $0 = derived_safe_equal(() => value() !== null || active_source() === "webcam");
518		let $1 = derived_safe_equal(() => active_source() === "clipboard" ? "clipboard" : "image/*");
519
520		let $2 = derived_safe_equal(() => (
521			deep_read_state(sources()),
522			deep_read_state(value()),
523			untrack(() => !sources().includes("upload") || value() !== null)
524		));
525
526		let $3 = derived_safe_equal(() => (
527			deep_read_state(i18n()),
528			untrack(() => i18n()("image.drop_to_upload"))
529		));
530
531		bind_this(
532			Upload(node_5, {
533				get hidden() {
534					return get($0);
535				},
536
537				get filetype() {
538					return get($1);
539				},
540				onload: handle_upload,
541				get onerror() {
542					return onerror();
543				},
544
545				get root() {
546					return root();
547				},
548
549				get max_file_size() {
550					return max_file_size();
551				},
552
553				get disable_click() {
554					return get($2);
555				},
556
557				get upload() {
558					return upload();
559				},
560
561				get stream_handler() {
562					return stream_handler();
563				},
564
565				get aria_label() {
566					return get($3);
567				},
568
569				get upload_promise() {
570					return upload_promise();
571				},
572
573				set upload_promise($$value) {
574					upload_promise($$value);
575				},
576
577				get uploading() {
578					return uploading();
579				},
580
581				set uploading($$value) {
582					uploading($$value);
583				},
584
585				get dragging() {
586					return dragging();
587				},
588
589				set dragging($$value) {
590					dragging($$value);
591				},
592
593				children: ($$anchor, $$slotProps) => {
594					var fragment_4 = comment();
595					var node_6 = first_child(fragment_4);
596
597					{
598						var consequent_2 = ($$anchor) => {
599							var fragment_5 = comment();
600							var node_7 = first_child(fragment_5);
601
602							slot(node_7, $$props, 'default', {}, null);
603							append($$anchor, fragment_5);
604						};
605
606						if_block(node_6, ($$render) => {
607							if (value() === null) $$render(consequent_2);
608						});
609					}
610
611					append($$anchor, fragment_4);
612				},
613				$$slots: { default: true },
614				$$legacy: true
615			}),
616			($$value) => set(upload_input, $$value),
617			() => get(upload_input)
618		);
619	}
620
621	var node_8 = sibling(node_5, 2);
622
623	{
624		var consequent_3 = ($$anchor) => {
625			UploadProgress($$anchor, {
626				get root() {
627					return root();
628				},
629
630				get upload_id() {
631					return get(upload_id);
632				},
633
634				get stream_handler() {
635					return stream_handler();
636				},
637
638				get files() {
639					return get(files);
640				}
641			});
642		};
643
644		var alternate_1 = ($$anchor) => {
645			var fragment_7 = comment();
646			var node_9 = first_child(fragment_7);
647
648			{
649				var consequent_4 = ($$anchor) => {
650					Webcam($$anchor, {
651						get root() {
652							return root();
653						},
654
655						get value() {
656							return value();
657						},
658
659						get stream_state() {
660							return stream_state();
661						},
662
663						get mirror_webcam() {
664							return (
665								deep_read_state(webcam_options()),
666								untrack(() => webcam_options().mirror)
667							);
668						},
669
670						get stream_every() {
671							return stream_every();
672						},
673
674						get streaming() {
675							return streaming();
676						},
677						mode: 'image',
678						include_audio: false,
679						get i18n() {
680							return i18n();
681						},
682
683						get upload() {
684							return upload();
685						},
686
687						get time_limit() {
688							return time_limit();
689						},
690
691						get webcam_constraints() {
692							return (
693								deep_read_state(webcam_options()),
694								untrack(() => webcam_options().constraints)
695							);
696						},
697
698						$$events: {
699							capture: (e) => handle_save(e.detail, "change"),
700							stream: (e) => handle_save(e.detail, "stream"),
701							error($$arg) {
702								bubble_event.call(this, $$props, $$arg);
703							},
704
705							drag($$arg) {
706								bubble_event.call(this, $$props, $$arg);
707							},
708							upload: (e) => handle_save(e.detail, "upload"),
709							close_stream($$arg) {
710								bubble_event.call(this, $$props, $$arg);
711							}
712						}
713					});
714				};
715
716				var alternate = ($$anchor) => {
717					var fragment_9 = comment();
718					var node_10 = first_child(fragment_9);
719
720					{
721						var consequent_5 = ($$anchor) => {
722							var div_2 = root_11();
723							let classes_1;
724							var node_11 = child(div_2);
725
726							{
727								let $0 = derived_safe_equal(() => (
728									deep_read_state(value()),
729									untrack(() => ({ alt: value().alt_text }))
730								));
731
732								Image$1(node_11, {
733									get src() {
734										return (deep_read_state(value()), untrack(() => value().url));
735									},
736
737									get restProps() {
738										return get($0);
739									}
740								});
741							}
742
743							reset(div_2);
744							template_effect(() => classes_1 = set_class(div_2, 1, 'image-frame svelte-6uxbr3', null, classes_1, { selectable: selectable() }));
745							event('click', div_2, handle_click);
746							append($$anchor, div_2);
747						};
748
749						if_block(
750							node_10,
751							($$render) => {
752								if (value() !== null && !streaming()) $$render(consequent_5);
753							},
754							true
755						);
756					}
757
758					append($$anchor, fragment_9);
759				};
760
761				if_block(
762					node_9,
763					($$render) => {
764						if (active_source() === "webcam" && (streaming() || !streaming() && !value())) $$render(consequent_4); else $$render(alternate, false);
765					},
766					true
767				);
768			}
769
770			append($$anchor, fragment_7);
771		};
772
773		if_block(node_8, ($$render) => {
774			if (active_source() === "webcam" && !streaming() && pending()) $$render(consequent_3); else $$render(alternate_1, false);
775		});
776	}
777
778	reset(div_1);
779
780	var node_12 = sibling(div_1, 2);
781
782	{
783		var consequent_6 = ($$anchor) => {
784			SelectSource($$anchor, {
785				get sources() {
786					return sources();
787				},
788				handle_clear,
789				handle_select: handle_select_source,
790				get active_source() {
791					return active_source();
792				},
793
794				set active_source($$value) {
795					active_source($$value);
796				},
797				$$legacy: true
798			});
799		};
800
801		if_block(node_12, ($$render) => {
802			if ((
803				deep_read_state(sources()),
804				untrack(() => sources().length > 1 || sources().includes("clipboard"))
805			)) $$render(consequent_6);
806		});
807	}
808
809	reset(div);
810	bind_this(div, ($$value) => set(image_container, $$value), () => get(image_container));
811
812	template_effect(() => {
813		classes = set_class(div_1, 1, 'upload-container svelte-6uxbr3', null, classes, { 'reduced-height': sources().length > 1 });
814		styles = set_style(div_1, '', styles, { width: value() ? "auto" : "100%" });
815	});
816
817	event('dragover', div_1, on_drag_over);
818	event('drop', div_1, on_drop);
819	append($$anchor, fragment);
820
821	return pop($$exports);
822}
823
824var root_2 = from_html(`<!> <!>`, 1);
825var root_4 = from_html(`<!> <!>`, 1);
826
827function Index($$anchor, $$props) {
828	push($$props, true);
829
830	let stream_data = { value: null };
831	let upload_promise = state(void 0);
832
833	class ImageGradio extends Gradio {
834		async get_data() {
835			if (get(upload_promise)) {
836				await get(upload_promise);
837				await tick();
838			}
839
840			const data = await super.get_data();
841
842			if ($$props.props.streaming) {
843				data.value = stream_data.value;
844			}
845
846			return data;
847		}
848	}
849
850	const props = rest_props($$props, ['$$slots', '$$events', '$$legacy']);
851	const gradio = new ImageGradio(props);
852	let fullscreen = state(false);
853	let dragging = state(false);
854	let active_source = user_derived(() => gradio.props.sources ? gradio.props.sources[0] : null);
855	let upload_component;
856
857	const handle_drag_event = (event) => {
858		const drag_event = event;
859
860		drag_event.preventDefault();
861		drag_event.stopPropagation();
862
863		if (drag_event.type === "dragenter" || drag_event.type === "dragover") {
864			set(dragging, true);
865		} else if (drag_event.type === "dragleave") {
866			set(dragging, false);
867		}
868	};
869
870	const handle_drop = (event) => {
871		if (gradio.shared.interactive) {
872			const drop_event = event;
873
874			drop_event.preventDefault();
875			drop_event.stopPropagation();
876			set(dragging, false);
877
878			if (upload_component) {
879				upload_component.loadFilesFromDrop(drop_event);
880			}
881		}
882	};
883
884	let old_value = state(proxy(gradio.props.value));
885
886	user_effect(() => {
887		if (get(old_value) != gradio.props.value) {
888			set(old_value, gradio.props.value, true);
889			gradio.dispatch("change");
890		}
891	});
892
893	let status = user_derived(() => gradio?.shared?.loading_status.stream_state);
894	var fragment = comment();
895	var node = first_child(fragment);
896
897	{
898		var consequent = ($$anchor) => {
899			{
900				let $0 = user_derived(() => get(dragging) ? "focus" : "base");
901				let $1 = user_derived(() => gradio.props.height || undefined);
902
903				Block($$anchor, {
904					get visible() {
905						return gradio.shared.visible;
906					},
907					variant: "solid",
908					get border_mode() {
909						return get($0);
910					},
911					padding: false,
912					get elem_id() {
913						return gradio.shared.elem_id;
914					},
915
916					get elem_classes() {
917						return gradio.shared.elem_classes;
918					},
919
920					get height() {
921						return get($1);
922					},
923
924					get width() {
925						return gradio.props.width;
926					},
927					allow_overflow: false,
928					get container() {
929						return gradio.shared.container;
930					},
931					'scale{gradio.shared.scale}': true,
932					get min_width() {
933						return gradio.shared.min_width;
934					},
935
936					get fullscreen() {
937						return get(fullscreen);
938					},
939
940					set fullscreen($$value) {
941						set(fullscreen, $$value, true);
942					},
943
944					children: ($$anchor, $$slotProps) => {
945						var fragment_2 = root_2();
946						var node_1 = first_child(fragment_2);
947
948						Static(node_1, spread_props(
949							{
950								get autoscroll() {
951									return gradio.shared.autoscroll;
952								},
953
954								get i18n() {
955									return gradio.i18n;
956								}
957							},
958							() => gradio.shared.loading_status,
959							{
960								on_clear_status: () => gradio.dispatch("clear_status", gradio.shared.loading_status)
961							}
962						));
963
964						var node_2 = sibling(node_1, 2);
965
966						ImagePreview(node_2, {
967							get fullscreen() {
968								return get(fullscreen);
969							},
970
971							get value() {
972								return gradio.props.value;
973							},
974
975							get label() {
976								return gradio.shared.label;
977							},
978
979							get show_label() {
980								return gradio.shared.show_label;
981							},
982
983							get selectable() {
984								return gradio.props._selectable;
985							},
986
987							get i18n() {
988								return gradio.i18n;
989							},
990
991							get buttons() {
992								return gradio.props.buttons;
993							},
994
995							on_custom_button_click: (id) => {
996								gradio.dispatch("custom_button_click", { id });
997							},
998
999							$$events: {
1000								select: ({ detail }) => gradio.dispatch("select", detail),
1001								share: ({ detail }) => gradio.dispatch("share", detail),
1002								error: ({ detail }) => gradio.dispatch("error", detail),
1003								fullscreen: ({ detail }) => {
1004									set(fullscreen, detail, true);
1005								}
1006							}
1007						});
1008
1009						append($$anchor, fragment_2);
1010					},
1011					$$slots: { default: true }
1012				});
1013			}
1014		};
1015
1016		var alternate_2 = ($$anchor) => {
1017			{
1018				let $0 = user_derived(() => gradio.props.value === null ? "dashed" : "solid");
1019				let $1 = user_derived(() => get(dragging) ? "focus" : "base");
1020				let $2 = user_derived(() => gradio.props.height || undefined);
1021
1022				Block($$anchor, {
1023					get visible() {
1024						return gradio.shared.visible;
1025					},
1026
1027					get variant() {
1028						return get($0);
1029					},
1030
1031					get border_mode() {
1032						return get($1);
1033					},
1034					padding: false,
1035					get elem_id() {
1036						return gradio.shared.elem_id;
1037					},
1038
1039					get elem_classes() {
1040						return gradio.shared.elem_classes;
1041					},
1042
1043					get height() {
1044						return get($2);
1045					},
1046
1047					get width() {
1048						return gradio.props.width;
1049					},
1050					allow_overflow: false,
1051					get container() {
1052						return gradio.shared.container;
1053					},
1054
1055					get scale() {
1056						return gradio.shared.scale;
1057					},
1058
1059					get min_width() {
1060						return gradio.shared.min_width;
1061					},
1062
1063					get fullscreen() {
1064						return get(fullscreen);
1065					},
1066
1067					set fullscreen($$value) {
1068						set(fullscreen, $$value, true);
1069					},
1070
1071					$$events: {
1072						dragenter: handle_drag_event,
1073						dragleave: handle_drag_event,
1074						dragover: handle_drag_event,
1075						drop: handle_drop
1076					},
1077
1078					children: ($$anchor, $$slotProps) => {
1079						var fragment_4 = root_4();
1080						var node_3 = first_child(fragment_4);
1081
1082						{
1083							var consequent_1 = ($$anchor) => {
1084								Static($$anchor, spread_props(
1085									{
1086										get autoscroll() {
1087											return gradio.shared.autoscroll;
1088										},
1089
1090										get i18n() {
1091											return gradio.i18n;
1092										}
1093									},
1094									() => gradio.shared.loading_status,
1095									{
1096										on_clear_status: () => gradio.dispatch("clear_status", gradio.shared.loading_status)
1097									}
1098								));
1099							};
1100
1101							if_block(node_3, ($$render) => {
1102								if (gradio.shared.loading_status.type === "output") $$render(consequent_1);
1103							});
1104						}
1105
1106						var node_4 = sibling(node_3, 2);
1107
1108						{
1109							let $0 = user_derived(() => gradio.props.buttons === null
1110								? true
1111								: gradio.props.buttons.some((btn) => typeof btn === "string" && btn === "fullscreen"));
1112
1113							let $1 = user_derived(() => gradio.shared.loading_status?.status === "pending" || gradio.shared.loading_status?.status === "streaming");
1114							let $2 = user_derived(() => gradio.shared.loading_status?.time_limit);
1115							let $3 = user_derived(() => gradio.shared.client?.stream);
1116
1117							bind_this(
1118								ImageUploader(node_4, {
1119									get selectable() {
1120										return gradio.props._selectable;
1121									},
1122
1123									get root() {
1124										return gradio.shared.root;
1125									},
1126
1127									get sources() {
1128										return gradio.props.sources;
1129									},
1130
1131									get fullscreen() {
1132										return get(fullscreen);
1133									},
1134
1135									get show_fullscreen_button() {
1136										return get($0);
1137									},
1138
1139									onerror: (detail) => {
1140										gradio.shared.loading_status.status = "error";
1141										gradio.dispatch("error", detail);
1142									},
1143
1144									get label() {
1145										return gradio.shared.label;
1146									},
1147
1148									get show_label() {
1149										return gradio.shared.show_label;
1150									},
1151
1152									get pending() {
1153										return get($1);
1154									},
1155
1156									get streaming() {
1157										return gradio.props.streaming;
1158									},
1159
1160									get webcam_options() {
1161										return gradio.props.webcam_options;
1162									},
1163
1164									get stream_every() {
1165										return gradio.props.stream_every;
1166									},
1167
1168									get time_limit() {
1169										return get($2);
1170									},
1171
1172									get max_file_size() {
1173										return gradio.shared.max_file_size;
1174									},
1175
1176									get i18n() {
1177										return gradio.i18n;
1178									},
1179									upload: (...args) => gradio.shared.client.upload(...args),
1180									get stream_handler() {
1181										return get($3);
1182									},
1183
1184									get stream_state() {
1185										return get(status);
1186									},
1187
1188									get upload_promise() {
1189										return get(upload_promise);
1190									},
1191
1192									set upload_promise($$value) {
1193										set(upload_promise, $$value, true);
1194									},
1195
1196									get active_source() {
1197										return get(active_source);
1198									},
1199
1200									set active_source($$value) {
1201										set(active_source, $$value);
1202									},
1203
1204									get value() {
1205										return gradio.props.value;
1206									},
1207
1208									set value($$value) {
1209										gradio.props.value = $$value;
1210									},
1211
1212									get dragging() {
1213										return get(dragging);
1214									},
1215
1216									set dragging($$value) {
1217										set(dragging, $$value, true);
1218									},
1219
1220									$$events: {
1221										edit: () => gradio.dispatch("edit"),
1222										clear: () => {
1223											set(fullscreen, false);
1224											gradio.dispatch("clear");
1225											gradio.dispatch("input");
1226										},
1227
1228										stream: ({ detail }) => {
1229											stream_data = detail;
1230											gradio.dispatch("stream", detail);
1231										},
1232										drag: ({ detail }) => set(dragging, detail, true),
1233										upload: () => {
1234											gradio.dispatch("upload");
1235											gradio.dispatch("input");
1236										},
1237										select: ({ detail }) => gradio.dispatch("select", detail),
1238										share: ({ detail }) => gradio.dispatch("share", detail),
1239										close_stream: () => {
1240											gradio.dispatch("close_stream");
1241										},
1242
1243										fullscreen: ({ detail }) => {
1244											set(fullscreen, detail, true);
1245										}
1246									},
1247
1248									children: ($$anchor, $$slotProps) => {
1249										var fragment_6 = comment();
1250										var node_5 = first_child(fragment_6);
1251
1252										{
1253											var consequent_2 = ($$anchor) => {
1254												UploadText($$anchor, {
1255													get i18n() {
1256														return gradio.i18n;
1257													},
1258													type: 'image',
1259													get placeholder() {
1260														return gradio.props.placeholder;
1261													}
1262												});
1263											};
1264
1265											var alternate_1 = ($$anchor) => {
1266												var fragment_8 = comment();
1267												var node_6 = first_child(fragment_8);
1268
1269												{
1270													var consequent_3 = ($$anchor) => {
1271														UploadText($$anchor, {
1272															get i18n() {
1273																return gradio.i18n;
1274															},
1275															type: 'clipboard',
1276															mode: 'short'
1277														});
1278													};
1279
1280													var alternate = ($$anchor) => {
1281														Empty($$anchor, {
1282															unpadded_box: true,
1283															size: 'large',
1284															children: ($$anchor, $$slotProps) => {
1285																Image($$anchor);
1286															},
1287															$$slots: { default: true }
1288														});
1289													};
1290
1291													if_block(
1292														node_6,
1293														($$render) => {
1294															if (get(active_source) === "clipboard") $$render(consequent_3); else $$render(alternate, false);
1295														},
1296														true
1297													);
1298												}
1299
1300												append($$anchor, fragment_8);
1301											};
1302
1303											if_block(node_5, ($$render) => {
1304												if (get(active_source) === "upload" || !get(active_source)) $$render(consequent_2); else $$render(alternate_1, false);
1305											});
1306										}
1307
1308										append($$anchor, fragment_6);
1309									},
1310									$$slots: { default: true }
1311								}),
1312								($$value) => upload_component = $$value,
1313								() => upload_component
1314							);
1315						}
1316
1317						append($$anchor, fragment_4);
1318					},
1319					$$slots: { default: true }
1320				});
1321			}
1322		};
1323
1324		if_block(node, ($$render) => {
1325			if (!gradio.shared.interactive) $$render(consequent); else $$render(alternate_2, false);
1326		});
1327	}
1328
1329	append($$anchor, fragment);
1330	pop();
1331}
1332
1333export { Image$1 as BaseImage, ImageUploader as BaseImageUploader, ImagePreview as BaseStaticImage, Webcam, Index as default };
1334//# sourceMappingURL=Index-CkKvlEba.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.