@tarojs/runtime 3.7.0-canary.1 → 3.7.0-canary.3

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.
@@ -3,6 +3,8 @@
3
3
  var shared = require('@tarojs/shared');
4
4
 
5
5
  var PROPERTY_THRESHOLD = 2046;
6
+ var TARO_RUNTIME = 'Taro runtime';
7
+ var HOOKS_APP_ID = 'taro-app';
6
8
  var SET_DATA = '小程序 setData';
7
9
  var PAGE_INIT = '页面初始化';
8
10
  var ROOT_STR = 'root';
@@ -35,6 +37,8 @@ var CONFIRM = 'confirm';
35
37
  var TIME_STAMP = 'timeStamp';
36
38
  var KEY_CODE = 'keyCode';
37
39
  var TOUCHMOVE = 'touchmove';
40
+ var DATE = 'Date';
41
+ var SET_TIMEOUT = 'setTimeout';
38
42
  var CATCHMOVE = 'catchMove';
39
43
  var CATCH_VIEW = 'catch-view';
40
44
  var COMMENT = 'comment';
@@ -50,13 +54,13 @@ var A = 'a';
50
54
  /**
51
55
  * 页面上下文切换时的行为
52
56
  */
53
- var CONTEXT_ACTIONS;
57
+ exports.CONTEXT_ACTIONS = void 0;
54
58
  (function (CONTEXT_ACTIONS) {
55
59
  CONTEXT_ACTIONS["INIT"] = "0";
56
60
  CONTEXT_ACTIONS["RESTORE"] = "1";
57
61
  CONTEXT_ACTIONS["RECOVER"] = "2";
58
62
  CONTEXT_ACTIONS["DESTORY"] = "3";
59
- })(CONTEXT_ACTIONS || (CONTEXT_ACTIONS = {}));
63
+ })(exports.CONTEXT_ACTIONS || (exports.CONTEXT_ACTIONS = {}));
60
64
 
61
65
  var observers = [];
62
66
  /**
@@ -172,7 +176,7 @@ var MutationObserver = function MutationObserver(callback) {
172
176
  }
173
177
  else {
174
178
  if (process.env.NODE_ENV !== 'production') {
175
- console.warn('[Taro Warning] 若要使用 MutationObserver,请在 Taro 编译配置中设置 \'mini.enableMutationObserver: true\'');
179
+ console.warn('[Taro Warning] 若要使用 MutationObserver,请在 Taro 编译配置中设置 \'mini.runtime.enableMutationObserver: true\'');
176
180
  }
177
181
  this.core = {
178
182
  observe: shared.noop,
@@ -249,15 +253,15 @@ function isHasExtractProp(el) {
249
253
  */
