@leafer-ui/miniapp 2.2.4 → 2.2.5

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.
@@ -4773,7 +4773,7 @@ function useModule(module, exclude) {
4773
4773
  if (!excludeNames.includes(name) && (!exclude || !exclude.includes(name))) {
4774
4774
  if (module.prototype) {
4775
4775
  const d = getDescriptor(module.prototype, name);
4776
- if (d.writable) target.prototype[name] = module.prototype[name];
4776
+ if (d) Object.defineProperty(target.prototype, name, d);
4777
4777
  } else {
4778
4778
  target.prototype[name] = module[name];
4779
4779
  }
@@ -7023,7 +7023,7 @@ class LeafLevelList {
7023
7023
  }
7024
7024
  }
7025
7025
 
7026
- const version = "2.2.4";
7026
+ const version = "2.2.5";
7027
7027
 
7028
7028
  class LeaferCanvas extends LeaferCanvasBase {
7029
7029
  get allowBackgroundColor() {
@@ -7995,7 +7995,7 @@ class Picker {
7995
7995
  if (child.__hitWorld(point, onlyHitMask && child.mask === "path" ? true : undefined)) {
7996
7996
  const {parent: parent, mask: mask} = child;
7997
7997
  if (parent && parent.__hasMask && mask && !(mask === "clipping" || mask === "clipping-path")) {
7998
- if (!parent.children.some(item => !item.mask && item.__hitWorld(point))) return;
7998
+ if (!parent.children.some(item => !item.mask && this.isHitLeaf(item, point))) return;
7999
7999
  }
8000
8000
  const leaf = proxy || child, {hitThrough: hitThrough} = child, {findList: findList} = this;
8001
8001
  if (hitThrough) {
@@ -8005,6 +8005,15 @@ class Picker {
8005
8005
  findList.add(leaf);
8006
8006
  }
8007
8007
  }
8008
+ isHitLeaf(leaf, point) {
8009
+ if (leaf.isBranch) {
8010
+ const {findList: findList} = this, old = findList.length;
8011
+ this.eachFind([ leaf ], false);
8012
+ const count = findList.length - old;
8013
+ for (let i = 0; i < count; i++) findList.remove(findList.indexAt(findList.length - 1));
8014
+ return !!count;
8015
+ } else return leaf.__hitWorld(point);
8016
+ }
8008
8017
  clear() {
8009
8018
  this.point = null;
8010
8019
  this.findList = null;