@tarojs/runtime 3.7.0-beta.1 → 3.7.0-beta.4

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.
@@ -431,7 +431,7 @@ declare const nav: any;
431
431
  declare let now: () => number;
432
432
  // https://gist.github.com/paulirish/1579671
433
433
  // https://gist.github.com/jalbam/5fe05443270fa6d8136238ec72accbc0
434
- declare const _raf: typeof requestAnimationFrame | ((callback: any) => NodeJS.Timeout);
434
+ declare const _raf: typeof requestAnimationFrame | ((callback: any) => NodeJS.Timer);
435
435
  declare const _caf: typeof cancelAnimationFrame;
436
436
  declare class URLSearchParams {
437
437
  #private;
@@ -776,5 +776,6 @@ declare function hydrate(node: TaroElement | TaroText): MiniData;
776
776
  declare const nextTick: (cb: Func, ctx?: Record<string, any>) => void;
777
777
  declare const options: Options;
778
778
  declare const incrementId: () => () => string;
779
+ declare function isHasExtractProp(el: TaroElement): boolean;
779
780
  export { hooks } from '@tarojs/shared';
780
- export { document, getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, URL, URLSearchParams, history, location, window, TaroElement, createEvent, eventHandler, TaroEvent, FormElement, TaroNode, TaroRootElement, Style, SVGElement, TaroText, MutationObserver, env, PROPERTY_THRESHOLD, TARO_RUNTIME, HOOKS_APP_ID, SET_DATA, PAGE_INIT, ROOT_STR, HTML, HEAD, BODY, APP, CONTAINER, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, ID, UID, CLASS, STYLE, FOCUS, VIEW, STATIC_VIEW, PURE_VIEW, PROPS, DATASET, OBJECT, VALUE, INPUT, CHANGE, CUSTOM_WRAPPER, TARGET, CURRENT_TARGET, TYPE, CONFIRM, TIME_STAMP, KEY_CODE, TOUCHMOVE, DATE, SET_TIMEOUT, CATCHMOVE, CATCH_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS, Current, getCurrentInstance, eventSource, addLeadingSlash, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, incrementId, Instance, VueAppInstance, VueInstance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$0 as Options, Func, Ctx };
781
+ export { document, getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, URL, URLSearchParams, history, location, window, TaroElement, createEvent, eventHandler, TaroEvent, FormElement, TaroNode, TaroRootElement, Style, SVGElement, TaroText, MutationObserver, env, PROPERTY_THRESHOLD, TARO_RUNTIME, HOOKS_APP_ID, SET_DATA, PAGE_INIT, ROOT_STR, HTML, HEAD, BODY, APP, CONTAINER, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, ID, UID, CLASS, STYLE, FOCUS, VIEW, STATIC_VIEW, PURE_VIEW, PROPS, DATASET, OBJECT, VALUE, INPUT, CHANGE, CUSTOM_WRAPPER, TARGET, CURRENT_TARGET, TYPE, CONFIRM, TIME_STAMP, KEY_CODE, TOUCHMOVE, DATE, SET_TIMEOUT, CATCHMOVE, CATCH_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS, Current, getCurrentInstance, eventSource, addLeadingSlash, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, incrementId, isHasExtractProp, Instance, VueAppInstance, VueInstance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$0 as Options, Func, Ctx };
@@ -176,7 +176,7 @@ var MutationObserver = function MutationObserver(callback) {
176
176
  }
177
177
  else {
178
178
  if (process.env.NODE_ENV !== 'production') {
179
- console.warn('[Taro Warning] 若要使用 MutationObserver,请在 Taro 编译配置中设置 \'mini.enableMutationObserver: true\'');
179
+ console.warn('[Taro Warning] 若要使用 MutationObserver,请在 Taro 编译配置中设置 \'mini.runtime.enableMutationObserver: true\'');
180
180
  }
181
181
  this.core = {
182
182
  observe: shared.noop,
@@ -253,15 +253,15 @@ function isHasExtractProp(el) {
253
253
  */
254
254
  function isParentBinded(node, type) {
255
255
  var _a;
256
- var res = false;
257
- while ((node === null || node === void 0 ? void 0 : node.parentElement) && node.parentElement._path !== ROOT_STR) {
258
- if ((_a = node.parentElement.__handlers[type]) === null || _a === void 0 ? void 0 : _a.length) {
259
- res = true;
260
- 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;
261
262
  }
262
- node = node.parentElement;
263
263
  }
264
- return res;
264
+ return false;
265
265
  }
266
266
  function shortcutAttr(key) {
267
267
  switch (key) {
@@ -442,7 +442,9 @@ function hydrate(node) {
442
442
  }
443
443
  var nodeName = node.nodeName;
444
444
  if (isText(node)) {
445
- return ( obj = {}, obj["v" /* Shortcuts.Text */] = node.nodeValue, obj["nn" /* Shortcuts.NodeName */] = ((_a = componentsAlias[nodeName]) === null || _a === void 0 ? void 0 : _a._num) || '8', 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 );
446
448
  }
447
449
  var data = {};
448
450
  data["nn" /* Shortcuts.NodeName */] = nodeName;
@@ -486,7 +488,7 @@ function hydrate(node) {
486
488
  if (cssText !== '' && nodeName !== 'swiper-item') {
487
489
  data["st" /* Shortcuts.Style */] = cssText;
488
490
  }
489
- shared.hooks.call('modifyHydrateData', data);
491
+ shared.hooks.call('modifyHydrateData', data, node);
490
492
  var nn = data["nn" /* Shortcuts.NodeName */];
491
493
  var componentAlias = componentsAlias[nn];
492
494
  if (componentAlias) {
@@ -498,7 +500,8 @@ function hydrate(node) {
498
500
  }
499
501
  }
500
502
  }
501
- return data;
503
+ var resData = shared.hooks.call('transferHydrateData', data, node, componentAlias);
504
+ return resData || data;
502
505
  }
503
506
 
504
507
  var TaroEventTarget = function TaroEventTarget() {
@@ -1050,7 +1053,7 @@ function setStyle(newVal, styleKey) {
1050
1053
  if (old === newVal)
1051
1054
  { return; }
1052
1055
  !this._pending && recordCss(this);
1053
- if (shared.isNull(newVal) || shared.isUndefined(newVal)) {
1056
+ if (shared.isNull(newVal) || shared.isUndefined(newVal) || newVal === '') {
1054
1057
  this._usedStyleProp.delete(styleKey);
1055
1058
  delete this._value[styleKey];
1056
1059
  }
@@ -1520,6 +1523,7 @@ var TaroElement = /*@__PURE__*/(function (TaroNode) {
1520
1523
  sideEffect = false;
1521
1524
  delete options.sideEffect;
1522
1525
  }
1526
+ shared.hooks.call('modifyAddEventListener', this, sideEffect, getComponentsAlias);
1523
1527
  if (sideEffect !== false && !this.isAnyEventBinded() && SPECIAL_NODES.indexOf(name) > -1) {
1524
1528
  var componentsAlias = getComponentsAlias();
1525
1529
  var alias = componentsAlias[name]._num;
@@ -1536,6 +1540,7 @@ var TaroElement = /*@__PURE__*/(function (TaroNode) {
1536
1540
  TaroNode.prototype.removeEventListener.call(this, type, handler);
1537
1541
  var name = this.nodeName;
1538
1542
  var SPECIAL_NODES = shared.hooks.call('getSpecialNodes');
1543
+ shared.hooks.call('modifyRemoveEventListener', this, sideEffect, getComponentsAlias);
1539
1544
  if (sideEffect !== false && !this.isAnyEventBinded() && SPECIAL_NODES.indexOf(name) > -1) {
1540
1545
  var componentsAlias = getComponentsAlias();
1541
1546
  var value = isHasExtractProp(this) ? ("static-" + name) : ("pure-" + name);
@@ -2542,13 +2547,14 @@ TaroEvent.prototype.preventDefault = function preventDefault () {
2542
2547
  this.defaultPrevented = true;
2543
2548
  };
2544
2549
  prototypeAccessors$1.target.get = function () {
2545
- var _a, _b, _c;
2550
+ var _a, _b, _c, _d;
2546
2551
  var cacheTarget = this.cacheTarget;
2547
2552
  if (!cacheTarget) {
2548
2553
  var target = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.target) || null);
2549
- var element = env.document.getElementById(((_b = target.dataset) === null || _b === void 0 ? void 0 : _b.sid) || target.id || null);
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);
2550
2556
  target.dataset = element !== null ? element.dataset : shared.EMPTY_OBJ;
2551
- for (var key in (_c = this.mpEvent) === null || _c === void 0 ? void 0 : _c.detail) {
2557
+ for (var key in (_d = this.mpEvent) === null || _d === void 0 ? void 0 : _d.detail) {
2552
2558
  target[key] = this.mpEvent.detail[key];
2553
2559
  }
2554
2560
  this.cacheTarget = target;
@@ -3398,6 +3404,27 @@ var AnchorElement = /*@__PURE__*/(function (TaroElement) {
3398
3404
  return AnchorElement;
3399
3405
  }(TaroElement));
3400
3406
 
3407
+ var TransferElement = /*@__PURE__*/(function (TaroElement) {
3408
+ function TransferElement(dataName) {
3409
+ TaroElement.call(this);
3410
+ this.dataName = dataName;
3411
+ this.isTransferElement = true;
3412
+ }
3413
+
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 );
3424
+
3425
+ return TransferElement;
3426
+ }(TaroElement));
3427
+
3401
3428
  var TaroDocument = /*@__PURE__*/(function (TaroElement) {
3402
3429
  function TaroDocument() {
3403
3430
  TaroElement.call(this);
@@ -3424,6 +3451,10 @@ var TaroDocument = /*@__PURE__*/(function (TaroElement) {
3424
3451
  case nodeName === A:
3425
3452
  element = new AnchorElement();
3426
3453
  break;
3454
+ case nodeName === 'page-meta':
3455
+ case nodeName === 'navigation-bar':
3456
+ element = new TransferElement(shared.toCamelCase(nodeName));
3457
+ break;
3427
3458
  default:
3428
3459
  element = new TaroElement();
3429
3460
  break;
@@ -4420,7 +4451,7 @@ function createRecursiveComponentConfig(componentName) {
4420
4451
  }
4421
4452
  }, obj )
4422
4453
  : shared.EMPTY_OBJ;
4423
- return Object.assign({ properties: {
4454
+ return shared.hooks.call('modifyRecursiveComponentConfig', Object.assign({ properties: {
4424
4455
  i: {
4425
4456
  type: Object,
4426
4457
  value: ( obj$1 = {}, obj$1["nn" /* Shortcuts.NodeName */] = shared.getComponentsAlias(shared.internalComponents)[VIEW]._num, obj$1 )
@@ -4434,7 +4465,7 @@ function createRecursiveComponentConfig(componentName) {
4434
4465
  virtualHost: !isCustomWrapper
4435
4466
  }, methods: {
4436
4467
  eh: eventHandler
4437
- } }, lifeCycles);
4468
+ } }, lifeCycles), { isCustomWrapper: isCustomWrapper });
4438
4469
  }
4439
4470
 
4440
4471
  var TIMEOUT = 100;
@@ -4571,6 +4602,7 @@ exports.history = history;
4571
4602
  exports.hydrate = hydrate;
4572
4603
  exports.incrementId = incrementId;
4573
4604
  exports.injectPageInstance = injectPageInstance;
4605
+ exports.isHasExtractProp = isHasExtractProp;
4574
4606
  exports.location = location;
4575
4607
  exports.navigator = nav;
4576
4608
  exports.nextTick = nextTick;
@@ -431,7 +431,7 @@ declare const nav: any;
431
431
  declare let now: () => number;
432
432
  // https://gist.github.com/paulirish/1579671
433
433
  // https://gist.github.com/jalbam/5fe05443270fa6d8136238ec72accbc0
434
- declare const _raf: typeof requestAnimationFrame | ((callback: any) => NodeJS.Timeout);
434
+ declare const _raf: typeof requestAnimationFrame | ((callback: any) => NodeJS.Timer);
435
435
  declare const _caf: typeof cancelAnimationFrame;
436
436
  declare class URLSearchParams {
437
437
  #private;
@@ -776,5 +776,6 @@ declare function hydrate(node: TaroElement | TaroText): MiniData;
776
776
  declare const nextTick: (cb: Func, ctx?: Record<string, any>) => void;
777
777
  declare const options: Options;
778
778
  declare const incrementId: () => () => string;
779
+ declare function isHasExtractProp(el: TaroElement): boolean;
779
780
  export { hooks } from '@tarojs/shared';
780
- export { document, getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, URL, URLSearchParams, history, location, window, TaroElement, createEvent, eventHandler, TaroEvent, FormElement, TaroNode, TaroRootElement, Style, SVGElement, TaroText, MutationObserver, env, PROPERTY_THRESHOLD, TARO_RUNTIME, HOOKS_APP_ID, SET_DATA, PAGE_INIT, ROOT_STR, HTML, HEAD, BODY, APP, CONTAINER, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, ID, UID, CLASS, STYLE, FOCUS, VIEW, STATIC_VIEW, PURE_VIEW, PROPS, DATASET, OBJECT, VALUE, INPUT, CHANGE, CUSTOM_WRAPPER, TARGET, CURRENT_TARGET, TYPE, CONFIRM, TIME_STAMP, KEY_CODE, TOUCHMOVE, DATE, SET_TIMEOUT, CATCHMOVE, CATCH_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS, Current, getCurrentInstance, eventSource, addLeadingSlash, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, incrementId, Instance, VueAppInstance, VueInstance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$0 as Options, Func, Ctx };
781
+ export { document, getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, URL, URLSearchParams, history, location, window, TaroElement, createEvent, eventHandler, TaroEvent, FormElement, TaroNode, TaroRootElement, Style, SVGElement, TaroText, MutationObserver, env, PROPERTY_THRESHOLD, TARO_RUNTIME, HOOKS_APP_ID, SET_DATA, PAGE_INIT, ROOT_STR, HTML, HEAD, BODY, APP, CONTAINER, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, ID, UID, CLASS, STYLE, FOCUS, VIEW, STATIC_VIEW, PURE_VIEW, PROPS, DATASET, OBJECT, VALUE, INPUT, CHANGE, CUSTOM_WRAPPER, TARGET, CURRENT_TARGET, TYPE, CONFIRM, TIME_STAMP, KEY_CODE, TOUCHMOVE, DATE, SET_TIMEOUT, CATCHMOVE, CATCH_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS, Current, getCurrentInstance, eventSource, addLeadingSlash, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, incrementId, isHasExtractProp, Instance, VueAppInstance, VueInstance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$0 as Options, Func, Ctx };
@@ -174,7 +174,7 @@ class MutationObserver {
174
174
  }
175
175
  else {
176
176
  if (process.env.NODE_ENV !== 'production') {
177
- console.warn('[Taro Warning] 若要使用 MutationObserver,请在 Taro 编译配置中设置 \'mini.enableMutationObserver: true\'');
177
+ console.warn('[Taro Warning] 若要使用 MutationObserver,请在 Taro 编译配置中设置 \'mini.runtime.enableMutationObserver: true\'');
178
178
  }
179
179
  this.core = {
180
180
  observe: noop,
@@ -248,15 +248,15 @@ function isHasExtractProp(el) {
248
248
  */
249
249
  function isParentBinded(node, type) {
250
250
  var _a;
251
- let res = false;
252
- while ((node === null || node === void 0 ? void 0 : node.parentElement) && node.parentElement._path !== ROOT_STR) {
253
- if ((_a = node.parentElement.__handlers[type]) === null || _a === void 0 ? void 0 : _a.length) {
254
- res = true;
255
- break;
251
+ while ((node = (node === null || node === void 0 ? void 0 : node.parentElement) || null)) {
252
+ if (!node || node.nodeName === ROOT_STR || node.nodeName === 'root-portal') {
253
+ return false;
254
+ }
255
+ else if ((_a = node.__handlers[type]) === null || _a === void 0 ? void 0 : _a.length) {
256
+ return true;
256
257
  }
257
- node = node.parentElement;
258
258
  }
259
- return res;
259
+ return false;
260
260
  }
261
261
  function shortcutAttr(key) {
262
262
  switch (key) {
@@ -419,6 +419,7 @@ function hydrate(node) {
419
419
  const nodeName = node.nodeName;
420
420
  if (isText(node)) {
421
421
  return {
422
+ sid: node.sid,
422
423
  ["v" /* Shortcuts.Text */]: node.nodeValue,
423
424
  ["nn" /* Shortcuts.NodeName */]: ((_a = componentsAlias[nodeName]) === null || _a === void 0 ? void 0 : _a._num) || '8'
424
425
  };
@@ -466,7 +467,7 @@ function hydrate(node) {
466
467
  if (cssText !== '' && nodeName !== 'swiper-item') {
467
468
  data["st" /* Shortcuts.Style */] = cssText;
468
469
  }
469
- hooks.call('modifyHydrateData', data);
470
+ hooks.call('modifyHydrateData', data, node);
470
471
  const nn = data["nn" /* Shortcuts.NodeName */];
471
472
  const componentAlias = componentsAlias[nn];
472
473
  if (componentAlias) {
@@ -478,7 +479,8 @@ function hydrate(node) {
478
479
  }
479
480
  }
480
481
  }
481
- return data;
482
+ const resData = hooks.call('transferHydrateData', data, node, componentAlias);
483
+ return resData || data;
482
484
  }
483
485
 
484
486
  class TaroEventTarget {
@@ -1043,7 +1045,7 @@ function setStyle(newVal, styleKey) {
1043
1045
  if (old === newVal)
1044
1046
  return;
1045
1047
  !this._pending && recordCss(this);
1046
- if (isNull(newVal) || isUndefined(newVal)) {
1048
+ if (isNull(newVal) || isUndefined(newVal) || newVal === '') {
1047
1049
  this._usedStyleProp.delete(styleKey);
1048
1050
  delete this._value[styleKey];
1049
1051
  }
@@ -1489,6 +1491,7 @@ class TaroElement extends TaroNode {
1489
1491
  sideEffect = false;
1490
1492
  delete options.sideEffect;
1491
1493
  }
1494
+ hooks.call('modifyAddEventListener', this, sideEffect, getComponentsAlias);
1492
1495
  if (sideEffect !== false && !this.isAnyEventBinded() && SPECIAL_NODES.indexOf(name) > -1) {
1493
1496
  const componentsAlias = getComponentsAlias();
1494
1497
  const alias = componentsAlias[name]._num;
@@ -1503,6 +1506,7 @@ class TaroElement extends TaroNode {
1503
1506
  super.removeEventListener(type, handler);
1504
1507
  const name = this.nodeName;
1505
1508
  const SPECIAL_NODES = hooks.call('getSpecialNodes');
1509
+ hooks.call('modifyRemoveEventListener', this, sideEffect, getComponentsAlias);
1506
1510
  if (sideEffect !== false && !this.isAnyEventBinded() && SPECIAL_NODES.indexOf(name) > -1) {
1507
1511
  const componentsAlias = getComponentsAlias();
1508
1512
  const value = isHasExtractProp(this) ? `static-${name}` : `pure-${name}`;
@@ -2467,13 +2471,14 @@ class TaroEvent {
2467
2471
  this.defaultPrevented = true;
2468
2472
  }
2469
2473
  get target() {
2470
- var _a, _b, _c;
2474
+ var _a, _b, _c, _d;
2471
2475
  const cacheTarget = this.cacheTarget;
2472
2476
  if (!cacheTarget) {
2473
2477
  const target = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.target) || null);
2474
- const element = env.document.getElementById(((_b = target.dataset) === null || _b === void 0 ? void 0 : _b.sid) || target.id || null);
2478
+ // Note:优先判断冒泡场景alipay的targetDataset的sid, 不然冒泡场景target属性吐出不对,其余拿取当前绑定id
2479
+ const 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);
2475
2480
  target.dataset = element !== null ? element.dataset : EMPTY_OBJ;
2476
- for (const key in (_c = this.mpEvent) === null || _c === void 0 ? void 0 : _c.detail) {
2481
+ for (const key in (_d = this.mpEvent) === null || _d === void 0 ? void 0 : _d.detail) {
2477
2482
  target[key] = this.mpEvent.detail[key];
2478
2483
  }
2479
2484
  this.cacheTarget = target;
@@ -3245,6 +3250,17 @@ class AnchorElement extends TaroElement {
3245
3250
  }
3246
3251
  }
3247
3252
 
3253
+ class TransferElement extends TaroElement {
3254
+ constructor(dataName) {
3255
+ super();
3256
+ this.dataName = dataName;
3257
+ this.isTransferElement = true;
3258
+ }
3259
+ get _path() {
3260
+ return this.dataName;
3261
+ }
3262
+ }
3263
+
3248
3264
  class TaroDocument extends TaroElement {
3249
3265
  constructor() {
3250
3266
  super();
@@ -3265,6 +3281,10 @@ class TaroDocument extends TaroElement {
3265
3281
  case nodeName === A:
3266
3282
  element = new AnchorElement();
3267
3283
  break;
3284
+ case nodeName === 'page-meta':
3285
+ case nodeName === 'navigation-bar':
3286
+ element = new TransferElement(toCamelCase(nodeName));
3287
+ break;
3268
3288
  default:
3269
3289
  element = new TaroElement();
3270
3290
  break;
@@ -4170,7 +4190,7 @@ function createRecursiveComponentConfig(componentName) {
4170
4190
  }
4171
4191
  }
4172
4192
  : EMPTY_OBJ;
4173
- return Object.assign({ properties: {
4193
+ return hooks.call('modifyRecursiveComponentConfig', Object.assign({ properties: {
4174
4194
  i: {
4175
4195
  type: Object,
4176
4196
  value: {
@@ -4186,7 +4206,7 @@ function createRecursiveComponentConfig(componentName) {
4186
4206
  virtualHost: !isCustomWrapper
4187
4207
  }, methods: {
4188
4208
  eh: eventHandler
4189
- } }, lifeCycles);
4209
+ } }, lifeCycles), { isCustomWrapper });
4190
4210
  }
4191
4211
 
4192
4212
  const TIMEOUT = 100;
@@ -4231,5 +4251,5 @@ const nextTick = (cb, ctx) => {
4231
4251
  next();
4232
4252
  };
4233
4253
 
4234
- export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, COMMENT, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, Current, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, FormElement, HEAD, HOOKS_APP_ID, HTML, History, ID, INPUT, KEY_CODE, Location, MutationObserver, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, SVGElement, Style, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, TaroElement, TaroEvent, TaroNode, TaroRootElement, TaroText, UID, URL, URLSearchParams, VALUE, VIEW, addLeadingSlash, _caf as cancelAnimationFrame, createComponentConfig, createEvent, createPageConfig, createRecursiveComponentConfig, document$1 as document, env, eventCenter, eventHandler, eventSource, getComputedStyle, getCurrentInstance, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, history, hydrate, incrementId, injectPageInstance, location, nav as navigator, nextTick, now, options, parseUrl, removePageInstance, _raf as requestAnimationFrame, safeExecute, stringify, window$1 as window };
4254
+ export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, COMMENT, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, Current, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, FormElement, HEAD, HOOKS_APP_ID, HTML, History, ID, INPUT, KEY_CODE, Location, MutationObserver, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, SVGElement, Style, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, TaroElement, TaroEvent, TaroNode, TaroRootElement, TaroText, UID, URL, URLSearchParams, VALUE, VIEW, addLeadingSlash, _caf as cancelAnimationFrame, createComponentConfig, createEvent, createPageConfig, createRecursiveComponentConfig, document$1 as document, env, eventCenter, eventHandler, eventSource, getComputedStyle, getCurrentInstance, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, history, hydrate, incrementId, injectPageInstance, isHasExtractProp, location, nav as navigator, nextTick, now, options, parseUrl, removePageInstance, _raf as requestAnimationFrame, safeExecute, stringify, window$1 as window };
4235
4255
  //# sourceMappingURL=runtime.esm.js.map