@anu3ev/fabric-image-editor 0.7.14 → 0.7.15

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 (2) hide show
  1. package/dist/main.js +36 -2
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -5776,7 +5776,7 @@ var pr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
5776
5776
  group: r,
5777
5777
  text: n
5778
5778
  }), Rn({ text: n }), this.canvas.getActiveObject() === n && this.canvas.setActiveObject(r), this.canvas.requestRenderAll());
5779
- }, this.canvas = e, this.editingInteractionState = /* @__PURE__ */ new WeakMap();
5779
+ }, this.canvas = e, this.editingInteractionState = /* @__PURE__ */ new WeakMap(), this.editingTargetResolverState = void 0;
5780
5780
  }
5781
5781
  enterTextEditing({ group: e }) {
5782
5782
  let { text: t } = Y({ group: e });
@@ -5816,6 +5816,9 @@ var pr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
5816
5816
  }), t.set({
5817
5817
  lockMovementX: !0,
5818
5818
  lockMovementY: !0
5819
+ }), this._installEditingTargetResolver({
5820
+ group: e,
5821
+ text: t
5819
5822
  }), e.setCoords(), t.setCoords();
5820
5823
  }
5821
5824
  _restoreTextEditingInteractionMode({ group: e, text: t }) {
@@ -5830,7 +5833,38 @@ var pr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
5830
5833
  }), t.set({
5831
5834
  lockMovementX: n.textLockMovementX,
5832
5835
  lockMovementY: n.textLockMovementY
5833
- }), this.editingInteractionState.delete(e), e.setCoords(), t.setCoords());
5836
+ }), this._restoreEditingTargetResolver(), this.editingInteractionState.delete(e), e.setCoords(), t.setCoords());
5837
+ }
5838
+ _installEditingTargetResolver({ group: e, text: t }) {
5839
+ let n = this.editingTargetResolverState;
5840
+ if (n?.group === e && n.text === t) return;
5841
+ this._restoreEditingTargetResolver();
5842
+ let r = this.canvas, i = r.findTarget.bind(r);
5843
+ r.findTarget = (n) => {
5844
+ let r = i(n);
5845
+ if (this.canvas.getActiveObject() !== t || !t.isEditing || r.target === t || Qn({
5846
+ target: r.target,
5847
+ subTargets: r.subTargets
5848
+ }) !== e) return r;
5849
+ let a = r.subTargets.includes(t) ? r.subTargets : [t, ...r.subTargets];
5850
+ return {
5851
+ ...r,
5852
+ target: t,
5853
+ currentTarget: t,
5854
+ subTargets: a,
5855
+ currentSubTargets: a
5856
+ };
5857
+ }, this.editingTargetResolverState = {
5858
+ group: e,
5859
+ text: t,
5860
+ findTarget: i
5861
+ };
5862
+ }
5863
+ _restoreEditingTargetResolver() {
5864
+ let e = this.editingTargetResolverState;
5865
+ if (!e) return;
5866
+ let t = this.canvas;
5867
+ t.findTarget = e.findTarget, this.editingTargetResolverState = void 0;
5834
5868
  }
5835
5869
  }, _r = class e {
5836
5870
  constructor({ canvas: e }) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anu3ev/fabric-image-editor",
3
- "version": "0.7.14",
3
+ "version": "0.7.15",
4
4
  "description": "TypeScript image editor library built on FabricJS, allowing you to create instances with an integrated montage area and providing an API to modify and manage state.",
5
5
  "module": "dist/main.js",
6
6
  "files": [