250
254
  function isParentBinded(node, type) {
251
255
  var _a;
252
- var res = false;
253
- while ((node === null || node === void 0 ? void 0 : node.parentElement) && node.parentElement._path !== ROOT_STR) {
254
- if ((_a = node.parentElement.__handlers[type]) === null || _a === void 0 ? void 0 : _a.length) {
255
- res = true;
256
- break;
256
+ while ((node = (node === null || node === void 0 ? void 0 : node.parentElement) || null)) {
257
+ if (!node || node.nodeName === ROOT_STR || node.nodeName === 'root-portal') {
258
+ return false;
259
+ }
260
+ else if ((_a = node.__handlers[type]) === null || _a === void 0 ? void 0 : _a.length) {
261
+ return true;
257
262
  }
258
- node = node.parentElement;
259
263
  }
260
- return res;
264
+ return false;
261
265
  }
262
266
  function shortcutAttr(key) {
263
267
  switch (key) {
@@ -427,6 +431,7 @@ var componentsAlias;
427
431
  function hydrate(node) {
428
432
  var obj;
429
433
 
434
+ var _a;
430
435
  if (!componentsAlias) {
431
436
  // 初始化 componentsAlias
432
437
  componentsAlias = getComponentsAlias();
@@ -437,7 +442,9 @@ function hydrate(node) {
437
442
  }
438
443
  var nodeName = node.nodeName;
439
444
  if (isText(node)) {
440
- return ( obj = {}, obj["v" /* Shortcuts.Text */] = node.nodeValue, obj["nn" /* Shortcuts.NodeName */] = componentsAlias[nodeName]._num, obj );
445
+ return ( obj = {
446
+ sid: node.sid
447
+ }, obj["v" /* Shortcuts.Text */] = node.nodeValue, obj["nn" /* Shortcuts.NodeName */] = ((_a = componentsAlias[nodeName]) === null || _a === void 0 ? void 0 : _a._num) || '8', obj );
441
448
  }
442
449
  var data = {};
443
450
  data["nn" /* Shortcuts.NodeName */] = nodeName;
@@ -481,7 +488,7 @@ function hydrate(node) {
481
488
  if (cssText !== '' && nodeName !== 'swiper-item') {
482
489
  data["st" /* Shortcuts.Style */] = cssText;
483
490
  }
484
- shared.hooks.call('modifyHydrateData', data);
491
+ shared.hooks.call('modifyHydrateData', data, node);
485
492
  var nn = data["nn" /* Shortcuts.NodeName */];
486
493
  var componentAlias = componentsAlias[nn];
487
494
  if (componentAlias) {
@@ -493,7 +500,8 @@ function hydrate(node) {
493
500
  }
494
501
  }
495
502
  }
496
- return data;
503
+ var resData = shared.hooks.call('transferHydrateData', data, node, componentAlias);
504
+ return resData || data;
497
505
  }
498
506
 
499
507
  var TaroEventTarget = function TaroEventTarget() {
@@ -1045,7 +1053,7 @@ function setStyle(newVal, styleKey) {
1045
1053
  if (old === newVal)
1046
1054
  { return; }
1047
1055
  !this._pending && recordCss(this);
1048
- if (shared.isNull(newVal) || shared.isUndefined(newVal)) {
1056
+ if (shared.isNull(newVal) || shared.isUndefined(newVal) || newVal === '') {
1049
1057
  this._usedStyleProp.delete(styleKey);
1050
1058
  delete this._value[styleKey];
1051
1059
  }
@@ -1515,6 +1523,7 @@ var TaroElement = /*@__PURE__*/(function (TaroNode) {
1515
1523
  sideEffect = false;
1516
1524
  delete options.sideEffect;
1517
1525
  }
1526
+ shared.hooks.call('modifyAddEventListener', this, sideEffect, getComponentsAlias);
1518
1527
  if (sideEffect !== false && !this.isAnyEventBinded() && SPECIAL_NODES.indexOf(name) > -1) {
1519
1528
  var componentsAlias = getComponentsAlias();
1520
1529
  var alias = componentsAlias[name]._num;
@@ -1531,6 +1540,7 @@ var TaroElement = /*@__PURE__*/(function (TaroNode) {
1531
1540
  TaroNode.prototype.removeEventListener.call(this, type, handler);
1532
1541
  var name = this.nodeName;
1533
1542
  var SPECIAL_NODES = shared.hooks.call('getSpecialNodes');
1543
+ shared.hooks.call('modifyRemoveEventListener', this, sideEffect, getComponentsAlias);
1534
1544
  if (sideEffect !== false && !this.isAnyEventBinded() && SPECIAL_NODES.indexOf(name) > -1) {
1535
1545
  var componentsAlias = getComponentsAlias();
1536
1546
  var value = isHasExtractProp(this) ? ("static-" + name) : ("pure-" + name);
@@ -2537,13 +2547,14 @@ TaroEvent.prototype.preventDefault = function preventDefault () {
2537
2547
  this.defaultPrevented = true;
2538
2548
  };
2539
2549
  prototypeAccessors$1.target.get = function () {
2540
- var _a, _b;
2550
+ var _a, _b, _c, _d;
2541
2551
  var cacheTarget = this.cacheTarget;
2542
2552
  if (!cacheTarget) {
2543
2553
  var target = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.target) || null);
2544
- var element = env.document.getElementById(target.id);
2554
+ // Note:优先判断冒泡场景alipay的targetDataset的sid, 不然冒泡场景target属性吐出不对,其余拿取当前绑定id
2555
+ var element = env.document.getElementById(((_b = target.targetDataset) === null || _b === void 0 ? void 0 : _b.sid) || ((_c = target.dataset) === null || _c === void 0 ? void 0 : _c.sid) || target.id || null);
2545
2556
  target.dataset = element !== null ? element.dataset : shared.EMPTY_OBJ;
2546
- for (var key in (_b = this.mpEvent) === null || _b === void 0 ? void 0 : _b.detail) {
2557
+ for (var key in (_d = this.mpEvent) === null || _d === void 0 ? void 0 : _d.detail) {
2547
2558
  target[key] = this.mpEvent.detail[key];
2548
2559
  }
2549
2560
  this.cacheTarget = target;
@@ -2554,19 +2565,19 @@ prototypeAccessors$1.target.get = function () {
2554
2565
  }
2555
2566
  };
2556
2567
  prototypeAccessors$1.currentTarget.get = function () {
2557
- var _a, _b, _c, _d;
2568
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2558
2569
  var cacheCurrentTarget = this.cacheCurrentTarget;
2559
2570
  if (!cacheCurrentTarget) {
2560
2571
  var doc = env.document;
2561
2572
  var currentTarget = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.currentTarget) || null);
2562
- var element = doc.getElementById(currentTarget.id);
2563
- var targetElement = doc.getElementById(((_c = (_b = this.mpEvent) === null || _b === void 0 ? void 0 : _b.target) === null || _c === void 0 ? void 0 : _c.id) || null);
2573
+ var element = doc.getElementById(((_b = currentTarget.dataset) === null || _b === void 0 ? void 0 : _b.sid) || currentTarget.id || null);
2574
+ var targetElement = doc.getElementById(((_e = (_d = (_c = this.mpEvent) === null || _c === void 0 ? void 0 : _c.target) === null || _d === void 0 ? void 0 : _d.dataset) === null || _e === void 0 ? void 0 : _e.sid) || ((_g = (_f = this.mpEvent) === null || _f === void 0 ? void 0 : _f.target) === null || _g === void 0 ? void 0 : _g.id) || null);
2564
2575
  if (element === null || (element && element === targetElement)) {
2565
2576
  this.cacheCurrentTarget = this.target;
2566
2577
  return this.target;
2567
2578
  }
2568
2579
  currentTarget.dataset = element.dataset;
2569
- for (var key in (_d = this.mpEvent) === null || _d === void 0 ? void 0 : _d.detail) {
2580
+ for (var key in (_h = this.mpEvent) === null || _h === void 0 ? void 0 : _h.detail) {
2570
2581
  currentTarget[key] = this.mpEvent.detail[key];
2571
2582
  }
2572
2583
  this.cacheCurrentTarget = currentTarget;
@@ -3393,16 +3404,25 @@ var AnchorElement = /*@__PURE__*/(function (TaroElement) {
3393
3404
  return AnchorElement;
3394
3405
  }(TaroElement));
3395
3406
 
3396
- var CustomWrapperElement = /*@__PURE__*/(function (TaroElement) {
3397
- function CustomWrapperElement () {
3398
- TaroElement.apply(this, arguments);
3399
- }if ( TaroElement ) CustomWrapperElement.__proto__ = TaroElement;
3400
- CustomWrapperElement.prototype = Object.create( TaroElement && TaroElement.prototype );
3401
- CustomWrapperElement.prototype.constructor = CustomWrapperElement;
3407
+ var TransferElement = /*@__PURE__*/(function (TaroElement) {
3408
+ function TransferElement(dataName) {
3409
+ TaroElement.call(this);
3410
+ this.dataName = dataName;
3411
+ this.isTransferElement = true;
3412
+ }
3402
3413
 
3403
-
3414
+ if ( TaroElement ) TransferElement.__proto__ = TaroElement;
3415
+ TransferElement.prototype = Object.create( TaroElement && TaroElement.prototype );
3416
+ TransferElement.prototype.constructor = TransferElement;
3417
+
3418
+ var prototypeAccessors = { _path: { configurable: true } };
3419
+ prototypeAccessors._path.get = function () {
3420
+ return this.dataName;
3421
+ };
3422
+
3423
+ Object.defineProperties( TransferElement.prototype, prototypeAccessors );
3404
3424
 
3405
- return CustomWrapperElement;
3425
+ return TransferElement;
3406
3426
  }(TaroElement));
3407
3427
 
3408
3428
  var TaroDocument = /*@__PURE__*/(function (TaroElement) {
@@ -3431,8 +3451,9 @@ var TaroDocument = /*@__PURE__*/(function (TaroElement) {
3431
3451
  case nodeName === A:
3432
3452
  element = new AnchorElement();
3433
3453
  break;
3434
- case nodeName === CUSTOM_WRAPPER:
3435
- element = new CustomWrapperElement();
3454
+ case nodeName === 'page-meta':
3455
+ case nodeName === 'navigation-bar':
3456
+ element = new TransferElement(shared.toCamelCase(nodeName));
3436
3457
  break;
3437
3458
  default:
3438
3459
  element = new TaroElement();
@@ -3578,17 +3599,17 @@ var History = /*@__PURE__*/(function (Events) {
3578
3599
  __classPrivateFieldGet(this$1$1, _History_instances, "m", _History_reset).call(this$1$1, href);
3579
3600
  }, null);
3580
3601
  // 切换上下文行为
3581
- this.on(CONTEXT_ACTIONS.INIT, function () {
3602
+ this.on(exports.CONTEXT_ACTIONS.INIT, function () {
3582
3603
  __classPrivateFieldGet(this$1$1, _History_instances, "m", _History_reset).call(this$1$1);
3583
3604
  }, null);
3584
- this.on(CONTEXT_ACTIONS.RESTORE, function (pageId) {
3605
+ this.on(exports.CONTEXT_ACTIONS.RESTORE, function (pageId) {
3585
3606
  cache$1.set(pageId, {
3586
3607
  location: __classPrivateFieldGet(this$1$1, _History_location, "f"),
3587
3608
  stack: __classPrivateFieldGet(this$1$1, _History_stack, "f").slice(),
3588
3609
  cur: __classPrivateFieldGet(this$1$1, _History_cur, "f")
3589
3610
  });
3590
3611
  }, null);
3591
- this.on(CONTEXT_ACTIONS.RECOVER, function (pageId) {
3612
+ this.on(exports.CONTEXT_ACTIONS.RECOVER, function (pageId) {
3592
3613
  if (cache$1.has(pageId)) {
3593
3614
  var ctx = cache$1.get(pageId);
3594
3615
  __classPrivateFieldSet(this$1$1, _History_location, ctx.location, "f");
@@ -3596,7 +3617,7 @@ var History = /*@__PURE__*/(function (Events) {
3596
3617
  __classPrivateFieldSet(this$1$1, _History_cur, ctx.cur, "f");
3597
3618
  }
3598
3619
  }, null);
3599
- this.on(CONTEXT_ACTIONS.DESTORY, function (pageId) {
3620
+ this.on(exports.CONTEXT_ACTIONS.DESTORY, function (pageId) {
3600
3621
  cache$1.delete(pageId);
3601
3622
  }, null);
3602
3623
  __classPrivateFieldGet(this, _History_instances, "m", _History_reset).call(this);
@@ -3706,15 +3727,15 @@ var Location = /*@__PURE__*/(function (Events) {
3706
3727
  __classPrivateFieldSet(this$1$1, _Location_noCheckUrl, false, "f");
3707
3728
  }, null);
3708
3729
  // 切换上下文行为
3709
- this.on(CONTEXT_ACTIONS.INIT, function () {
3730
+ this.on(exports.CONTEXT_ACTIONS.INIT, function () {
3710
3731
  __classPrivateFieldGet(this$1$1, _Location_instances, "m", _Location_reset).call(this$1$1);
3711
3732
  }, null);
3712
- this.on(CONTEXT_ACTIONS.RESTORE, function (pageId) {
3733
+ this.on(exports.CONTEXT_ACTIONS.RESTORE, function (pageId) {
3713
3734
  cache.set(pageId, {
3714
3735
  lastHref: this$1$1.href,
3715
3736
  });
3716
3737
  }, null);
3717
- this.on(CONTEXT_ACTIONS.RECOVER, function (pageId) {
3738
+ this.on(exports.CONTEXT_ACTIONS.RECOVER, function (pageId) {
3718
3739
  // 数据恢复时,不需要执行跳转
3719
3740
  if (cache.has(pageId)) {
3720
3741
  var ctx = cache.get(pageId);
@@ -3723,7 +3744,7 @@ var Location = /*@__PURE__*/(function (Events) {
3723
3744
  __classPrivateFieldSet(this$1$1, _Location_noCheckUrl, false, "f");
3724
3745
  }
3725
3746
  }, null);
3726
- this.on(CONTEXT_ACTIONS.DESTORY, function (pageId) {
3747
+ this.on(exports.CONTEXT_ACTIONS.DESTORY, function (pageId) {
3727
3748
  cache.delete(pageId);
3728
3749
  }, null);
3729
3750
  }
@@ -4024,24 +4045,24 @@ if (process.env.TARO_ENV && !shared.isWebPlatform()) {
4024
4045
  Window.prototype.initEvent = function initEvent () {
4025
4046
  var _location = this.location;
4026
4047
  var _history = this.history;
4027
- this.on(CONTEXT_ACTIONS.INIT, function (pageId) {
4048
+ this.on(exports.CONTEXT_ACTIONS.INIT, function (pageId) {
4028
4049
  // 页面onload,为该页面建立新的上下文信息
4029
- _location.trigger(CONTEXT_ACTIONS.INIT, pageId);
4050
+ _location.trigger(exports.CONTEXT_ACTIONS.INIT, pageId);
4030
4051
  }, null);
4031
- this.on(CONTEXT_ACTIONS.RECOVER, function (pageId) {
4052
+ this.on(exports.CONTEXT_ACTIONS.RECOVER, function (pageId) {
4032
4053
  // 页面onshow,恢复当前页面的上下文信息
4033
- _location.trigger(CONTEXT_ACTIONS.RECOVER, pageId);
4034
- _history.trigger(CONTEXT_ACTIONS.RECOVER, pageId);
4054
+ _location.trigger(exports.CONTEXT_ACTIONS.RECOVER, pageId);
4055
+ _history.trigger(exports.CONTEXT_ACTIONS.RECOVER, pageId);
4035
4056
  }, null);
4036
- this.on(CONTEXT_ACTIONS.RESTORE, function (pageId) {
4057
+ this.on(exports.CONTEXT_ACTIONS.RESTORE, function (pageId) {
4037
4058
  // 页面onhide,缓存当前页面的上下文信息
4038
- _location.trigger(CONTEXT_ACTIONS.RESTORE, pageId);
4039
- _history.trigger(CONTEXT_ACTIONS.RESTORE, pageId);
4059
+ _location.trigger(exports.CONTEXT_ACTIONS.RESTORE, pageId);
4060
+ _history.trigger(exports.CONTEXT_ACTIONS.RESTORE, pageId);
4040
4061
  }, null);
4041
- this.on(CONTEXT_ACTIONS.DESTORY, function (pageId) {
4062
+ this.on(exports.CONTEXT_ACTIONS.DESTORY, function (pageId) {
4042
4063
  // 页面onunload,清除当前页面的上下文信息
4043
- _location.trigger(CONTEXT_ACTIONS.DESTORY, pageId);
4044
- _history.trigger(CONTEXT_ACTIONS.DESTORY, pageId);
4064
+ _location.trigger(exports.CONTEXT_ACTIONS.DESTORY, pageId);
4065
+ _history.trigger(exports.CONTEXT_ACTIONS.DESTORY, pageId);
4045
4066
  }, null);
4046
4067
  };
4047
4068
  prototypeAccessors.document.get = function () {
@@ -4212,7 +4233,7 @@ function createPageConfig(component, pageName, data, pageConfig) {
4212
4233
  setCurrentRouter(this);
4213
4234
  // 初始化当前页面的上下文信息
4214
4235
  if (!isWeb) {
4215
- exports.window.trigger(CONTEXT_ACTIONS.INIT, $taroPath);
4236
+ exports.window.trigger(exports.CONTEXT_ACTIONS.INIT, $taroPath);
4216
4237
  }
4217
4238
  var mount = function () {
4218
4239
  Current.app.mount(component, $taroPath, function () {
@@ -4240,7 +4261,7 @@ function createPageConfig(component, pageName, data, pageConfig) {
4240
4261
  var $taroPath = this.$taroPath;
4241
4262
  // 销毁当前页面的上下文信息
4242
4263
  if (!isWeb) {
4243
- exports.window.trigger(CONTEXT_ACTIONS.DESTORY, $taroPath);
4264
+ exports.window.trigger(exports.CONTEXT_ACTIONS.DESTORY, $taroPath);
4244
4265
  }
4245
4266
  // 触发onUnload生命周期
4246
4267
  safeExecute($taroPath, ONUNLOAD);
@@ -4279,7 +4300,7 @@ function createPageConfig(component, pageName, data, pageConfig) {
4279
4300
  setCurrentRouter(this$1$1);
4280
4301
  // 恢复上下文信息
4281
4302
  if (!isWeb) {
4282
- exports.window.trigger(CONTEXT_ACTIONS.RECOVER, this$1$1.$taroPath);
4303
+ exports.window.trigger(exports.CONTEXT_ACTIONS.RECOVER, this$1$1.$taroPath);
4283
4304
  }
4284
4305
  // 触发生命周期
4285
4306
  safeExecute(this$1$1.$taroPath, ON_SHOW, options);
@@ -4290,7 +4311,7 @@ function createPageConfig(component, pageName, data, pageConfig) {
4290
4311
  config[ONHIDE] = function () {
4291
4312
  // 缓存当前页面上下文信息
4292
4313
  if (!isWeb) {
4293
- exports.window.trigger(CONTEXT_ACTIONS.RESTORE, this.$taroPath);
4314
+ exports.window.trigger(exports.CONTEXT_ACTIONS.RESTORE, this.$taroPath);
4294
4315
  }
4295
4316
  // 设置 Current 的 page 和 router
4296
4317
  if (Current.page === this) {
@@ -4303,11 +4324,24 @@ function createPageConfig(component, pageName, data, pageConfig) {
4303
4324
  eventCenter.trigger(getOnHideEventKey(id));
4304
4325
  };
4305
4326
  LIFECYCLES.forEach(function (lifecycle) {
4327
+ var isDefer = false;
4328
+ lifecycle = lifecycle.replace(/^defer:/, function () {
4329
+ isDefer = true;
4330
+ return '';
4331
+ });
4306
4332
  config[lifecycle] = function () {
4333
+ var arguments$1 = arguments;
4334
+ var this$1$1 = this;
4307
4335
  var i = arguments.length, argsArray = Array(i);
4308
4336
  while ( i-- ) argsArray[i] = arguments[i];
4309
4337
 
4310
- return safeExecute.apply(void 0, [ this.$taroPath, lifecycle ].concat( argsArray ));
4338
+ var exec = function () { return safeExecute.apply(void 0, [ this$1$1.$taroPath, lifecycle ].concat( arguments$1 )); };
4339
+ if (isDefer) {
4340
+ hasLoaded.then(exec);
4341
+ }
4342
+ else {
4343
+ return exec();
4344
+ }
4311
4345
  };
4312
4346
  });
4313
4347
  // onShareAppMessage 和 onShareTimeline 一样,会影响小程序右上方按钮的选项,因此不能默认注册。
@@ -4353,7 +4387,8 @@ function createComponentConfig(component, componentName, data) {
4353
4387
 
4354
4388
  var _a;
4355
4389
  perf.start(PAGE_INIT);
4356
- var path = getPath(id, { id: ((_a = this.getPageId) === null || _a === void 0 ? void 0 : _a.call(this)) || pageId() });
4390
+ this.pageIdCache = ((_a = this.getPageId) === null || _a === void 0 ? void 0 : _a.call(this)) || pageId();
4391
+ var path = getPath(id, { id: this.pageIdCache });
4357
4392
  Current.app.mount(component, path, function () {
4358
4393
  componentElement = env.document.getElementById(path);
4359
4394
  shared.ensure(componentElement !== null, '没有找到组件实例。');
@@ -4366,7 +4401,7 @@ function createComponentConfig(component, componentName, data) {
4366
4401
  });
4367
4402
  };
4368
4403
  config[DETACHED] = function () {
4369
- var path = getPath(id, { id: this.getPageId() });
4404
+ var path = getPath(id, { id: this.pageIdCache });
4370
4405
  Current.app.unmount(path, function () {
4371
4406
  instances.delete(path);
4372
4407
  if (componentElement) {
@@ -4416,7 +4451,7 @@ function createRecursiveComponentConfig(componentName) {
4416
4451
  }
4417
4452
  }, obj )
4418
4453
  : shared.EMPTY_OBJ;
4419
- return Object.assign({ properties: {
4454
+ return shared.hooks.call('modifyRecursiveComponentConfig', Object.assign({ properties: {
4420
4455
  i: {
4421
4456
  type: Object,
4422
4457
  value: ( obj$1 = {}, obj$1["nn" /* Shortcuts.NodeName */] = shared.getComponentsAlias(shared.internalComponents)[VIEW]._num, obj$1 )
@@ -4430,7 +4465,7 @@ function createRecursiveComponentConfig(componentName) {
4430
4465
  virtualHost: !isCustomWrapper
4431
4466
  }, methods: {
4432
4467
  eh: eventHandler
4433
- } }, lifeCycles);
4468
+ } }, lifeCycles), { isCustomWrapper: isCustomWrapper });
4434
4469
  }
4435
4470
 
4436
4471
  var TIMEOUT = 100;
@@ -4483,37 +4518,91 @@ Object.defineProperty(exports, 'hooks', {
4483
4518
  enumerable: true,
4484
4519
  get: function () { return shared.hooks; }
4485
4520
  });
4521
+ exports.A = A;
4522
+ exports.APP = APP;
4523
+ exports.BEHAVIORS = BEHAVIORS;
4524
+ exports.BODY = BODY;
4525
+ exports.CATCHMOVE = CATCHMOVE;
4526
+ exports.CATCH_VIEW = CATCH_VIEW;
4527
+ exports.CHANGE = CHANGE;
4528
+ exports.CLASS = CLASS;
4529
+ exports.COMMENT = COMMENT;
4530
+ exports.CONFIRM = CONFIRM;
4531
+ exports.CONTAINER = CONTAINER;
4532
+ exports.CURRENT_TARGET = CURRENT_TARGET;
4533
+ exports.CUSTOM_WRAPPER = CUSTOM_WRAPPER;
4486
4534
  exports.Current = Current;
4535
+ exports.DATASET = DATASET;
4536
+ exports.DATE = DATE;
4537
+ exports.DOCUMENT_ELEMENT_NAME = DOCUMENT_ELEMENT_NAME;
4538
+ exports.DOCUMENT_FRAGMENT = DOCUMENT_FRAGMENT;
4539
+ exports.EVENT_CALLBACK_RESULT = EVENT_CALLBACK_RESULT;
4540
+ exports.EXTERNAL_CLASSES = EXTERNAL_CLASSES;
4541
+ exports.FOCUS = FOCUS;
4487
4542
  exports.FormElement = FormElement;
4543
+ exports.HEAD = HEAD;
4544
+ exports.HOOKS_APP_ID = HOOKS_APP_ID;
4545
+ exports.HTML = HTML;
4488
4546
  exports.History = History;
4547
+ exports.ID = ID;
4548
+ exports.INPUT = INPUT;
4549
+ exports.KEY_CODE = KEY_CODE;
4489
4550
  exports.Location = Location;
4490
4551
  exports.MutationObserver = MutationObserver;
4552
+ exports.OBJECT = OBJECT;
4553
+ exports.ON_HIDE = ON_HIDE;
4554
+ exports.ON_LOAD = ON_LOAD;
4555
+ exports.ON_READY = ON_READY;
4556
+ exports.ON_SHOW = ON_SHOW;
4557
+ exports.OPTIONS = OPTIONS;
4558
+ exports.PAGE_INIT = PAGE_INIT;
4559
+ exports.PROPERTY_THRESHOLD = PROPERTY_THRESHOLD;
4560
+ exports.PROPS = PROPS;
4561
+ exports.PURE_VIEW = PURE_VIEW;
4562
+ exports.ROOT_STR = ROOT_STR;
4563
+ exports.SET_DATA = SET_DATA;
4564
+ exports.SET_TIMEOUT = SET_TIMEOUT;
4565
+ exports.STATIC_VIEW = STATIC_VIEW;
4566
+ exports.STYLE = STYLE;
4491
4567
  exports.SVGElement = SVGElement;
4492
4568
  exports.Style = Style;
4569
+ exports.TARGET = TARGET;
4570
+ exports.TARO_RUNTIME = TARO_RUNTIME;
4571
+ exports.TIME_STAMP = TIME_STAMP;
4572
+ exports.TOUCHMOVE = TOUCHMOVE;
4573
+ exports.TYPE = TYPE;
4493
4574
  exports.TaroElement = TaroElement;
4494
4575
  exports.TaroEvent = TaroEvent;
4495
4576
  exports.TaroNode = TaroNode;
4496
4577
  exports.TaroRootElement = TaroRootElement;
4497
4578
  exports.TaroText = TaroText;
4579
+ exports.UID = UID;
4498
4580
  exports.URL = URL;
4499
4581
  exports.URLSearchParams = URLSearchParams;
4582
+ exports.VALUE = VALUE;
4583
+ exports.VIEW = VIEW;
4500
4584
  exports.addLeadingSlash = addLeadingSlash;
4501
4585
  exports.cancelAnimationFrame = _caf;
4502
4586
  exports.createComponentConfig = createComponentConfig;
4503
4587
  exports.createEvent = createEvent;
4504
4588
  exports.createPageConfig = createPageConfig;
4505
4589
  exports.createRecursiveComponentConfig = createRecursiveComponentConfig;
4590
+ exports.env = env;
4506
4591
  exports.eventCenter = eventCenter;
4507
4592
  exports.eventHandler = eventHandler;
4508
4593
  exports.eventSource = eventSource;
4509
4594
  exports.getComputedStyle = getComputedStyle;
4510
4595
  exports.getCurrentInstance = getCurrentInstance;
4596
+ exports.getOnHideEventKey = getOnHideEventKey;
4597
+ exports.getOnReadyEventKey = getOnReadyEventKey;
4598
+ exports.getOnShowEventKey = getOnShowEventKey;
4511
4599
  exports.getPageInstance = getPageInstance;
4512
4600
  exports.getPath = getPath;
4513
4601
  exports.history = history;
4514
4602
  exports.hydrate = hydrate;
4515
4603
  exports.incrementId = incrementId;
4516
4604
  exports.injectPageInstance = injectPageInstance;
4605
+ exports.isHasExtractProp = isHasExtractProp;
4517
4606
  exports.location = location;
4518
4607
  exports.navigator = nav;
4519
4608
  exports.nextTick = nextTick;