@liveroom-tech/react-immersive 6.1.3 → 6.2.1

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.
Files changed (62) hide show
  1. package/dist/DownloadedEnvironment-NHM4U2LJ.mjs +1 -0
  2. package/dist/{SequencesTab-66VBWTO5.mjs → SequencesTab-VZKEKAUG.mjs} +1 -1
  3. package/dist/StreamingTilesModel-6Z7SIC2J.mjs +16 -0
  4. package/dist/binding-builder.css +1 -1
  5. package/dist/binding-builder.d.mts +3 -3
  6. package/dist/binding-builder.d.ts +3 -3
  7. package/dist/binding-builder.js +59 -58
  8. package/dist/binding-builder.mjs +1 -1
  9. package/dist/chunk-25WC5KDO.mjs +50 -0
  10. package/dist/chunk-2AJK643D.mjs +1 -0
  11. package/dist/chunk-3OCHN3CA.mjs +1 -0
  12. package/dist/chunk-7OVEHDDE.mjs +1 -0
  13. package/dist/chunk-KFLS7GI6.mjs +1 -0
  14. package/dist/{chunk-B75URXOE.mjs → chunk-KYXJG3TX.mjs} +1 -1
  15. package/dist/chunk-LD7QWHB4.mjs +3 -0
  16. package/dist/{chunk-LKKH4PO7.mjs → chunk-NMRTI3NQ.mjs} +1 -1
  17. package/dist/chunk-RKDATTUM.mjs +1 -0
  18. package/dist/chunk-RXZ4Q7CY.mjs +1 -0
  19. package/dist/chunk-TUYVYSN5.mjs +1 -0
  20. package/dist/chunk-UAZ6I25Y.mjs +1 -0
  21. package/dist/chunk-UCD76KQ6.mjs +1 -0
  22. package/dist/chunk-UHRJ2RBF.mjs +1 -0
  23. package/dist/chunk-UTVFRMYW.mjs +47 -0
  24. package/dist/chunk-YKDDNX2D.mjs +69 -0
  25. package/dist/exportSceneMesh-YJFOLFHS.mjs +1 -0
  26. package/dist/hosted.css +1 -1
  27. package/dist/hosted.d.mts +4 -4
  28. package/dist/hosted.d.ts +4 -4
  29. package/dist/hosted.js +58 -57
  30. package/dist/hosted.mjs +1 -1
  31. package/dist/index.css +1 -1
  32. package/dist/index.d.mts +4 -4
  33. package/dist/index.d.ts +4 -4
  34. package/dist/index.js +52 -51
  35. package/dist/index.mjs +1 -1
  36. package/dist/meshFormats-4C6NHYOA.mjs +1 -0
  37. package/dist/{modelViewerProps-Bo48RDq6.d.ts → modelFileResolver-CVmON8hg.d.mts} +459 -895
  38. package/dist/{modelViewerProps-DkvYb1GH.d.mts → modelFileResolver-CVmON8hg.d.ts} +459 -895
  39. package/dist/modelViewerProps-BBnZTFO-.d.ts +949 -0
  40. package/dist/modelViewerProps-CIY4nsNY.d.mts +949 -0
  41. package/dist/{publicProps-DJSccx3b.d.ts → publicProps-BARVwXu7.d.ts} +2 -1
  42. package/dist/{publicProps-DN0-8tBm.d.mts → publicProps-n0Yvr_Km.d.mts} +2 -1
  43. package/dist/simple-model-viewer.css +1 -1
  44. package/dist/simple-model-viewer.d.mts +35 -4
  45. package/dist/simple-model-viewer.d.ts +35 -4
  46. package/dist/simple-model-viewer.js +5 -5
  47. package/dist/simple-model-viewer.mjs +1 -1
  48. package/dist/utils.d.mts +4 -4
  49. package/dist/utils.d.ts +4 -4
  50. package/dist/utils.js +3 -3
  51. package/dist/utils.mjs +1 -1
  52. package/dist/xrRuntime-5S7KYUVB.mjs +1 -0
  53. package/package.json +7 -4
  54. package/dist/chunk-4RYMXBK6.mjs +0 -47
  55. package/dist/chunk-5P7ETEAN.mjs +0 -50
  56. package/dist/chunk-6Q6YZ7O5.mjs +0 -1
  57. package/dist/chunk-EC542N4J.mjs +0 -1
  58. package/dist/chunk-JK7GRGRG.mjs +0 -1
  59. package/dist/chunk-U3BQMOC3.mjs +0 -83
  60. package/dist/chunk-VMYNX63T.mjs +0 -3
  61. package/dist/modelFileResolver-B2B3F3d1.d.mts +0 -464
  62. package/dist/modelFileResolver-B2B3F3d1.d.ts +0 -464
@@ -1,8 +1,9 @@
1
- import { a as ARHandoffOptions } from './modelViewerProps-Bo48RDq6.js';
1
+ import { L as LicenseResult, a as ARHandoffOptions } from './modelViewerProps-BBnZTFO-.js';
2
2
 
3
3
  /** Props of `BindingBuilder`. */
