shop-components 0.1.42 → 0.1.44

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.
@@ -38,7 +38,7 @@ export declare class DeviceViewer extends LitElement {
38
38
  sizeHeight: HTMLDivElement | undefined;
39
39
  fit: () => void;
40
40
  generateBVH: () => void;
41
- download: () => string;
41
+ download: () => Promise<void>;
42
42
  clearAMR: () => void;
43
43
  exportAMR: () => Promise<void>;
44
44
  addAMR: () => void;
@@ -125,7 +125,7 @@ export declare class Scene3D {
125
125
  private _detectTrackpad;
126
126
  private _initEvents;
127
127
  generateBVH(): Promise<void>;
128
- download(): string;
128
+ download(): Promise<string>;
129
129
  clearAMR(): void;
130
130
  exportAMR(): Promise<ArrayBuffer | {
131
131
  [key: string]: any;
@@ -52,6 +52,7 @@ export declare class Slot extends CSS2DObject {
52
52
  holeTarget: Object3D | undefined;
53
53
  private _showSlot;
54
54
  constructor(props: SlotProps);
55
+ private _preventDefaults;
55
56
  shapeKeyChanged(key: string, value: number): void;
56
57
  loadGlb(sglb: string): Promise<Object3D<import("three").Object3DEventMap> | undefined>;
57
58
  installBracket(url: string): Promise<void>;
@@ -57405,17 +57405,21 @@ const xi = {
57405
57405
  class lI extends Iv {
57406
57406
  constructor(A) {
57407
57407
  const e = document.createElement("div");
57408
- super(e), this.props = A, this._emitter = new Vr(), this._slotContainer = new St(), this._bracketSlots = [], this._hasError = !1, this.useBracket = !1, this.addEventListener = this._emitter.addListener.bind(this._emitter), this.removeEventListener = this._emitter.removeListener.bind(this._emitter), this._canInstall = !1, this._loading = !1, this._selected = !1, this._deviceSelected = !1, this._allFunctions = /* @__PURE__ */ new Set(), this._functions = /* @__PURE__ */ new Set(), this._timer = 0, this._parentPos = new O(), this._wrapper = new St(), this._showSlot = !0, this.getWP = this._slotContainer.getWorldPosition.bind(this._slotContainer), this._showSlot = typeof A.show == "boolean" ? A.show : !0, this.name = A.name, this._slotUI = new qt({ name: A.name }), this._slotUI.slot = this, this._slotUI.hide = !this._showSlot, e.append(this._slotUI), this._parentPos.copy(this.props.slot.position), this._slotUI.addEventListener("function-removed", ({ detail: t }) => {
57408
+ super(e), this.props = A, this._emitter = new Vr(), this._slotContainer = new St(), this._bracketSlots = [], this._hasError = !1, this.useBracket = !1, this.addEventListener = this._emitter.addListener.bind(this._emitter), this.removeEventListener = this._emitter.removeListener.bind(this._emitter), this._canInstall = !1, this._loading = !1, this._selected = !1, this._deviceSelected = !1, this._allFunctions = /* @__PURE__ */ new Set(), this._functions = /* @__PURE__ */ new Set(), this._timer = 0, this._parentPos = new O(), this._wrapper = new St(), this._showSlot = !0, this._preventDefaults = (t) => {
57409
+ t.preventDefault(), t.stopPropagation();
57410
+ }, this.getWP = this._slotContainer.getWorldPosition.bind(this._slotContainer), this._showSlot = typeof A.show == "boolean" ? A.show : !0, this.name = A.name, this._slotUI = new qt({ name: A.name }), this._slotUI.slot = this, this._slotUI.hide = !this._showSlot, e.append(this._slotUI), this._parentPos.copy(this.props.slot.position), this._slotUI.addEventListener("function-removed", ({ detail: t }) => {
57409
57411
  this.removeFunction(t);
57410
57412
  }), this._slotUI.addEventListener("function-added", ({ detail: t }) => {
57411
57413
  this.addFunction(t);
57412
57414
  }), this.add(this._slotContainer), this.props.slot.add(this), setTimeout(() => {
57413
57415
  var t;
57414
57416
  (t = this.props.slot.parent) == null || t.add(this._wrapper), this._wrapper.add(this.props.slot);
57415
- }, 10), e.addEventListener("click", (t) => {
57417
+ }, 10), ["dragenter", "dragover", "dragleave", "drop"].forEach((t) => {
57418
+ e.addEventListener(t, this._preventDefaults, !1);
57419
+ }), e.addEventListener("click", (t) => {
57416
57420
  t.preventDefault(), t.stopPropagation(), this.selected = !this.selected;
57417
57421
  }), e.addEventListener("dragover", (t) => {
57418
- if (t.preventDefault(), !this._canInstall) {
57422
+ if (t.preventDefault(), t.dataTransfer.dropEffect = "copy", !this._canInstall) {
57419
57423
  t.dataTransfer && (t.dataTransfer.dropEffect = "none");
57420
57424
  return;
57421
57425
  }
@@ -57565,7 +57569,9 @@ class lI extends Iv {
57565
57569
  this._canInstall = A, this._slotUI.canInstall = A;
57566
57570
  }
57567
57571
  dispose() {
57568
- cancelAnimationFrame(this._timer), this.clearSlot(), this._emitter.removeAllListeners(), Ni(this._slotContainer), this.element.remove();
57572
+ cancelAnimationFrame(this._timer), ["dragenter", "dragover", "dragleave", "drop"].forEach((A) => {
57573
+ this.element.addEventListener(A, this._preventDefaults, !1);
57574
+ }), this.clearSlot(), this._emitter.removeAllListeners(), Ni(this._slotContainer), this.element.remove();
57569
57575
  }
57570
57576
  render(A) {
57571
57577
  const e = this.element.style.transform, t = /translate\(-?\d*\.?\d*%?,?\s-?\d*\.?\d*%?\)\s*translate\((-?\d*\.?\d*)px,\s*(-?\d*\.?\d*)px\)/.exec(e);
@@ -62528,7 +62534,7 @@ class mK extends Ie {
62528
62534
  this._app = A, this.sizeBox.init(A), this.addEventListener("shape-key-changed", (e, t) => {
62529
62535
  this._slots.forEach((i) => i.shapeKeyChanged(e, t)), this.sizeBox.follow === e ? (this.sizeBox.generate(this._container, t), this.sizeBox.originOffset && (this._container.traverse((i) => {
62530
62536
  i instanceof Pe && !i.userData.isDevice && !i.userData.isBracket && i.geometry.translate(this.sizeBox.originOffset - this.sizeBox.translateCache, 0, 0), i instanceof lI && i.parent && i.parent.position.add(new O(this.sizeBox.originOffset - this.sizeBox.translateCache, 0, 0));
62531
- }), this.sizeBox.translateCache = this.sizeBox.originOffset, this.sizeBox.generate(this._container))) : this.sizeBox.generate(this._container);
62537
+ }), this.sizeBox.translateCache = this.sizeBox.originOffset, this.sizeBox.generate(this._container))) : this.sizeBox.generate(this._container), ["width", "length", "height"].includes(e) && this._emitter.emit("size-changed", e, t);
62532
62538
  });
62533
62539
  }
62534
62540
  async load(A) {
@@ -62542,7 +62548,7 @@ class mK extends Ie {
62542
62548
  return;
62543
62549
  e = i.glb;
62544
62550
  }
62545
- this._generateAmr(e.clone(!0)), e = null;
62551
+ this._generateAmr(e.clone(!0)), e = null, this._emitter.emit("amr-loaded");
62546
62552
  }
62547
62553
  changeSkin(A, e) {
62548
62554
  A && (A.change(e), this._app && this._app.usePathTracing && (this._app.sampleCount = 0, this._app.pathTracer.reset(), this._app.pathTracer.updateMaterials()));
@@ -65173,8 +65179,15 @@ class lH {
65173
65179
  A.target.updateMatrixWorld(!0), e.applyMatrix4(A.target.matrixWorld), e.add(A.target), this.overlayScene.add(e);
65174
65180
  })), this.usePathTracing = !0, this.pathTracer.setScene(this.scene, this.camera);
65175
65181
  }
65176
- download() {
65177
- return this.renderer.domElement.toDataURL("image/png");
65182
+ async download() {
65183
+ return this.usePathTracing ? Promise.resolve(this.renderer.domElement.toDataURL("image/png")) : new Promise((A, e) => {
65184
+ this.amr.sizeBox.hide();
65185
+ const t = this.amr.bodyOpacity;
65186
+ this.amr.bodyOpacity = 1, setTimeout(() => {
65187
+ const i = this.renderer.domElement.toDataURL("image/png");
65188
+ return this.amr.sizeBox.show(), this.amr.bodyOpacity = t, A(i);
65189
+ }, this.fpsAverage);
65190
+ });
65178
65191
  }
65179
65192
  clearAMR() {
65180
65193
  Ni(this.overlayScene), this.amr.clean(), this.usePathTracing = !1, this.lines.clear();