1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Canvas3D-e6PmZQ-C.js","./index-BvBk1Iap.js","./index-CrbFh6qt.css","./i18n-CMo5lpzy.js","./i18n-CGFL4PZH.css","./Canvas3DGS-UwN0Q52I.js"])))=>i.map(i=>d[i]); 2import { p as prop, i as if_block, s as slot, d as bind_this, r as rest_props, g as spread_props } from './i18n-CMo5lpzy.js'; 3import { R as push, y as user_effect, x as set, w as get, S as first_child, a as append, T as pop, u as state, af as __vitePreload, a5 as user_derived, X as sibling, W as from_html, a6 as comment, V as child, Y as reset, M as tick, v as proxy } from './index-BvBk1Iap.js'; 4import { G as Gradio } from './utils.svelte-CYLB_jIA.js'; 5import Model3D from './Model3D-CWtA1JFE.js'; 6import { c as component } from './ScrollFade.svelte_svelte_type_style_lang-Xm-PLg9E.js'; 7import { U as Upload } from './Upload-CPeZiqam.js'; 8import { M as ModifyUpload } from './ModifyUpload-B5K-5Hqx.js'; 9import { B as BlockLabel } from './BlockLabel-oGSqUii_.js'; 10import { F as File } from './File-_cC4Z_uD.js'; 11import { B as Block } from './Block-Bx3BikCN.js'; 12import { E as Empty } from './Empty-CHa-gxv7.js'; 13import { U as UploadText } from './UploadText-BSD1IoCI.js'; 14import { I as IconButtonWrapper } from './IconButtonWrapper-Ba0GidgU.js'; 15import { S as Static } from './index-Lz7fsHFt.js'; 16import './StreamingBar.svelte_svelte_type_style_lang-CdFIGsJa.js'; 17export { default as BaseExample } from './Example-qy-BJ3UM.js'; 18import './clone-DaB-S2nH.js'; 19import './Download-pFhUaTl4.js'; 20import './Undo-BxcJDM8E.js'; 21import './index-DnoGeqVF.js'; 22import './snippet-Bl5YVoCg.js'; 23import './actions-Cit_UA5S.js'; 24import './DownloadLink-KvrFKyMn.js'; 25import './Clear-Dgs5UhTO.js'; 26import './Edit-Dr58YXBX.js'; 27import './html-CdUEtR5E.js'; 28import './index-C7e-J7CF.js'; 29 30var root_4$1 = from_html(`<div class="input-model svelte-18wa0f8"><!> <!></div>`); 31var root_1 = from_html(`<!> <!>`, 1); 32 33function Model3DUpload($$anchor, $$props) { 34 push($$props, true); 35 36 let value = prop($$props, 'value', 15), 37 display_mode = prop($$props, 'display_mode', 3, "solid"), 38 clear_color = prop($$props, 'clear_color', 19, () => [0, 0, 0, 0]), 39 label = prop($$props, 'label', 3, ""), 40 zoom_speed = prop($$props, 'zoom_speed', 3, 1), 41 pan_speed = prop($$props, 'pan_speed', 3, 1), 42 max_file_size = prop($$props, 'max_file_size', 3, null), 43 uploading = prop($$props, 'uploading', 15), 44 upload_promise = prop($$props, 'upload_promise', 15), 45 camera_position = prop($$props, 'camera_position', 19, () => [null, null, null]); 46 47 let use_3dgs = state(false); 48 let Canvas3DGSComponent = state(void 0); 49 let Canvas3DComponent = state(void 0); 50 let canvas3d = state(void 0); 51 let dragging = state(false); 52 53 async function loadCanvas3D() { 54 const module = await __vitePreload(() => import('./Canvas3D-e6PmZQ-C.js'),true ?__vite__mapDeps([0,1,2,3,4]):void 0,import.meta.url); 55 56 return module.default; 57 } 58 59 async function loadCanvas3DGS() { 60 const module = await __vitePreload(() => import('./Canvas3DGS-UwN0Q52I.js'),true ?__vite__mapDeps([5,3,1,2,4]):void 0,import.meta.url); 61 62 return module.default; 63 } 64 65 user_effect(() => { 66 if (value()) { 67 set(use_3dgs, value().path.endsWith(".splat") || value().path.endsWith(".ply"), true); 68 69 if (get(use_3dgs)) { 70 loadCanvas3DGS().then((component) => { 71 set(Canvas3DGSComponent, component, true); 72 }); 73 } else { 74 loadCanvas3D().then((component) => { 75 set(Canvas3DComponent, component, true); 76 }); 77 } 78 } 79 }); 80 81 user_effect(() => { 82 $$props.ondrag?.(get(dragging)); 83 }); 84 85 async function handle_upload(detail) { 86 value(detail); 87 await tick(); 88 $$props.onchange?.(value()); 89 $$props.onload?.(value()); 90 } 91 92 async function handle_clear() { 93 value(null); 94 await tick(); 95 $$props.onclear?.(); 96 $$props.onchange?.(null); 97 } 98 99 async function handle_undo() { 100 get(canvas3d)?.reset_camera_position(); 101 } 102 103 function handle_error(error) { 104 $$props.onerror?.(error); 105 } 106 107 var fragment = root_1(); 108 var node = first_child(fragment); 109 110 { 111 let $0 = user_derived(() => label() || "3D Model"); 112 113 BlockLabel(node, { 114 get show_label() { 115 return $$props.show_label; 116 }, 117 118 get Icon() { 119 return File; 120 }, 121 122 get label() { 123 return get($0); 124 } 125 }); 126 } 127
128 var node_1 = sibling(node, 2); 129 130 { 131 var consequent = ($$anchor) => { 132 { 133 let $0 = user_derived(() => $$props.i18n("model3d.drop_to_upload")); 134 135 Upload($$anchor, { 136 get upload() { 137 return $$props.upload; 138 }, 139 140 get stream_handler() { 141 return $$props.stream_handler; 142 }, 143 onload: handle_upload, 144 get root() { 145 return $$props.root; 146 }, 147 148 get max_file_size() { 149 return max_file_size(); 150 }, 151 152 filetype: [ 153 ".stl", 154 ".obj", 155 ".gltf", 156 ".glb", 157 "model/obj", 158 ".splat", 159 ".ply" 160 ], 161 onerror: handle_error, 162 get aria_label() { 163 return get($0); 164 }, 165 166 get upload_promise() { 167 return upload_promise(); 168 }, 169 170 set upload_promise($$value) { 171 upload_promise($$value); 172 }, 173 174 get dragging() { 175 return get(dragging); 176 }, 177 178 set dragging($$value) { 179 set(dragging, $$value, true); 180 }, 181 182 get uploading() { 183 return uploading(); 184 }, 185 186 set uploading($$value) { 187 uploading($$value); 188 }, 189 190 children: ($$anchor, $$slotProps) => { 191 var fragment_2 = comment(); 192 var node_2 = first_child(fragment_2); 193 194 slot(node_2, $$props, 'default', {}); 195 append($$anchor, fragment_2); 196 }, 197 $$slots: { default: true } 198 }); 199 } 200 }; 201 202 var alternate_1 = ($$anchor) => { 203 var div = root_4$1(); 204 var node_3 = child(div); 205 206 { 207 let $0 = user_derived(() => !get(use_3dgs)); 208 209 ModifyUpload(node_3, { 210 get undoable() { 211 return get($0); 212 }, 213 onclear: handle_clear, 214 get i18n() { 215 return $$props.i18n; 216 }, 217 onundo: handle_undo 218 }); 219 } 220 221 var node_4 = sibling(node_3, 2); 222 223 { 224 var consequent_1 = ($$anchor) => { 225 var fragment_3 = comment(); 226 var node_5 = first_child(fragment_3); 227 228 component(node_5, () => get(Canvas3DGSComponent), ($$anchor, $$component) => { 229 $$component($$anchor, { 230 get value() { 231 return value(); 232 }, 233 234 get zoom_speed() { 235 return zoom_speed(); 236 }, 237 238 get pan_speed() { 239 return pan_speed(); 240 } 241 }); 242 }); 243 244 append($$anchor, fragment_3); 245 }; 246 247 var alternate = ($$anchor) => { 248 var fragment_4 = comment(); 249 var node_6 = first_child(fragment_4); 250 251 component(node_6, () => get(Canvas3DComponent), ($$anchor, $$component) => { 252 bind_this( 253 $$component($$anchor, { 254 get value() { 255 return value(); 256 }, 257 258 get display_mode() { 259 return display_mode(); 260 }, 261 262 get clear_color() { 263 return clear_color(); 264 }, 265 266 get camera_position() { 267 return camera_position(); 268 }, 269 270 get zoom_speed() { 271 return zoom_speed(); 272 }, 273 274 get pan_speed() { 275 return pan_speed(); 276 } 277 }), 278 ($$value) => set(canvas3d, $$value, true), 279 () => get(canvas3d) 280 ); 281 }); 282 283 append($$anchor, fragment_4); 284 }; 285 286 if_block(node_4, ($$render) => { 287 if (get(use_3dgs)) $$render(consequent_1); else $$render(alternate, false); 288 }); 289 } 290 291 reset(div); 292 append($$anchor, div); 293 }; 294 295 if_block(node_1, ($$render) => { 296 if (value() == null) $$render(consequent); else $$render(alternate_1, false); 297 }); 298 } 299 300 append($$anchor, fragment); 301 pop(); 302} 303 304var root_4 = from_html(`<!> <!> <!>`, 1); 305var root_2 = from_html(`<!> <!>`, 1); 306var root_8 = from_html(`<!> <!>`, 1); 307 308function Index($$anchor, $$props) { 309 push($$props, true); 310 311 class Model3dGradio extends Gradio { 312 async get_data() { 313 if (get(upload_promise)) { 314 await get(upload_promise); 315 await tick(); 316 } 317 318 const data = await super.get_data(); 319 320 return data; 321 } 322 } 323 324 const props = rest_props($$props, ['$$slots', '$$events', '$$legacy']); 325 const gradio = new Model3dGradio(props); 326 let old_value = state(proxy(gradio.props.value)); 327 let uploading = state(false); 328 let dragging = state(false); 329 let has_change_history = state(false); 330 let upload_promise = state(void 0); 331 const is_browser = typeof window !== "undefined"; 332 333 user_effect(() => { 334 if (get(old_value) !== gradio.props.value) { 335 set(old_value, gradio.props.value, true); 336 gradio.dispatch("change"); 337 } 338 }); 339 340 function handle_change(detail) { 341 gradio.props.value = detail; 342 gradio.dispatch("change", detail); 343 set(has_change_history, true); 344 } 345 346 function handle_drag(detail) { 347 set(dragging, detail, true); 348 } 349 350 function handle_clear() { 351 gradio.props.value = null; 352 gradio.dispatch("clear"); 353 } 354 355 function handle_load(detail) { 356 gradio.props.value = detail; 357 gradio.dispatch("upload"); 358 } 359 360 function handle_error(detail) { 361 if (gradio.shared.loading_status) gradio.shared.loading_status.status = "error"; 362 363 gradio.dispatch("error", detail); 364 } 365 366 var fragment = comment(); 367 var node = first_child(fragment); 368 369 { 370 var consequent_2 = ($$anchor) => { 371 { 372 let $0 = user_derived(() => gradio.props.value === null ? "dashed" : "solid"); 373 let $1 = user_derived(() => get(dragging) ? "focus" : "base"); 374 375 Block($$anchor, { 376 get visible() { 377 return gradio.shared.visible; 378 }, 379 380 get variant() { 381 return get($0); 382 }, 383 384 get border_mode() { 385 return get($1); 386 }, 387 padding: false, 388 get elem_id() { 389 return gradio.shared.elem_id; 390 }, 391 392 get elem_classes() { 393 return gradio.shared.elem_classes; 394 }, 395 396 get container() { 397 return gradio.shared.container; 398 }, 399 400 get scale() { 401 return gradio.shared.scale; 402 }, 403 404 get min_width() { 405 return gradio.shared.min_width; 406 }, 407 408 get height() { 409 return gradio.props.height; 410 }, 411 412 children: ($$anchor, $$slotProps) => { 413 var fragment_2 = root_2();
414 var node_1 = first_child(fragment_2); 415 416 Static(node_1, spread_props( 417 { 418 get autoscroll() { 419 return gradio.shared.autoscroll; 420 }, 421 422 get i18n() { 423 return gradio.i18n; 424 } 425 }, 426 () => gradio.shared.loading_status, 427 { 428 on_clear_status: () => gradio.dispatch("clear_status", gradio.shared.loading_status) 429 } 430 )); 431 432 var node_2 = sibling(node_1, 2); 433 434 { 435 var consequent = ($$anchor) => { 436 Model3D($$anchor, { 437 get value() { 438 return gradio.props.value; 439 }, 440 441 get i18n() { 442 return gradio.i18n; 443 }, 444 445 get display_mode() { 446 return gradio.props.display_mode; 447 }, 448 449 get clear_color() { 450 return gradio.props.clear_color; 451 }, 452 453 get label() { 454 return gradio.shared.label; 455 }, 456 457 get show_label() { 458 return gradio.shared.show_label; 459 }, 460 461 get camera_position() { 462 return gradio.props.camera_position; 463 }, 464 465 get zoom_speed() { 466 return gradio.props.zoom_speed; 467 }, 468 469 get has_change_history() { 470 return get(has_change_history); 471 } 472 }); 473 }; 474 475 var alternate = ($$anchor) => { 476 var fragment_4 = root_4(); 477 var node_3 = first_child(fragment_4); 478 479 { 480 var consequent_1 = ($$anchor) => { 481 IconButtonWrapper($$anchor, { 482 get buttons() { 483 return gradio.props.buttons; 484 }, 485 486 on_custom_button_click: (id) => { 487 gradio.dispatch("custom_button_click", { id }); 488 } 489 }); 490 }; 491 492 if_block(node_3, ($$render) => { 493 if (gradio.shared.show_label && gradio.props.buttons && gradio.props.buttons.length > 0) $$render(consequent_1); 494 }); 495 } 496 497 var node_4 = sibling(node_3, 2); 498 499 { 500 let $0 = user_derived(() => gradio.shared.label || "3D Model"); 501 502 BlockLabel(node_4, { 503 get show_label() { 504 return gradio.shared.show_label; 505 }, 506 507 get Icon() { 508 return File; 509 }, 510 511 get label() { 512 return get($0); 513 } 514 }); 515 } 516 517 var node_5 = sibling(node_4, 2); 518 519 Empty(node_5, { 520 unpadded_box: true, 521 size: 'large', 522 children: ($$anchor, $$slotProps) => { 523 File($$anchor); 524 }, 525 $$slots: { default: true } 526 }); 527 528 append($$anchor, fragment_4); 529 }; 530 531 if_block(node_2, ($$render) => { 532 if (gradio.props.value && is_browser) $$render(consequent); else $$render(alternate, false); 533 }); 534 } 535 536 append($$anchor, fragment_2); 537 }, 538 $$slots: { default: true } 539 }); 540 } 541 }; 542 543 var alternate_1 = ($$anchor) => { 544 { 545 let $0 = user_derived(() => gradio.props.value === null ? "dashed" : "solid"); 546 let $1 = user_derived(() => get(dragging) ? "focus" : "base"); 547 548 Block($$anchor, { 549 get visible() { 550 return gradio.shared.visible; 551 }, 552 553 get variant() { 554 return get($0); 555 }, 556 557 get border_mode() { 558 return get($1); 559 }, 560 padding: false, 561 get elem_id() { 562 return gradio.shared.elem_id; 563 }, 564 565 get elem_classes() { 566 return gradio.shared.elem_classes; 567 }, 568 569 get container() { 570 return gradio.shared.container; 571 }, 572 573 get scale() { 574 return gradio.shared.scale; 575 }, 576 577 get min_width() { 578 return gradio.shared.min_width; 579 }, 580 581 get height() { 582 return gradio.props.height; 583 }, 584 585 children: ($$anchor, $$slotProps) => { 586 var fragment_8 = root_8(); 587 var node_6 = first_child(fragment_8); 588 589 Static(node_6, spread_props( 590 { 591 get autoscroll() { 592 return gradio.shared.autoscroll; 593 }, 594 595 get i18n() { 596 return gradio.i18n; 597 } 598 }, 599 () => gradio.shared.loading_status, 600 { 601 on_clear_status: () => gradio.dispatch("clear_status", gradio.shared.loading_status) 602 } 603 )); 604 605 var node_7 = sibling(node_6, 2); 606 607 Model3DUpload(node_7, {
608 get label() { 609 return gradio.shared.label; 610 }, 611 612 get show_label() { 613 return gradio.shared.show_label; 614 }, 615 616 get root() { 617 return gradio.shared.root; 618 }, 619 620 get display_mode() { 621 return gradio.props.display_mode; 622 }, 623 624 get clear_color() { 625 return gradio.props.clear_color; 626 }, 627 628 get camera_position() { 629 return gradio.props.camera_position; 630 }, 631 632 get zoom_speed() { 633 return gradio.props.zoom_speed; 634 }, 635 onchange: handle_change, 636 ondrag: handle_drag, 637 onclear: handle_clear, 638 onload: handle_load, 639 onerror: handle_error, 640 get i18n() { 641 return gradio.i18n; 642 }, 643 644 get max_file_size() { 645 return gradio.shared.max_file_size; 646 }, 647 upload: (...args) => gradio.shared.client.upload(...args), 648 stream_handler: (...args) => gradio.shared.client.stream(...args), 649 get upload_promise() { 650 return get(upload_promise); 651 }, 652 653 set upload_promise($$value) { 654 set(upload_promise, $$value, true); 655 }, 656 657 get value() { 658 return gradio.props.value; 659 }, 660 661 set value($$value) { 662 gradio.props.value = $$value; 663 }, 664 665 get uploading() { 666 return get(uploading); 667 }, 668 669 set uploading($$value) { 670 set(uploading, $$value, true); 671 }, 672 673 children: ($$anchor, $$slotProps) => { 674 UploadText($$anchor, { 675 get i18n() { 676 return gradio.i18n; 677 }, 678 type: 'file' 679 }); 680 }, 681 $$slots: { default: true } 682 }); 683 684 append($$anchor, fragment_8); 685 }, 686 $$slots: { default: true } 687 }); 688 } 689 }; 690 691 if_block(node, ($$render) => { 692 if (!gradio.shared.interactive) $$render(consequent_2); else $$render(alternate_1, false); 693 }); 694 } 695 696 append($$anchor, fragment); 697 pop(); 698} 699 700export { Model3D as BaseModel3D, Model3DUpload as BaseModel3DUpload, Index as default }; 701//# sourceMappingURL=Index-VR1jY_B8.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.