leafer-ui 1.4.2 → 1.5.0

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.
package/dist/web.js CHANGED
@@ -4073,12 +4073,11 @@ var LeaferUI = (function (exports) {
4073
4073
  if (defaultValue === undefined) {
4074
4074
  property.get = function () { return this[computedKey]; };
4075
4075
  }
4076
- else if (typeof defaultValue === 'object') {
4077
- const { clone } = DataHelper;
4076
+ else if (typeof defaultValue === 'function') {
4078
4077
  property.get = function () {
4079
4078
  let v = this[computedKey];
4080
4079
  if (v === undefined)
4081
- this[computedKey] = v = clone(defaultValue);
4080
+ this[computedKey] = v = defaultValue(this.__leaf);
4082
4081
  return v;
4083
4082
  };
4084
4083
  }
@@ -5725,10 +5724,10 @@ var LeaferUI = (function (exports) {
5725
5724
  static changeAttr(attrName, defaultValue, fn) {
5726
5725
  fn ? this.addAttr(attrName, defaultValue, fn) : defineDataProcessor(this.prototype, attrName, defaultValue);
5727
5726
  }
5728
- static addAttr(attrName, defaultValue, fn) {
5727
+ static addAttr(attrName, defaultValue, fn, helpValue) {
5729
5728
  if (!fn)
5730
5729
  fn = boundsType;
5731
- fn(defaultValue)(this.prototype, attrName);
5730
+ fn(defaultValue, helpValue)(this.prototype, attrName);
5732
5731
  }
5733
5732
  __emitLifeEvent(type) {
5734
5733
  if (this.hasEvent(type))
@@ -6055,7 +6054,7 @@ var LeaferUI = (function (exports) {
6055
6054
  }
6056
6055
  }
6057
6056
 
6058
- const version = "1.4.2";
6057
+ const version = "1.5.0";
6059
6058
 
6060
6059
  const debug$5 = Debug.get('LeaferCanvas');
6061
6060
  class LeaferCanvas extends LeaferCanvasBase {
@@ -7123,7 +7122,11 @@ var LeaferUI = (function (exports) {
7123
7122
  setStyleName() { return Plugin.need('state'); },
7124
7123
  set() { return Plugin.need('state'); }
7125
7124
  };
7126
- const Transition = {};
7125
+ const Transition = {
7126
+ list: {},
7127
+ register(attrName, fn) { Transition.list[attrName] = fn; },
7128
+ get(attrName) { return Transition.list[attrName]; }
7129
+ };
7127
7130
 
7128
7131
  const { parse, objectToCanvasData } = PathConvert;
7129
7132
  const emptyPaint = {};
@@ -7547,9 +7550,6 @@ var LeaferUI = (function (exports) {
7547
7550
  this.__drawPathByBox(pen);
7548
7551
  return pen;
7549
7552
  }
7550
- get editConfig() { return undefined; }
7551
- get editOuter() { return ''; }
7552
- get editInner() { return ''; }
7553
7553
  constructor(data) {
7554
7554
  super(data);
7555
7555
  }
@@ -7631,8 +7631,11 @@ var LeaferUI = (function (exports) {
7631
7631
  export(_filename, _options) {
7632
7632
  return Plugin.need('export');
7633
7633
  }
7634
+ syncExport(_filename, _options) {
7635
+ return Plugin.need('export');
7636
+ }
7634
7637
  clone(data) {
7635
- const json = this.toJSON();
7638
+ const json = DataHelper.clone(this.toJSON());
7636
7639
  if (data)
7637
7640
  Object.assign(json, data);
7638
7641
  return UI_1.one(json);
@@ -7931,7 +7934,7 @@ var LeaferUI = (function (exports) {
7931
7934
  get layoutLocked() { return !this.layouter.running; }
7932
7935
  get FPS() { return this.renderer ? this.renderer.FPS : 60; }
7933
7936
  get cursorPoint() { return (this.interaction && this.interaction.hoverData) || { x: this.width / 2, y: this.height / 2 }; }
7934
- get clientBounds() { return this.canvas && this.canvas.getClientBounds(); }
7937
+ get clientBounds() { return (this.canvas && this.canvas.getClientBounds(true)) || getBoundsData(); }
7935
7938
  constructor(userConfig, data) {
7936
7939
  super(data);
7937
7940
  this.config = {
@@ -8233,6 +8236,10 @@ var LeaferUI = (function (exports) {
8233
8236
  getPagePointByClient(clientPoint, updateClient) {
8234
8237
  return this.getPagePoint(this.getWorldPointByClient(clientPoint, updateClient));
8235
8238
  }
8239
+ getClientPointByWorld(worldPoint) {
8240
+ const { x, y } = this.clientBounds;
8241
+ return { x: x + worldPoint.x, y: y + worldPoint.y };
8242
+ }
8236
8243
  updateClientBounds() {
8237
8244
  this.canvas && this.canvas.updateClientBounds();
8238
8245
  }
@@ -10201,8 +10208,6 @@ var LeaferUI = (function (exports) {
10201
10208
  h.setStrokeOptions(data);
10202
10209
  };
10203
10210
  ui$1.__hit = function (inner) {
10204
- if (Platform.name === 'miniapp')
10205
- this.__drawHitPath(this.__hitCanvas);
10206
10211
  const data = this.__;
10207
10212
  if (data.__isHitPixel && this.__hitPixel(inner))
10208
10213
  return true;
@@ -11866,13 +11871,14 @@ var LeaferUI = (function (exports) {
11866
11871
  }
11867
11872
 
11868
11873
  function layoutText(drawData, style) {
11869
- const { rows, bounds } = drawData;
11874
+ const { rows, bounds } = drawData, countRows = rows.length;
11870
11875
  const { __lineHeight, __baseLine, __letterSpacing, __clipText, textAlign, verticalAlign, paraSpacing, autoSizeAlign } = style;
11871
- let { x, y, width, height } = bounds, realHeight = __lineHeight * rows.length + (paraSpacing ? paraSpacing * (drawData.paraNumber - 1) : 0);
11876
+ let { x, y, width, height } = bounds, realHeight = __lineHeight * countRows + (paraSpacing ? paraSpacing * (drawData.paraNumber - 1) : 0);
11872
11877
  let starY = __baseLine;
11873
11878
  if (__clipText && realHeight > height) {
11874
11879
  realHeight = Math.max(height, __lineHeight);
11875
- drawData.overflow = rows.length;
11880
+ if (countRows > 1)
11881
+ drawData.overflow = countRows;
11876
11882
  }
11877
11883
  else if (height || autoSizeAlign) {
11878
11884
  switch (verticalAlign) {
@@ -11884,7 +11890,7 @@ var LeaferUI = (function (exports) {
11884
11890
  }
11885
11891
  starY += y;
11886
11892
  let row, rowX, rowWidth, layoutWidth = (width || autoSizeAlign) ? width : drawData.maxWidth;
11887
- for (let i = 0, len = rows.length; i < len; i++) {
11893
+ for (let i = 0, len = countRows; i < len; i++) {
11888
11894
  row = rows[i];
11889
11895
  row.x = x;
11890
11896
  if (row.width < width || (row.width > width && !__clipText)) {
@@ -11953,7 +11959,7 @@ var LeaferUI = (function (exports) {
11953
11959
  if (i === end && charRight < right) {
11954
11960
  break;
11955
11961
  }
11956
- else if (charRight < right && char.char !== ' ') {
11962
+ else if ((charRight < right && char.char !== ' ') || !i) {
11957
11963
  row.data.splice(i + 1);
11958
11964
  row.width -= char.width;
11959
11965
  break;