4
4
  type BindingBuilderProps = {
5
5
  licenseKey: string;
6
+ onLicenseStatusChange?: (result: LicenseResult) => void;
6
7
  /** Configured AR preparation in the standalone editor. Default true. */
7
8
  arHandoff?: boolean | ARHandoffOptions;
8
9
  /** Public page running BindingBuilder/ModelViewer with AR restoration enabled. */
@@ -1,8 +1,9 @@
1
- import { a as ARHandoffOptions } from './modelViewerProps-DkvYb1GH.mjs';
1
+ import { L as LicenseResult, a as ARHandoffOptions } from './modelViewerProps-CIY4nsNY.mjs';
2
2
 
3
3
  /** Props of `BindingBuilder`. */
4
4
  type BindingBuilderProps = {
5
5
  licenseKey: string;
6
+ onLicenseStatusChange?: (result: LicenseResult) => void;
6
7
  /** Configured AR preparation in the standalone editor. Default true. */
7
8
  arHandoff?: boolean | ARHandoffOptions;
8
9
  /** Public page running BindingBuilder/ModelViewer with AR restoration enabled. */
@@ -1 +1 @@
1
- .bb-loadingOverlay{position:absolute;inset:0;z-index:var(--ri-ui-z-overlay);display:flex;align-items:center;justify-content:center;padding:16px;background:var(--ri-ui-panel)}.bb-root .bb-loadingOverlay{background:var(--ri-ui-scrim)}.ri-canvasArea .bb-loadingOverlay{z-index:12}.smv-canvasArea .bb-loadingOverlay{z-index:110}.bb-loadingCard{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;box-sizing:border-box;width:min(100%,280px);padding:12px 14px;border:1px solid var(--ri-ui-line);border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-raised);box-shadow:var(--ri-ui-shadow-menu);font-size:12px;line-height:16px;text-align:left}.bb-loadingHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.bb-loadingTitle{min-width:0;overflow:hidden;color:var(--ri-ui-text);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.bb-loadingPercent{flex-shrink:0;color:var(--ri-ui-text-2);font-variant-numeric:tabular-nums}.bb-loadingProgress{height:3px;overflow:hidden;border-radius:2px;background:var(--ri-ui-line-strong)}.bb-loadingProgress__bar{height:100%;border-radius:inherit;background:var(--ri-ui-accent)}.bb-loadingProgress--unknown .bb-loadingProgress__bar{width:35%;animation:bb-loadingSlide 1.2s ease-in-out infinite}@keyframes bb-loadingSlide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media(prefers-reduced-motion:reduce){.bb-loadingProgress--unknown .bb-loadingProgress__bar{width:100%;opacity:.4;animation:none}}.bb-loadingMessage{color:var(--ri-ui-text-3);font-size:11px;line-height:14px;overflow-wrap:anywhere}.ri-viewerSlot{position:relative;width:100%;height:100%;min-width:0;min-height:0}.ri-viewerPlaceholder{position:relative;overflow:hidden}.ri-viewerPlaceholder--inset{position:absolute;inset:0}.ri-poster{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:var(--ri-poster-fit, contain);pointer-events:none;user-select:none;transition:opacity .3s ease}.ri-poster--hidden{opacity:0}[data-reduced-motion] .ri-poster{transition:none}@media(prefers-reduced-motion:reduce){.ri-poster{transition:none}}.ri-revealButton{position:absolute;top:50%;left:50%;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:0;border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-accent);color:var(--ri-ui-on-accent);font:600 14px/1.2 Inter,Segoe UI,Helvetica,Arial,sans-serif;white-space:nowrap;cursor:pointer;transform:translate(-50%,-50%);box-shadow:none}.ri-revealButton:hover{background:var(--ri-ui-accent-hover)}.ri-revealButton:focus-visible{outline:2px solid var(--ri-ui-accent);outline-offset:3px}:where(:root){--ri-ui-gap: #0e0f11;--ri-ui-panel: #17181b;--ri-ui-canvas: #1c1c1e;--ri-ui-raised: #1f2024;--ri-ui-field: #212226;--ri-ui-field-hover: #2a2c31;--ri-ui-hover: rgba(255, 255, 255, .05);--ri-ui-selected: rgba(255, 255, 255, .1);--ri-ui-fill: #3a3c42;--ri-ui-line: #26282d;--ri-ui-line-strong: #34363c;--ri-ui-scrim: rgba(8, 9, 11, .6);--ri-ui-text: #e8e9eb;--ri-ui-text-2: #a3a6ad;--ri-ui-text-3: #7b7e86;--ri-ui-accent: #35c0dc;--ri-ui-accent-hover: #4dcce5;--ri-ui-on-accent: #04222a;--ri-ui-accent-dim: rgba(53, 192, 220, .14);--ri-ui-danger: #f0696d;--ri-ui-danger-dim: rgba(240, 105, 109, .14);--ri-ui-warning: #e8b34b;--ri-ui-warning-dim: rgba(232, 179, 75, .14);--ri-ui-success: #4cc38a;--ri-ui-success-dim: rgba(76, 195, 138, .14);--ri-ui-x: #e5484d;--ri-ui-y: #46a758;--ri-ui-z: #3e8bff;--ri-ui-font: "Inter var", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--ri-ui-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ri-ui-radius-s: 4px;--ri-ui-radius-m: 6px;--ri-ui-shadow-menu: 0 12px 32px rgba(0, 0, 0, .5);--ri-ui-h-control: 24px;--ri-ui-h-row: 28px;--ri-ui-z-overlay: 10;--ri-ui-z-chrome: 20;--ri-ui-z-menu: 40;--ri-ui-z-dialog: 60;--ri-ui-z-toast: 80}:root{--ri-styles-simple-model-viewer: 1}.smv-root{--smv-panel-font-family: var(--ri-ui-font);--smv-panel-bg: var(--ri-ui-panel);--smv-panel-bg-strong: var(--ri-ui-field);--smv-panel-bg-strong-hover: var(--ri-ui-field-hover);--smv-panel-border: var(--ri-ui-line);--smv-panel-border-strong: var(--ri-ui-line-strong);--smv-panel-border-active: var(--ri-ui-accent);--smv-panel-shadow-left: none;--smv-panel-shadow-right: none;--smv-panel-text: var(--ri-ui-text);--smv-panel-text-emphasis: var(--ri-ui-text);--smv-panel-text-muted: var(--ri-ui-text-2);--smv-panel-text-subtle: var(--ri-ui-text-3);--smv-panel-surface: var(--ri-ui-field);--smv-panel-surface-hover: var(--ri-ui-field-hover);--smv-panel-surface-soft: var(--ri-ui-hover);--smv-panel-accent: var(--ri-ui-accent);--smv-panel-accent-contrast: var(--ri-ui-on-accent);position:relative;width:100%;height:100%;min-height:0;overflow:hidden;display:flex;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}.smv-canvasArea{flex:1;position:relative;min-width:0}.smv-upload-input{display:none}.smv-upload-toolbar{position:absolute;top:12px;left:50%;z-index:120;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:5px 6px;border:1px solid var(--smv-panel-border-strong);border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-scrim);color:var(--smv-panel-text);box-shadow:none;transform:translate(-50%)}.smv-upload-toolbar__name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--smv-panel-text-muted);font-size:12px;font-weight:500}.smv-upload-toolbar__button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px;border:1px solid var(--ri-ui-line);border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-field);color:var(--smv-panel-text-emphasis);font-size:12px;font-weight:600;cursor:pointer}.smv-upload-toolbar__button--ghost{background:var(--smv-panel-surface);color:var(--smv-panel-text-muted)}.smv-upload-empty-state{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:24px}.smv-upload-empty-state__card{width:min(440px,100%);padding:28px;border:1px dashed var(--ri-ui-line);border-radius:var(--ri-ui-radius-m);color:var(--smv-panel-text);text-align:center;box-shadow:none}.smv-upload-empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:18px;border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-field);color:var(--ri-ui-text-2)}.smv-upload-empty-state__body{margin:0 0 18px;color:var(--smv-panel-text-muted);font-size:12px;font-weight:600;line-height:1.6}.smv-upload-empty-state__body code{color:var(--smv-panel-text-emphasis);font-family:var(--smv-panel-font-family)}.smv-upload-empty-state__button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;border:none;border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-accent);color:var(--ri-ui-on-accent);font-size:12px;font-weight:600;cursor:pointer}.smv-upload-drop-overlay{position:absolute;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--ri-ui-scrim)}.smv-upload-drop-overlay__card{display:inline-flex;align-items:center;gap:10px;padding:16px 20px;border:1px dashed var(--ri-ui-accent);border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-raised);color:var(--ri-ui-text-2);font-size:12px;font-weight:600;box-shadow:none}.ri-right-panel-wrapper{height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);overflow:visible}.ri-right-panel-wrapper--open{width:300px;flex-shrink:0}.ri-right-panel-wrapper--closed{width:0;flex-shrink:0}.ri-left-panel-wrapper{height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);overflow:visible;order:-1}.ri-left-panel-wrapper--open{width:280px;flex-shrink:0}.ri-left-panel-wrapper--closed{width:0;flex-shrink:0}.ri-side-panel__open-btn.ri-side-panel__open-btn--left{left:12px;right:auto}.ri-side-panel.ri-side-panel--left{left:0;right:auto;width:280px;transform:translate(-100%);border-left:none;border-right:1px solid var(--smv-panel-border);box-shadow:none}.ri-side-panel.ri-side-panel--open-left{transform:translate(0)}.ri-side-panel.ri-side-panel--closed-left{transform:translate(-100%)}.ri-env-controls{display:flex;flex-direction:column;flex:1;overflow-y:auto;font-size:12px;line-height:16px}.ri-env-section{padding-bottom:6px;border-bottom:1px solid var(--smv-panel-border)}.ri-env-section__header{display:flex;align-items:center;gap:6px;width:100%;height:32px;padding:0 12px;border:none;background:transparent;color:var(--smv-panel-text-emphasis);font:inherit;font-weight:600;cursor:pointer}.ri-env-section__header:hover{background:var(--smv-panel-surface-soft)}.ri-env-section__chevron{flex-shrink:0;color:var(--smv-panel-text-subtle);transition:transform .15s}.ri-env-section__chevron--collapsed{transform:rotate(-90deg)}.ri-env-section__body{display:flex;flex-direction:column}.ri-env-row{display:flex;align-items:center;gap:8px;min-height:28px;padding:0 12px}.ri-env-row__label{flex:0 0 52%;overflow:hidden;color:var(--smv-panel-text-muted);text-overflow:ellipsis;white-space:nowrap}.ri-env-row__value{display:flex;flex:1;align-items:center;min-width:0}.ri-env-row__value--slider{gap:8px}.ri-env-checkbox-btn{display:flex;align-items:center;padding:0;border:none;background:none;cursor:pointer}.ri-env-checkbox{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--smv-panel-border-strong);border-radius:3px;background:var(--smv-panel-surface);color:var(--smv-panel-accent-contrast);transition:background .15s,border-color .15s}.ri-env-checkbox--checked{border-color:var(--smv-panel-accent);background:var(--smv-panel-accent)}.ri-env-select{box-sizing:border-box;width:100%;height:24px;padding:0 6px;border:none;border-radius:var(--ri-ui-radius-s);background:var(--smv-panel-surface);color:var(--smv-panel-text);font:inherit;text-transform:capitalize}.ri-env-select:hover{background:var(--smv-panel-surface-hover)}.ri-env-color-swatch{position:relative;display:flex;align-items:center;gap:6px;box-sizing:border-box;width:100%;height:24px;padding:0 6px;border-radius:var(--ri-ui-radius-s);background:var(--smv-panel-surface);cursor:pointer}.ri-env-color-swatch:hover{background:var(--smv-panel-surface-hover)}.ri-env-color-swatch__chip{flex-shrink:0;width:14px;height:14px;border:1px solid var(--smv-panel-border-strong);border-radius:3px}.ri-env-color-swatch__hex{color:var(--smv-panel-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;pointer-events:none}.ri-env-color-swatch__input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;opacity:0;cursor:pointer}.ri-env-slider{flex:1;min-width:0;margin:0;accent-color:var(--smv-panel-accent);cursor:pointer}.ri-env-slider__value{flex-shrink:0;min-width:28px;color:var(--smv-panel-text-muted);font-size:11px;font-variant-numeric:tabular-nums;text-align:right}.ri-env-row__info{flex:1;min-width:0;overflow:hidden;color:var(--smv-panel-text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.ri-env-footer{padding:10px 12px 12px}.ri-env-reset{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:26px;border:1px solid var(--smv-panel-border-strong);border-radius:var(--ri-ui-radius-s);background:transparent;color:var(--smv-panel-text-muted);font:inherit;cursor:pointer}.ri-env-reset:hover{background:var(--smv-panel-surface-soft);color:var(--smv-panel-text)}.ri-env-reset:focus-visible,.ri-env-section__header:focus-visible,.ri-env-checkbox-btn:focus-visible,.ri-env-select:focus-visible,.ri-env-slider:focus-visible,.ri-env-color-swatch:focus-within{outline:2px solid var(--smv-panel-accent);outline-offset:1px}.ri-side-panel__open-btn{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--ri-ui-radius-m);border:1px solid var(--smv-panel-border-strong);background:var(--smv-panel-bg-strong);cursor:pointer;font-size:12px;font-weight:500;color:var(--smv-panel-text);z-index:190;transition:background .15s}.ri-side-panel__open-btn:hover{background:var(--smv-panel-bg-strong-hover)}.ri-side-panel{position:absolute;top:0;right:0;width:300px;height:100%;background:var(--smv-panel-bg);display:flex;flex-direction:column;font-family:var(--smv-panel-font-family);transform:translate(100%);transition:transform .45s cubic-bezier(.4,0,.2,1);z-index:200;border-left:1px solid var(--smv-panel-border);box-shadow:none}.ri-side-panel--open{transform:translate(0)}.ri-side-panel--closed{transform:translate(100%)}.ri-side-panel__header{flex-shrink:0;border-bottom:1px solid var(--smv-panel-border)}.ri-side-panel__header-top{display:flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 12px}.ri-side-panel__eyebrow{overflow:hidden;color:var(--smv-panel-text-emphasis);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ri-side-panel__title{flex-shrink:0;color:var(--smv-panel-text-subtle);font-size:11px;font-variant-numeric:tabular-nums}.ri-side-panel__close-btn{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;margin-left:auto;border:none;border-radius:var(--ri-ui-radius-s);background:transparent;color:var(--smv-panel-text-muted);cursor:pointer;transition:background .15s,color .15s}.ri-side-panel__close-btn:hover{background:var(--smv-panel-surface-hover);color:var(--smv-panel-text)}.ri-side-panel__search-wrap{flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--smv-panel-border)}.ri-side-panel__search{box-sizing:border-box;width:100%;height:26px;padding:0 8px;border:1px solid transparent;border-radius:var(--ri-ui-radius-s);background:var(--smv-panel-surface);color:var(--smv-panel-text);font-size:12px;outline:none;transition:border-color .15s,background .15s}.ri-side-panel__search::placeholder{color:var(--smv-panel-text-subtle)}.ri-side-panel__search:focus{border-color:var(--smv-panel-border-active);background:var(--smv-panel-surface-hover)}.ri-side-panel__list{display:flex;flex-direction:column;overflow-y:auto;flex:1}.ri-side-panel__list::-webkit-scrollbar{width:4px}.ri-side-panel__list::-webkit-scrollbar-track{background:transparent}.ri-side-panel__list::-webkit-scrollbar-thumb{background:var(--smv-panel-surface-hover);border-radius:var(--ri-ui-radius-s)}.ri-side-panel__row{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:0 12px;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--smv-panel-surface-soft)}.ri-side-panel__row:hover,.ri-side-panel__row--hovered{background:var(--smv-panel-surface)}.ri-side-panel__row.ri-side-panel__row--selected{background:var(--ri-ui-accent-dim);color:var(--smv-panel-text-emphasis)}.ri-side-panel__label{font-size:12px;color:var(--smv-panel-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.ri-side-panel__labelButton{min-width:0;padding:0;background:none;border:none;font-family:var(--ri-ui-font);text-align:left;cursor:pointer}.ri-side-panel__labelButton:focus-visible{outline:2px solid var(--smv-panel-text);outline-offset:2px;border-radius:var(--ri-ui-radius-s)}.ri-side-panel__label--hovered{color:var(--smv-panel-text-emphasis)}.ri-side-panel__vis-btn{display:flex;align-items:center;flex-shrink:0;cursor:pointer;background:none;border:none;padding:0;margin-left:10px}.ri-side-panel__checkbox{width:16px;height:16px;border-radius:var(--ri-ui-radius-s);border:1.5px solid var(--smv-panel-border-active);background:transparent;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.ri-side-panel__checkbox--checked{background:var(--smv-panel-accent);border-color:var(--smv-panel-accent)}@media(max-width:900px){.smv-upload-toolbar{top:56px;gap:8px;max-width:calc(100% - 24px);padding:8px 10px}.smv-upload-toolbar__name{max-width:140px}.ri-right-panel-wrapper--open,.ri-left-panel-wrapper--open{width:0}.ri-side-panel,.ri-side-panel.ri-side-panel--left{width:min(300px,85vw)}}.smv-largeModelBanner{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-scrim);border:1px solid var(--ri-ui-warning);color:var(--ri-ui-warning);font-size:12px;font-weight:500;line-height:1.4;pointer-events:auto;max-width:calc(100% - 32px);text-align:center}.smv-largeModelBanner__icon{flex-shrink:0}.smv-largeModelBanner__dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:4px;padding:2px;background:none;border:none;border-radius:var(--ri-ui-radius-s);color:var(--ri-ui-warning);cursor:pointer;transition:color .15s ease,background .15s ease}.smv-largeModelBanner__dismiss:hover{color:var(--ri-ui-warning);background:var(--ri-ui-warning-dim)}.smv-root[data-reduced-motion] *,.smv-root[data-reduced-motion] *:before,.smv-root[data-reduced-motion] *:after{transition-duration:0s;transition-delay:0s}
1
+ .bb-loadingOverlay{position:absolute;inset:0;z-index:var(--ri-ui-z-overlay);display:flex;align-items:center;justify-content:center;padding:16px;background:var(--ri-ui-panel)}.bb-root .bb-loadingOverlay{background:var(--ri-ui-scrim)}.ri-canvasArea .bb-loadingOverlay{z-index:12}.smv-canvasArea .bb-loadingOverlay{z-index:110}.bb-loadingCard{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;box-sizing:border-box;width:min(100%,280px);padding:12px 14px;border:1px solid var(--ri-ui-line);border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-raised);box-shadow:var(--ri-ui-shadow-menu);font-size:12px;line-height:16px;text-align:left}.bb-loadingHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.bb-loadingTitle{min-width:0;overflow:hidden;color:var(--ri-ui-text);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.bb-loadingPercent{flex-shrink:0;color:var(--ri-ui-text-2);font-variant-numeric:tabular-nums}.bb-loadingProgress{height:3px;overflow:hidden;border-radius:2px;background:var(--ri-ui-line-strong)}.bb-loadingProgress__bar{height:100%;border-radius:inherit;background:var(--ri-ui-accent)}.bb-loadingProgress--unknown .bb-loadingProgress__bar{width:35%;animation:bb-loadingSlide 1.2s ease-in-out infinite}@keyframes bb-loadingSlide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media(prefers-reduced-motion:reduce){.bb-loadingProgress--unknown .bb-loadingProgress__bar{width:100%;opacity:.4;animation:none}}.bb-loadingMessage{color:var(--ri-ui-text-3);font-size:11px;line-height:14px;overflow-wrap:anywhere}.bb-loadingOverlay--light{--ri-ui-raised: #ffffff;--ri-ui-line: #e4e5e9;--ri-ui-line-strong: #d6d8dd;--ri-ui-text: #1d1e22;--ri-ui-text-2: #5c5f67;--ri-ui-shadow-menu: 0 8px 24px rgba(15, 17, 20, .12)}.ri-viewerSlot{position:relative;width:100%;height:100%;min-width:0;min-height:0}.ri-viewerPlaceholder{position:relative;overflow:hidden}.ri-viewerPlaceholder--inset{position:absolute;inset:0}.ri-poster{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:var(--ri-poster-fit, contain);pointer-events:none;user-select:none;transition:opacity .3s ease}.ri-poster--hidden{opacity:0}[data-reduced-motion] .ri-poster{transition:none}@media(prefers-reduced-motion:reduce){.ri-poster{transition:none}}.ri-revealButton{position:absolute;top:50%;left:50%;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:0;border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-accent);color:var(--ri-ui-on-accent);font:600 14px/1.2 Inter,Segoe UI,Helvetica,Arial,sans-serif;white-space:nowrap;cursor:pointer;transform:translate(-50%,-50%);box-shadow:none}.ri-revealButton:hover{background:var(--ri-ui-accent-hover)}.ri-revealButton:focus-visible{outline:2px solid var(--ri-ui-accent);outline-offset:3px}:where(:root){--ri-ui-gap: #0e0f11;--ri-ui-panel: #17181b;--ri-ui-canvas: #1c1c1e;--ri-ui-raised: #1f2024;--ri-ui-field: #212226;--ri-ui-field-hover: #2a2c31;--ri-ui-hover: rgba(255, 255, 255, .05);--ri-ui-selected: rgba(255, 255, 255, .1);--ri-ui-fill: #3a3c42;--ri-ui-line: #26282d;--ri-ui-line-strong: #34363c;--ri-ui-scrim: rgba(8, 9, 11, .6);--ri-ui-text: #e8e9eb;--ri-ui-text-2: #a3a6ad;--ri-ui-text-3: #7b7e86;--ri-ui-accent: #35c0dc;--ri-ui-accent-hover: #4dcce5;--ri-ui-on-accent: #04222a;--ri-ui-accent-dim: rgba(53, 192, 220, .14);--ri-ui-danger: #f0696d;--ri-ui-danger-dim: rgba(240, 105, 109, .14);--ri-ui-warning: #e8b34b;--ri-ui-warning-dim: rgba(232, 179, 75, .14);--ri-ui-success: #4cc38a;--ri-ui-success-dim: rgba(76, 195, 138, .14);--ri-ui-x: #e5484d;--ri-ui-y: #46a758;--ri-ui-z: #3e8bff;--ri-ui-font: "Inter var", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--ri-ui-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ri-ui-radius-s: 4px;--ri-ui-radius-m: 6px;--ri-ui-shadow-menu: 0 12px 32px rgba(0, 0, 0, .5);--ri-ui-h-control: 24px;--ri-ui-h-row: 28px;--ri-ui-z-overlay: 10;--ri-ui-z-chrome: 20;--ri-ui-z-menu: 40;--ri-ui-z-dialog: 60;--ri-ui-z-toast: 80}:root{--ri-styles-simple-model-viewer: 1}.smv-root{--smv-panel-font-family: var(--ri-ui-font);--smv-panel-bg: var(--ri-ui-panel);--smv-panel-bg-strong: var(--ri-ui-field);--smv-panel-bg-strong-hover: var(--ri-ui-field-hover);--smv-panel-border: var(--ri-ui-line);--smv-panel-border-strong: var(--ri-ui-line-strong);--smv-panel-border-active: var(--ri-ui-accent);--smv-panel-shadow-left: none;--smv-panel-shadow-right: none;--smv-panel-text: var(--ri-ui-text);--smv-panel-text-emphasis: var(--ri-ui-text);--smv-panel-text-muted: var(--ri-ui-text-2);--smv-panel-text-subtle: var(--ri-ui-text-3);--smv-panel-surface: var(--ri-ui-field);--smv-panel-surface-hover: var(--ri-ui-field-hover);--smv-panel-surface-soft: var(--ri-ui-hover);--smv-panel-accent: var(--ri-ui-accent);--smv-panel-accent-contrast: var(--ri-ui-on-accent);position:relative;width:100%;height:100%;min-height:0;overflow:hidden;display:flex;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}.smv-canvasArea{flex:1;position:relative;min-width:0}.smv-upload-input{display:none}.smv-upload-toolbar{position:absolute;top:12px;left:50%;z-index:120;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:5px 6px;border:1px solid var(--smv-panel-border-strong);border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-scrim);color:var(--smv-panel-text);box-shadow:none;transform:translate(-50%)}.smv-upload-toolbar__name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--smv-panel-text-muted);font-size:12px;font-weight:500}.smv-upload-toolbar__button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px;border:1px solid var(--ri-ui-line);border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-field);color:var(--smv-panel-text-emphasis);font-size:12px;font-weight:600;cursor:pointer}.smv-upload-toolbar__button--ghost{background:var(--smv-panel-surface);color:var(--smv-panel-text-muted)}.smv-upload-empty-state{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:24px}.smv-upload-empty-state__card{width:min(440px,100%);padding:28px;border:1px dashed var(--ri-ui-line);border-radius:var(--ri-ui-radius-m);color:var(--smv-panel-text);text-align:center;box-shadow:none}.smv-upload-empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:18px;border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-field);color:var(--ri-ui-text-2)}.smv-upload-empty-state__body{margin:0 0 18px;color:var(--smv-panel-text-muted);font-size:12px;font-weight:600;line-height:1.6}.smv-upload-empty-state__body code{color:var(--smv-panel-text-emphasis);font-family:var(--smv-panel-font-family)}.smv-upload-empty-state__button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;border:none;border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-accent);color:var(--ri-ui-on-accent);font-size:12px;font-weight:600;cursor:pointer}.smv-upload-drop-overlay{position:absolute;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--ri-ui-scrim)}.smv-upload-drop-overlay__card{display:inline-flex;align-items:center;gap:10px;padding:16px 20px;border:1px dashed var(--ri-ui-accent);border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-raised);color:var(--ri-ui-text-2);font-size:12px;font-weight:600;box-shadow:none}.ri-right-panel-wrapper{height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);overflow:visible}.ri-right-panel-wrapper--open{width:300px;flex-shrink:0}.ri-right-panel-wrapper--closed{width:0;flex-shrink:0}.ri-left-panel-wrapper{height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);overflow:visible;order:-1}.ri-left-panel-wrapper--open{width:280px;flex-shrink:0}.ri-left-panel-wrapper--closed{width:0;flex-shrink:0}.ri-side-panel__open-btn.ri-side-panel__open-btn--left{left:12px;right:auto}.ri-side-panel.ri-side-panel--left{left:0;right:auto;width:280px;transform:translate(-100%);border-left:none;border-right:1px solid var(--smv-panel-border);box-shadow:none}.ri-side-panel.ri-side-panel--open-left{transform:translate(0)}.ri-side-panel.ri-side-panel--closed-left{transform:translate(-100%)}.ri-env-controls{display:flex;flex-direction:column;flex:1;overflow-y:auto;font-size:12px;line-height:16px}.ri-env-section{padding-bottom:6px;border-bottom:1px solid var(--smv-panel-border)}.ri-env-section__header{display:flex;align-items:center;gap:6px;width:100%;height:32px;padding:0 12px;border:none;background:transparent;color:var(--smv-panel-text-emphasis);font:inherit;font-weight:600;cursor:pointer}.ri-env-section__header:hover{background:var(--smv-panel-surface-soft)}.ri-env-section__chevron{flex-shrink:0;color:var(--smv-panel-text-subtle);transition:transform .15s}.ri-env-section__chevron--collapsed{transform:rotate(-90deg)}.ri-env-section__body{display:flex;flex-direction:column}.ri-env-row{display:flex;align-items:center;gap:8px;min-height:28px;padding:0 12px}.ri-env-row__label{flex:0 0 52%;overflow:hidden;color:var(--smv-panel-text-muted);text-overflow:ellipsis;white-space:nowrap}.ri-env-row__value{display:flex;flex:1;align-items:center;min-width:0}.ri-env-row__value--slider{gap:8px}.ri-env-checkbox-btn{display:flex;align-items:center;padding:0;border:none;background:none;cursor:pointer}.ri-env-checkbox{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--smv-panel-border-strong);border-radius:3px;background:var(--smv-panel-surface);color:var(--smv-panel-accent-contrast);transition:background .15s,border-color .15s}.ri-env-checkbox--checked{border-color:var(--smv-panel-accent);background:var(--smv-panel-accent)}.ri-env-select{box-sizing:border-box;width:100%;height:24px;padding:0 6px;border:none;border-radius:var(--ri-ui-radius-s);background:var(--smv-panel-surface);color:var(--smv-panel-text);font:inherit;text-transform:capitalize}.ri-env-select:hover{background:var(--smv-panel-surface-hover)}.ri-env-color-swatch{position:relative;display:flex;align-items:center;gap:6px;box-sizing:border-box;width:100%;height:24px;padding:0 6px;border-radius:var(--ri-ui-radius-s);background:var(--smv-panel-surface);cursor:pointer}.ri-env-color-swatch:hover{background:var(--smv-panel-surface-hover)}.ri-env-color-swatch__chip{flex-shrink:0;width:14px;height:14px;border:1px solid var(--smv-panel-border-strong);border-radius:3px}.ri-env-color-swatch__hex{color:var(--smv-panel-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;pointer-events:none}.ri-env-color-swatch__input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;opacity:0;cursor:pointer}.ri-env-slider{flex:1;min-width:0;margin:0;accent-color:var(--smv-panel-accent);cursor:pointer}.ri-env-slider__value{flex-shrink:0;min-width:28px;color:var(--smv-panel-text-muted);font-size:11px;font-variant-numeric:tabular-nums;text-align:right}.ri-env-row__info{flex:1;min-width:0;overflow:hidden;color:var(--smv-panel-text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.ri-env-footer{padding:10px 12px 12px}.ri-env-reset{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:26px;border:1px solid var(--smv-panel-border-strong);border-radius:var(--ri-ui-radius-s);background:transparent;color:var(--smv-panel-text-muted);font:inherit;cursor:pointer}.ri-env-reset:hover{background:var(--smv-panel-surface-soft);color:var(--smv-panel-text)}.ri-env-reset:focus-visible,.ri-env-section__header:focus-visible,.ri-env-checkbox-btn:focus-visible,.ri-env-select:focus-visible,.ri-env-slider:focus-visible,.ri-env-color-swatch:focus-within{outline:2px solid var(--smv-panel-accent);outline-offset:1px}.ri-side-panel__open-btn{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--ri-ui-radius-m);border:1px solid var(--smv-panel-border-strong);background:var(--smv-panel-bg-strong);cursor:pointer;font-size:12px;font-weight:500;color:var(--smv-panel-text);z-index:190;transition:background .15s}.ri-side-panel__open-btn:hover{background:var(--smv-panel-bg-strong-hover)}.ri-side-panel{position:absolute;top:0;right:0;width:300px;height:100%;background:var(--smv-panel-bg);display:flex;flex-direction:column;font-family:var(--smv-panel-font-family);transform:translate(100%);transition:transform .45s cubic-bezier(.4,0,.2,1);z-index:200;border-left:1px solid var(--smv-panel-border);box-shadow:none}.ri-side-panel--open{transform:translate(0)}.ri-side-panel--closed{transform:translate(100%)}.ri-side-panel__header{flex-shrink:0;border-bottom:1px solid var(--smv-panel-border)}.ri-side-panel__header-top{display:flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 12px}.ri-side-panel__eyebrow{overflow:hidden;color:var(--smv-panel-text-emphasis);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ri-side-panel__title{flex-shrink:0;color:var(--smv-panel-text-subtle);font-size:11px;font-variant-numeric:tabular-nums}.ri-side-panel__close-btn{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;margin-left:auto;border:none;border-radius:var(--ri-ui-radius-s);background:transparent;color:var(--smv-panel-text-muted);cursor:pointer;transition:background .15s,color .15s}.ri-side-panel__close-btn:hover{background:var(--smv-panel-surface-hover);color:var(--smv-panel-text)}.ri-side-panel__search-wrap{flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--smv-panel-border)}.ri-side-panel__search{box-sizing:border-box;width:100%;height:26px;padding:0 8px;border:1px solid transparent;border-radius:var(--ri-ui-radius-s);background:var(--smv-panel-surface);color:var(--smv-panel-text);font-size:12px;outline:none;transition:border-color .15s,background .15s}.ri-side-panel__search::placeholder{color:var(--smv-panel-text-subtle)}.ri-side-panel__search:focus{border-color:var(--smv-panel-border-active);background:var(--smv-panel-surface-hover)}.ri-side-panel__list{display:flex;flex-direction:column;overflow-y:auto;flex:1}.ri-side-panel__list::-webkit-scrollbar{width:4px}.ri-side-panel__list::-webkit-scrollbar-track{background:transparent}.ri-side-panel__list::-webkit-scrollbar-thumb{background:var(--smv-panel-surface-hover);border-radius:var(--ri-ui-radius-s)}.ri-side-panel__row{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:0 12px;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--smv-panel-surface-soft)}.ri-side-panel__row:hover,.ri-side-panel__row--hovered{background:var(--smv-panel-surface)}.ri-side-panel__row.ri-side-panel__row--selected{background:var(--ri-ui-accent-dim);color:var(--smv-panel-text-emphasis)}.ri-side-panel__label{font-size:12px;color:var(--smv-panel-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.ri-side-panel__labelButton{min-width:0;padding:0;background:none;border:none;font-family:var(--ri-ui-font);text-align:left;cursor:pointer}.ri-side-panel__labelButton:focus-visible{outline:2px solid var(--smv-panel-text);outline-offset:2px;border-radius:var(--ri-ui-radius-s)}.ri-side-panel__label--hovered{color:var(--smv-panel-text-emphasis)}.ri-side-panel__vis-btn{display:flex;align-items:center;flex-shrink:0;cursor:pointer;background:none;border:none;padding:0;margin-left:10px}.ri-side-panel__checkbox{width:16px;height:16px;border-radius:var(--ri-ui-radius-s);border:1.5px solid var(--smv-panel-border-active);background:transparent;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.ri-side-panel__checkbox--checked{background:var(--smv-panel-accent);border-color:var(--smv-panel-accent)}@media(max-width:900px){.smv-upload-toolbar{top:56px;gap:8px;max-width:calc(100% - 24px);padding:8px 10px}.smv-upload-toolbar__name{max-width:140px}.ri-right-panel-wrapper--open,.ri-left-panel-wrapper--open{width:0}.ri-side-panel,.ri-side-panel.ri-side-panel--left{width:min(300px,85vw)}}.smv-largeModelBanner{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:var(--ri-ui-radius-m);background:var(--ri-ui-scrim);border:1px solid var(--ri-ui-warning);color:var(--ri-ui-warning);font-size:12px;font-weight:500;line-height:1.4;pointer-events:auto;max-width:calc(100% - 32px);text-align:center}.smv-largeModelBanner__icon{flex-shrink:0}.smv-largeModelBanner__dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:4px;padding:2px;background:none;border:none;border-radius:var(--ri-ui-radius-s);color:var(--ri-ui-warning);cursor:pointer;transition:color .15s ease,background .15s ease}.smv-largeModelBanner__dismiss:hover{color:var(--ri-ui-warning);background:var(--ri-ui-warning-dim)}.smv-root[data-reduced-motion] *,.smv-root[data-reduced-motion] *:before,.smv-root[data-reduced-motion] *:after{transition-duration:0s;transition-delay:0s}.smv-reset-camera{position:absolute;bottom:12px;right:12px;z-index:3;border:1px solid var(--ri-ui-line);border-radius:6px;padding:8px 12px;background:var(--ri-ui-panel);color:var(--ri-ui-text);cursor:pointer}.smv-reset-camera:focus-visible{outline:2px solid currentColor;outline-offset:3px}.smv-load-error{position:absolute;inset:16px;margin:auto;width:min(440px,calc(100% - 32px));height:fit-content;z-index:5;padding:20px;border:1px solid var(--ri-ui-line);border-radius:10px;background:var(--ri-ui-panel);color:var(--ri-ui-text)}.smv-load-error p{margin:10px 0}.smv-load-error button{padding:8px 12px;cursor:pointer}.smv-load-error button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@@ -1,7 +1,6 @@
1
1
  import * as react from 'react';
2
- import { d as ModelViewerLabels, V as ViewerLoading, g as ViewerReveal, b as ModelFormat, R as ReducedMotionSetting, f as ViewerModelInfo } from './modelFileResolver-B2B3F3d1.mjs';
3
- export { D as DEFAULT_MODEL_VIEWER_LABELS, M as MaterialVariantGroup, a as MaterialVariantOption, c as ModelViewerLabelKey, e as ViewerModelBounds } from './modelFileResolver-B2B3F3d1.mjs';
4
- import { PresetsType } from '@react-three/drei/helpers/environment-assets';
2
+ import { J as ModelViewerLabels, bh as ViewerLoading, bk as ViewerReveal, F as ModelFormat, j as CameraLimits, ar as ReducedMotionSetting, E as EnvironmentPreset, bj as ViewerModelInfo } from './modelFileResolver-CVmON8hg.mjs';
3
+ export { D as DEFAULT_MODEL_VIEWER_LABELS, p as MaterialVariantGroup, q as MaterialVariantOption, H as ModelViewerLabelKey, bi as ViewerModelBounds } from './modelFileResolver-CVmON8hg.mjs';
5
4
 
6
5
  /** How the render's colors are mapped to the screen. */
7
6
  type ViewerToneMapping = "aces" | "agx" | "neutral" | "none";
@@ -41,7 +40,31 @@ type SimpleModelViewerProps = {
41
40
  zoomOnSelected?: boolean;
42
41
  highlightOnHover?: boolean;
43
42
  showLoadingOverlay?: boolean;
43
+ /**
44
+ * Show the built-in message with a retry button when the model fails to load.
45
+ * Defaults to true. Set false when `onLoadError` drives your own error UI.
46
+ */
47
+ showLoadError?: boolean;
44
48
  refitOnResize?: boolean;
49
+ /** Camera limits in scene units/degrees. Default zoom range scales to the model. */
50
+ cameraLimits?: CameraLimits;
51
+ /** Show a camera reset button. Defaults to true. */
52
+ showResetButton?: boolean;
53
+ /**
54
+ * Space left around the model when it's framed, as a fraction of its
55
+ * largest dimension. Defaults to 0.1. While it auto-rotates, the framing
56
+ * also allows for its spin so no part leaves the view.
57
+ */
58
+ fitPadding?: number;
59
+ /** Wheel, pinch and middle-drag zoom. Defaults to true. */
60
+ zoom?: boolean;
61
+ /**
62
+ * For a viewer inside a scrolling page: the mouse wheel scrolls the page
63
+ * (hold Ctrl or ⌘ to zoom; a trackpad pinch still zooms), and on touch
64
+ * screens a vertical swipe scrolls the page while a sideways drag rotates.
65
+ * Defaults to false.
66
+ */
67
+ pageScroll?: boolean;
45
68
  /**
46
69
  * Cuts motion the viewer starts on its own: auto-rotate doesn't start, and
47
70
  * camera moves jump instead of gliding. `"user"` (default) follows the
@@ -51,7 +74,15 @@ type SimpleModelViewerProps = {
51
74
  reducedMotion?: ReducedMotionSetting;
52
75
  backgroundEnabled?: boolean;
53
76
  autoRotate?: boolean;
54
- envPreset?: PresetsType;
77
+ /**
78
+ * Lighting preset. `"neutral"` (default) is a studio built into the
79
+ * package; the others are downloaded from a public CDN when chosen.
80
+ */
81
+ envPreset?: EnvironmentPreset;
82
+ /** Self-hosted HDR environment; overrides envPreset without a preset request. */
83
+ environmentUrl?: string;
84
+ /** Disable environment-map loading; ambient and directional lights remain. */
85
+ environmentEnabled?: boolean;
55
86
  exposure?: number;
56
87
  ambientIntensity?: number;
57
88
  ambientColor?: string;
@@ -1,7 +1,6 @@
1
1
  import * as react from 'react';
2
- import { d as ModelViewerLabels, V as ViewerLoading, g as ViewerReveal, b as ModelFormat, R as ReducedMotionSetting, f as ViewerModelInfo } from './modelFileResolver-B2B3F3d1.js';
3
- export { D as DEFAULT_MODEL_VIEWER_LABELS, M as MaterialVariantGroup, a as MaterialVariantOption, c as ModelViewerLabelKey, e as ViewerModelBounds } from './modelFileResolver-B2B3F3d1.js';
4
- import { PresetsType } from '@react-three/drei/helpers/environment-assets';
2
+ import { J as ModelViewerLabels, bh as ViewerLoading, bk as ViewerReveal, F as ModelFormat, j as CameraLimits, ar as ReducedMotionSetting, E as EnvironmentPreset, bj as ViewerModelInfo } from './modelFileResolver-CVmON8hg.js';
3
+ export { D as DEFAULT_MODEL_VIEWER_LABELS, p as MaterialVariantGroup, q as MaterialVariantOption, H as ModelViewerLabelKey, bi as ViewerModelBounds } from './modelFileResolver-CVmON8hg.js';
5
4
 
6
5
  /** How the render's colors are mapped to the screen. */
7
6
  type ViewerToneMapping = "aces" | "agx" | "neutral" | "none";
@@ -41,7 +40,31 @@ type SimpleModelViewerProps = {
41
40
  zoomOnSelected?: boolean;
42
41
  highlightOnHover?: boolean;
43
42
  showLoadingOverlay?: boolean;
43
+ /**
44
+ * Show the built-in message with a retry button when the model fails to load.
45
+ * Defaults to true. Set false when `onLoadError` drives your own error UI.
46
+ */
47
+ showLoadError?: boolean;
44
48
  refitOnResize?: boolean;
49
+ /** Camera limits in scene units/degrees. Default zoom range scales to the model. */
50
+ cameraLimits?: CameraLimits;
51
+ /** Show a camera reset button. Defaults to true. */
52
+ showResetButton?: boolean;
53
+ /**
54
+ * Space left around the model when it's framed, as a fraction of its
55
+ * largest dimension. Defaults to 0.1. While it auto-rotates, the framing
56
+ * also allows for its spin so no part leaves the view.
57
+ */
58
+ fitPadding?: number;
59
+ /** Wheel, pinch and middle-drag zoom. Defaults to true. */
60
+ zoom?: boolean;
61
+ /**
62
+ * For a viewer inside a scrolling page: the mouse wheel scrolls the page
63
+ * (hold Ctrl or ⌘ to zoom; a trackpad pinch still zooms), and on touch
64
+ * screens a vertical swipe scrolls the page while a sideways drag rotates.
65
+ * Defaults to false.
66
+ */
67
+ pageScroll?: boolean;
45
68
  /**
46
69
  * Cuts motion the viewer starts on its own: auto-rotate doesn't start, and
47
70
  * camera moves jump instead of gliding. `"user"` (default) follows the
@@ -51,7 +74,15 @@ type SimpleModelViewerProps = {
51
74
  reducedMotion?: ReducedMotionSetting;
52
75
  backgroundEnabled?: boolean;
53
76
  autoRotate?: boolean;
54
- envPreset?: PresetsType;
77
+ /**
78
+ * Lighting preset. `"neutral"` (default) is a studio built into the
79
+ * package; the others are downloaded from a public CDN when chosen.
80
+ */
81
+ envPreset?: EnvironmentPreset;
82
+ /** Self-hosted HDR environment; overrides envPreset without a preset request. */
83
+ environmentUrl?: string;
84
+ /** Disable environment-map loading; ambient and directional lights remain. */
85
+ environmentEnabled?: boolean;
55
86
  exposure?: number;
56
87
  ambientIntensity?: number;
57
88
  ambientColor?: string;