@tarojs/runtime 4.0.6 → 4.0.7-alpha.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.
Files changed (43) hide show
  1. package/dist/constants/index.d.ts +2 -1
  2. package/dist/constants/index.js +2 -1
  3. package/dist/constants/index.js.map +1 -1
  4. package/dist/current.d.ts +1 -1
  5. package/dist/dom/element.js +8 -8
  6. package/dist/dom/element.js.map +1 -1
  7. package/dist/dom/event-source.js +1 -1
  8. package/dist/dom/event-source.js.map +1 -1
  9. package/dist/dom/event-target.d.ts +1 -0
  10. package/dist/dom/event-target.js +5 -0
  11. package/dist/dom/event-target.js.map +1 -1
  12. package/dist/dom/event.js +5 -5
  13. package/dist/dom/event.js.map +1 -1
  14. package/dist/dom/node.d.ts +2 -1
  15. package/dist/dom/node.js +7 -7
  16. package/dist/dom/node.js.map +1 -1
  17. package/dist/dom/root.d.ts +1 -0
  18. package/dist/dom/root.js +23 -9
  19. package/dist/dom/root.js.map +1 -1
  20. package/dist/dom-external/mutation-observer/implements.d.ts +1 -1
  21. package/dist/dom-external/mutation-observer/implements.js +2 -2
  22. package/dist/dom-external/mutation-observer/implements.js.map +1 -1
  23. package/dist/dom-external/mutation-observer/index.d.ts +1 -1
  24. package/dist/dsl/common.d.ts +1 -1
  25. package/dist/dsl/common.js +3 -3
  26. package/dist/dsl/common.js.map +1 -1
  27. package/dist/hydrate.js +18 -15
  28. package/dist/hydrate.js.map +1 -1
  29. package/dist/index-26658829.d.ts +1 -1
  30. package/dist/index.cjs.d.ts +6 -3
  31. package/dist/index.cjs.js +73 -49
  32. package/dist/index.cjs.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.js +1 -1
  35. package/dist/runtime.esm.d.ts +6 -3
  36. package/dist/runtime.esm.js +73 -50
  37. package/dist/runtime.esm.js.map +1 -1
  38. package/dist/utils/index.js +1 -1
  39. package/dist/utils/index.js.map +1 -1
  40. package/package.json +2 -2
  41. /package/dist/{instance-4c64b022.d.ts → instance-3211dc5e.d.ts} +0 -0
  42. /package/dist/{options-4c64b022.d.ts → options-3211dc5e.d.ts} +0 -0
  43. /package/dist/{record-32b054d8.d.ts → record-6d0833e0.d.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -29,6 +29,6 @@ export { nextTick } from "./next-tick.js";
29
29
  export { options } from "./options.js";
30
30
  export * from "./perf.js";
31
31
  export * from "./utils/index.js";
32
- export * from "./instance-4c64b022.js";
32
+ export * from "./instance-3211dc5e.js";
33
33
  export * from "./index-26658829.js";
34
34
  export * from "./polyfill/index.js";
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ export { Style } from './dom/style.js';
19
19
  export { SVGElement } from './dom/svg.js';
20
20
  export { TaroText } from './dom/text.js';
21
21
  export { MutationObserver } from './dom-external/mutation-observer/index.js';
22
- export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, HEAD, HOOKS_APP_ID, HTML, ID, INPUT, KEY_CODE, 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, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, UID, VALUE, VIEW } from './constants/index.js';
22
+ export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, CLICK_VIEW, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, HEAD, HOOKS_APP_ID, HTML, ID, INPUT, KEY_CODE, 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, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, UID, VALUE, VIEW } from './constants/index.js';
23
23
  export { Current, getCurrentInstance } from './current.js';
24
24
  export { eventSource } from './dom/event-source.js';
25
25
  export { createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify } from './dsl/common.js';
@@ -68,7 +68,7 @@ interface MiniElementData {
68
68
  [Shortcuts.Class]?: string;
69
69
  [Shortcuts.Style]?: string;
70
70
  uid?: string;
71
- sid: string;
71
+ [Shortcuts.Sid]: string;
72
72
  [key: string]: unknown;
73
73
  }
74
74
  interface MiniTextData {
@@ -141,6 +141,7 @@ declare class TaroEventTarget {
141
141
  addEventListener(type: string, handler: EventHandler, options?: boolean | AddEventListenerOptions): void;
142
142
  removeEventListener(type: string, handler: EventHandler): void;
143
143
  isAnyEventBinded(): boolean;
144
+ isOnlyClickBinded(): boolean;
144
145
  }
145
146
  declare class TaroRootElement extends TaroElement {
146
147
  private updatePayloads;
@@ -150,6 +151,7 @@ declare class TaroRootElement extends TaroElement {
150
151
  constructor();
151
152
  get _path(): string;
152
153
  get _root(): TaroRootElement;
154
+ scheduleTask(fn: TFunc): void;
153
155
  enqueueUpdate(payload: UpdatePayload): void;
154
156
  performUpdate(initRender?: boolean, prerender?: TFunc): void;
155
157
  enqueueUpdateCallback(cb: TFunc, ctx?: Record<string, any>): void;
@@ -161,7 +163,7 @@ interface RemoveChildOptions {
161
163
  }
162
164
  declare class TaroNode extends TaroEventTarget {
163
165
  uid: string;
164
- sid: string;
166
+ [Shortcuts.Sid]: string;
165
167
  nodeType: NodeType;
166
168
  nodeName: string;
167
169
  parentNode: TaroNode | null;
@@ -626,6 +628,7 @@ declare const SET_TIMEOUT = "setTimeout";
626
628
  declare const COMPILE_MODE = "compileMode";
627
629
  declare const CATCHMOVE = "catchMove";
628
630
  declare const CATCH_VIEW = "catch-view";
631
+ declare const CLICK_VIEW = "click-view";
629
632
  declare const COMMENT = "comment";
630
633
  declare const ON_LOAD = "onLoad";
631
634
  declare const ON_READY = "onReady";
@@ -807,4 +810,4 @@ declare const getHomePage: (path?: string, basename?: string, customRoutes?: Rec
807
810
  declare const getCurrentPage: (routerMode?: string, basename?: string) => string;
808
811
  declare function handlePolyfill(): void;
809
812
  export { hooks } from '@tarojs/shared';
810
- export { taroDocumentProvider as document, taroGetComputedStyleProvider as getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, TaroURLProvider as URL, URLSearchParams, taroHistoryProvider as history, taroLocationProvider as location, taroWindowProvider as 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, COMPILE_MODE, 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, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, perf, incrementId, isElement, isText, isComment, isHasExtractProp, isParentBinded, shortcutAttr, customWrapperCache, extend, getComponentsAlias, convertNumber2PX, throttle, debounce, addLeadingSlash, hasBasename, stripBasename, stripTrailing, stripSuffix, getHomePage, getCurrentPage, Instance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniTextData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$1 as Options, TFunc, PageConfig, handlePolyfill };
813
+ export { taroDocumentProvider as document, taroGetComputedStyleProvider as getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, TaroURLProvider as URL, URLSearchParams, taroHistoryProvider as history, taroLocationProvider as location, taroWindowProvider as 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, COMPILE_MODE, CATCHMOVE, CATCH_VIEW, CLICK_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS, Current, getCurrentInstance, eventSource, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, perf, incrementId, isElement, isText, isComment, isHasExtractProp, isParentBinded, shortcutAttr, customWrapperCache, extend, getComponentsAlias, convertNumber2PX, throttle, debounce, addLeadingSlash, hasBasename, stripBasename, stripTrailing, stripSuffix, getHomePage, getCurrentPage, Instance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniTextData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$1 as Options, TFunc, PageConfig, handlePolyfill };
@@ -42,6 +42,7 @@ const SET_TIMEOUT = 'setTimeout';
42
42
  const COMPILE_MODE = 'compileMode';
43
43
  const CATCHMOVE = 'catchMove';
44
44
  const CATCH_VIEW = 'catch-view';
45
+ const CLICK_VIEW = 'click-view';
45
46
  const COMMENT = 'comment';
46
47
  const ON_LOAD = 'onLoad';
47
48
  const ON_READY = 'onReady';
@@ -112,9 +113,9 @@ class MutationObserverImpl {
112
113
  return this.records.splice(0, this.records.length);
113
114
  }
114
115
  }
115
- /** Match two TaroNodes by sid. */
116
+ /** Match two TaroNodes by [Shortcuts.Sid]. */
116
117
  const sidMatches = (observerTarget, target) => {
117
- return !!observerTarget && observerTarget.sid === (target === null || target === void 0 ? void 0 : target.sid);
118
+ return !!observerTarget && observerTarget["s" /* Shortcuts.Sid */] === (target === null || target === void 0 ? void 0 : target["s" /* Shortcuts.Sid */]);
118
119
  };
119
120
  const isConcerned = (record, options) => {
120
121
  const { characterData, characterDataOldValue, attributes, attributeOldValue, childList } = options;
@@ -1174,7 +1175,7 @@ function shortcutAttr(key) {
1174
1175
  case ID:
1175
1176
  return UID;
1176
1177
  case CLASS:
1177
- return "cl" /* Shortcuts.Class */;
1178
+ return "l" /* Shortcuts.Class */;
1178
1179
  default:
1179
1180
  return key;
1180
1181
  }
@@ -1291,7 +1292,7 @@ class ClassList {
1291
1292
 
1292
1293
  class EventSource extends Map {
1293
1294
  removeNode(child) {
1294
- const { sid, uid } = child;
1295
+ const { ["s" /* Shortcuts.Sid */]: sid, uid } = child;
1295
1296
  this.delete(sid);
1296
1297
  if (uid !== sid && uid)
1297
1298
  this.delete(uid);
@@ -1322,24 +1323,27 @@ function hydrate(node) {
1322
1323
  let compileModeName = null;
1323
1324
  if (isText(node)) {
1324
1325
  return {
1325
- sid: node.sid,
1326
+ ["s" /* Shortcuts.Sid */]: node["s" /* Shortcuts.Sid */],
1326
1327
  ["v" /* Shortcuts.Text */]: node.nodeValue,
1327
- ["nn" /* Shortcuts.NodeName */]: ((_a = componentsAlias[nodeName]) === null || _a === void 0 ? void 0 : _a._num) || '8'
1328
+ ["n" /* Shortcuts.NodeName */]: ((_a = componentsAlias[nodeName]) === null || _a === void 0 ? void 0 : _a._num) || '8'
1328
1329
  };
1329
1330
  }
1330
1331
  const data = {
1331
- ["nn" /* Shortcuts.NodeName */]: nodeName,
1332
- sid: node.sid
1332
+ ["n" /* Shortcuts.NodeName */]: nodeName,
1333
+ ["s" /* Shortcuts.Sid */]: node["s" /* Shortcuts.Sid */]
1333
1334
  };
1334
- if (node.uid !== node.sid) {
1335
+ if (node.uid !== node["s" /* Shortcuts.Sid */]) {
1335
1336
  data.uid = node.uid;
1336
1337
  }
1337
1338
  if (!node.isAnyEventBinded() && SPECIAL_NODES.indexOf(nodeName) > -1) {
1338
- data["nn" /* Shortcuts.NodeName */] = `static-${nodeName}`;
1339
+ data["n" /* Shortcuts.NodeName */] = `static-${nodeName}`;
1339
1340
  if (nodeName === VIEW && !isHasExtractProp(node)) {
1340
- data["nn" /* Shortcuts.NodeName */] = PURE_VIEW;
1341
+ data["n" /* Shortcuts.NodeName */] = PURE_VIEW;
1341
1342
  }
1342
1343
  }
1344
+ if (nodeName === VIEW && node.isOnlyClickBinded()) {
1345
+ data["n" /* Shortcuts.NodeName */] = CLICK_VIEW;
1346
+ }
1343
1347
  const { props } = node;
1344
1348
  for (const prop in props) {
1345
1349
  const propInCamelCase = toCamelCase(prop);
@@ -1355,26 +1359,26 @@ function hydrate(node) {
1355
1359
  nodeName === VIEW &&
1356
1360
  propInCamelCase === CATCHMOVE &&
1357
1361
  props[prop] !== false) {
1358
- data["nn" /* Shortcuts.NodeName */] = CATCH_VIEW;
1362
+ data["n" /* Shortcuts.NodeName */] = CATCH_VIEW;
1359
1363
  }
1360
1364
  if (propInCamelCase === COMPILE_MODE) {
1361
1365
  compileModeName = props[prop];
1362
1366
  }
1363
1367
  }
1364
1368
  // Children
1365
- data["cn" /* Shortcuts.Childnodes */] = node.childNodes.filter(node => !isComment(node)).map(hydrate);
1369
+ data["c" /* Shortcuts.Childnodes */] = node.childNodes.filter(node => !isComment(node)).map(hydrate);
1366
1370
  if (node.className !== '') {
1367
- data["cl" /* Shortcuts.Class */] = node.className;
1371
+ data["l" /* Shortcuts.Class */] = node.className;
1368
1372
  }
1369
1373
  const cssText = node.cssText;
1370
1374
  if (cssText !== '' && nodeName !== 'swiper-item') {
1371
1375
  data["st" /* Shortcuts.Style */] = cssText;
1372
1376
  }
1373
1377
  hooks.call('modifyHydrateData', data, node);
1374
- const nn = data["nn" /* Shortcuts.NodeName */];
1375
- const componentAlias = componentsAlias[nn];
1378
+ const n = data["n" /* Shortcuts.NodeName */];
1379
+ const componentAlias = componentsAlias[n];
1376
1380
  if (componentAlias) {
1377
- data["nn" /* Shortcuts.NodeName */] = componentAlias._num;
1381
+ data["n" /* Shortcuts.NodeName */] = componentAlias._num;
1378
1382
  for (const prop in data) {
1379
1383
  if (prop in componentAlias) {
1380
1384
  data[componentAlias[prop]] = data[prop];
@@ -1383,7 +1387,7 @@ function hydrate(node) {
1383
1387
  }
1384
1388
  }
1385
1389
  if (compileModeName !== null) {
1386
- data["nn" /* Shortcuts.NodeName */] = compileModeName;
1390
+ data["n" /* Shortcuts.NodeName */] = compileModeName;
1387
1391
  }
1388
1392
  const resData = hooks.call('transferHydrateData', data, node, componentAlias);
1389
1393
  return resData || data;
@@ -1461,9 +1465,14 @@ class TaroEventTarget {
1461
1465
  const isAnyEventBinded = Object.keys(handlers).find(key => handlers[key].length);
1462
1466
  return Boolean(isAnyEventBinded);
1463
1467
  }
1468
+ isOnlyClickBinded() {
1469
+ const handlers = this.__handlers;
1470
+ const isOnlyClickBinded = handlers.tap && Object.keys(handlers).length === 1;
1471
+ return Boolean(isOnlyClickBinded);
1472
+ }
1464
1473
  }
1465
1474
 
1466
- const CHILDNODES = "cn" /* Shortcuts.Childnodes */;
1475
+ const CHILDNODES = "c" /* Shortcuts.Childnodes */;
1467
1476
  const nodeId = incrementId();
1468
1477
  class TaroNode extends TaroEventTarget {
1469
1478
  constructor() {
@@ -1472,8 +1481,8 @@ class TaroNode extends TaroEventTarget {
1472
1481
  this.childNodes = [];
1473
1482
  this.hydrate = (node) => () => hydrate(node);
1474
1483
  this.uid = '_' + nodeId(); // dom 节点 id,开发者可修改
1475
- this.sid = this.uid; // dom 节点全局唯一 id,不可被修改
1476
- eventSource.set(this.sid, this);
1484
+ this["s" /* Shortcuts.Sid */] = this.uid; // dom 节点全局唯一 id,不可被修改
1485
+ eventSource.set(this["s" /* Shortcuts.Sid */], this);
1477
1486
  }
1478
1487
  updateChildNodes(isClean) {
1479
1488
  const cleanChildNodes = () => [];
@@ -1628,13 +1637,13 @@ class TaroNode extends TaroEventTarget {
1628
1637
  // insertBefore 有两种更新模式
1629
1638
  // 比方说有 A B C 三个节点,现在要在 C 前插入 D
1630
1639
  // 1. 插入 D,然后更新整个父节点的 childNodes 数组
1631
- // setData({ cn: [A, B, D, C] })
1640
+ // setData({ c: [A, B, D, C] })
1632
1641
  // 2. 插入 D,然后更新 D 以及 D 之后每个节点的数据
1633
1642
  // setData ({
1634
- // cn.[2]: D,
1635
- // cn.[3]: C,
1643
+ // c.[2]: D,
1644
+ // c.[3]: C,
1636
1645
  // })
1637
- // 由于微信解析 ’cn.[2]‘ 这些路径的时候也需要消耗时间,
1646
+ // 由于微信解析 ’c.[2]‘ 这些路径的时候也需要消耗时间,
1638
1647
  // 所以根据 insertBefore 插入的位置来做不同的处理
1639
1648
  const mark = childNodesLength * 2 / 3;
1640
1649
  if (mark > index) {
@@ -2222,8 +2231,8 @@ class TaroElement extends TaroNode {
2222
2231
  this.style.cssText = value;
2223
2232
  break;
2224
2233
  case ID:
2225
- if (this.uid !== this.sid) {
2226
- // eventSource[sid] 永远保留,直到组件卸载
2234
+ if (this.uid !== this["s" /* Shortcuts.Sid */]) {
2235
+ // eventSource[Shortcuts.Sid] 永远保留,直到组件卸载
2227
2236
  // eventSource[uid] 可变
2228
2237
  eventSource.delete(this.uid);
2229
2238
  }
@@ -2267,14 +2276,14 @@ class TaroElement extends TaroNode {
2267
2276
  // catchMove = true: catch-view
2268
2277
  // catchMove = false: view or static-view
2269
2278
  this.enqueueUpdate({
2270
- path: `${_path}.${"nn" /* Shortcuts.NodeName */}`,
2279
+ path: `${_path}.${"n" /* Shortcuts.NodeName */}`,
2271
2280
  value: value ? catchViewAlias : (this.isAnyEventBinded() ? viewAlias : staticViewAlias)
2272
2281
  });
2273
2282
  }
2274
2283
  else if (isPureView && isHasExtractProp(this)) {
2275
2284
  // pure-view => static-view
2276
2285
  this.enqueueUpdate({
2277
- path: `${_path}.${"nn" /* Shortcuts.NodeName */}`,
2286
+ path: `${_path}.${"n" /* Shortcuts.NodeName */}`,
2278
2287
  value: staticViewAlias
2279
2288
  });
2280
2289
  }
@@ -2326,14 +2335,14 @@ class TaroElement extends TaroNode {
2326
2335
  if (qualifiedNameInCamelCase === CATCHMOVE) {
2327
2336
  // catch-view => view or static-view or pure-view
2328
2337
  this.enqueueUpdate({
2329
- path: `${_path}.${"nn" /* Shortcuts.NodeName */}`,
2338
+ path: `${_path}.${"n" /* Shortcuts.NodeName */}`,
2330
2339
  value: this.isAnyEventBinded() ? viewAlias : (isHasExtractProp(this) ? staticViewAlias : pureViewAlias)
2331
2340
  });
2332
2341
  }
2333
2342
  else if (isStaticView && !isHasExtractProp(this)) {
2334
2343
  // static-view => pure-view
2335
2344
  this.enqueueUpdate({
2336
- path: `${_path}.${"nn" /* Shortcuts.NodeName */}`,
2345
+ path: `${_path}.${"n" /* Shortcuts.NodeName */}`,
2337
2346
  value: pureViewAlias
2338
2347
  });
2339
2348
  }
@@ -2402,7 +2411,7 @@ class TaroElement extends TaroNode {
2402
2411
  const componentsAlias = getComponentsAlias();
2403
2412
  const alias = componentsAlias[name]._num;
2404
2413
  this.enqueueUpdate({
2405
- path: `${this._path}.${"nn" /* Shortcuts.NodeName */}`,
2414
+ path: `${this._path}.${"n" /* Shortcuts.NodeName */}`,
2406
2415
  value: alias
2407
2416
  });
2408
2417
  }
@@ -2418,7 +2427,7 @@ class TaroElement extends TaroNode {
2418
2427
  const value = isHasExtractProp(this) ? `static-${name}` : `pure-${name}`;
2419
2428
  const valueAlias = componentsAlias[value]._num;
2420
2429
  this.enqueueUpdate({
2421
- path: `${this._path}.${"nn" /* Shortcuts.NodeName */}`,
2430
+ path: `${this._path}.${"n" /* Shortcuts.NodeName */}`,
2422
2431
  value: valueAlias
2423
2432
  });
2424
2433
  }
@@ -3382,9 +3391,9 @@ class TaroEvent {
3382
3391
  const cacheTarget = this.cacheTarget;
3383
3392
  if (!cacheTarget) {
3384
3393
  const target = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.target) || null);
3385
- const currentEle = env.document.getElementById(((_b = target.dataset) === null || _b === void 0 ? void 0 : _b.sid) || target.id || null);
3394
+ const currentEle = env.document.getElementById(((_b = target.dataset) === null || _b === void 0 ? void 0 : _b["s" /* Shortcuts.Sid */]) || target.id || null);
3386
3395
  // Note:优先判断冒泡场景alipay的targetDataset的sid, 不然冒泡场景target属性吐出不对,其余拿取当前绑定id
3387
- const element = env.document.getElementById(((_c = target.targetDataset) === null || _c === void 0 ? void 0 : _c.sid) || ((_d = target.dataset) === null || _d === void 0 ? void 0 : _d.sid) || target.id || null);
3396
+ const element = env.document.getElementById(((_c = target.targetDataset) === null || _c === void 0 ? void 0 : _c["s" /* Shortcuts.Sid */]) || ((_d = target.dataset) === null || _d === void 0 ? void 0 : _d["s" /* Shortcuts.Sid */]) || target.id || null);
3388
3397
  target.dataset = Object.assign(Object.assign({}, (currentEle !== null ? currentEle.dataset : EMPTY_OBJ)), (element !== null ? element.dataset : EMPTY_OBJ));
3389
3398
  for (const key in (_e = this.mpEvent) === null || _e === void 0 ? void 0 : _e.detail) {
3390
3399
  target[key] = this.mpEvent.detail[key];
@@ -3402,8 +3411,8 @@ class TaroEvent {
3402
3411
  if (!cacheCurrentTarget) {
3403
3412
  const doc = env.document;
3404
3413
  const currentTarget = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.currentTarget) || null);
3405
- const element = doc.getElementById(((_b = currentTarget.dataset) === null || _b === void 0 ? void 0 : _b.sid) || currentTarget.id || null);
3406
- const 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);
3414
+ const element = doc.getElementById(((_b = currentTarget.dataset) === null || _b === void 0 ? void 0 : _b["s" /* Shortcuts.Sid */]) || currentTarget.id || null);
3415
+ const 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["s" /* Shortcuts.Sid */]) || ((_g = (_f = this.mpEvent) === null || _f === void 0 ? void 0 : _f.target) === null || _g === void 0 ? void 0 : _g.id) || null);
3407
3416
  if (element === null || (element && element === targetElement)) {
3408
3417
  this.cacheCurrentTarget = this.target;
3409
3418
  return this.target;
@@ -3461,7 +3470,7 @@ function eventHandler(event) {
3461
3470
  event.currentTarget = event.currentTarget || event.target || Object.assign({}, event);
3462
3471
  hooks.call('modifyMpEventImpl', event);
3463
3472
  const currentTarget = event.currentTarget;
3464
- const id = ((_a = currentTarget.dataset) === null || _a === void 0 ? void 0 : _a.sid /** sid */) || currentTarget.id /** uid */ || ((_b = event.detail) === null || _b === void 0 ? void 0 : _b.id) || '';
3473
+ const id = ((_a = currentTarget.dataset) === null || _a === void 0 ? void 0 : _a["s" /* Shortcuts.Sid */] /** sid */) || currentTarget.id /** uid */ || ((_b = event.detail) === null || _b === void 0 ? void 0 : _b.id) || '';
3465
3474
  const node = env.document.getElementById(id);
3466
3475
  if (node) {
3467
3476
  const dispatch = () => {
@@ -3571,7 +3580,7 @@ _Performance_instances = new WeakSet(), _Performance_parseTime = function _Perfo
3571
3580
  const perf = new Performance();
3572
3581
 
3573
3582
  function findCustomWrapper(root, dataPathArr) {
3574
- // ['root', 'cn', '[0]'] remove 'root' => ['cn', '[0]']
3583
+ // ['root', 'c', '[0]'] remove 'root' => ['c', '[0]']
3575
3584
  const list = dataPathArr.slice(1);
3576
3585
  let currentData = root;
3577
3586
  let customWrapper;
@@ -3580,8 +3589,8 @@ function findCustomWrapper(root, dataPathArr) {
3580
3589
  const key = item
3581
3590
  // '[0]' => '0'
3582
3591
  .replace(/^\[(.+)\]$/, '$1')
3583
- // 'cn' => 'childNodes'
3584
- .replace(/\bcn\b/g, 'childNodes');
3592
+ // 'c' => 'Shortcuts.Childnodes'
3593
+ .replace(/\bc\b/g, 'childNodes');
3585
3594
  currentData = currentData[key];
3586
3595
  if (isArray(currentData)) {
3587
3596
  currentData = currentData.filter(el => !isComment(el));
@@ -3589,7 +3598,7 @@ function findCustomWrapper(root, dataPathArr) {
3589
3598
  if (isUndefined(currentData))
3590
3599
  return true;
3591
3600
  if (currentData.nodeName === CUSTOM_WRAPPER) {
3592
- const res = customWrapperCache.get(currentData.sid);
3601
+ const res = customWrapperCache.get(currentData["s" /* Shortcuts.Sid */]);
3593
3602
  if (res) {
3594
3603
  customWrapper = res;
3595
3604
  splitedPath = dataPathArr.slice(i + 2).join('.');
@@ -3619,6 +3628,20 @@ class TaroRootElement extends TaroElement {
3619
3628
  get _root() {
3620
3629
  return this;
3621
3630
  }
3631
+ scheduleTask(fn) {
3632
+ if (isFunction(Promise)) {
3633
+ Promise.resolve()
3634
+ .then(fn)
3635
+ .catch((error) => {
3636
+ setTimeout(() => {
3637
+ throw error;
3638
+ });
3639
+ });
3640
+ }
3641
+ else {
3642
+ setTimeout(fn);
3643
+ }
3644
+ }
3622
3645
  enqueueUpdate(payload) {
3623
3646
  this.updatePayloads.push(payload);
3624
3647
  if (!this.pendingUpdate && this.ctx) {
@@ -3628,16 +3651,16 @@ class TaroRootElement extends TaroElement {
3628
3651
  performUpdate(initRender = false, prerender) {
3629
3652
  this.pendingUpdate = true;
3630
3653
  const ctx = hooks.call('proxyToRaw', this.ctx);
3631
- setTimeout(() => {
3654
+ this.scheduleTask(() => {
3632
3655
  const setDataMark = `${SET_DATA} 开始时间戳 ${Date.now()}`;
3633
3656
  perf.start(setDataMark);
3634
3657
  const data = Object.create(null);
3635
3658
  const resetPaths = new Set(initRender
3636
- ? ['root.cn.[0]', 'root.cn[0]']
3659
+ ? [`root.${"c" /* Shortcuts.Childnodes */}.[0]`, `root.${"c" /* Shortcuts.Childnodes */}[0]`]
3637
3660
  : []);
3638
3661
  while (this.updatePayloads.length > 0) {
3639
3662
  const { path, value } = this.updatePayloads.shift();
3640
- if (path.endsWith("cn" /* Shortcuts.Childnodes */)) {
3663
+ if (path.endsWith("c" /* Shortcuts.Childnodes */)) {
3641
3664
  resetPaths.add(path);
3642
3665
  }
3643
3666
  data[path] = value;
@@ -3711,7 +3734,7 @@ class TaroRootElement extends TaroElement {
3711
3734
  }
3712
3735
  ctx.setData(normalUpdate, cb);
3713
3736
  }
3714
- }, 0);
3737
+ });
3715
3738
  }
3716
3739
  enqueueUpdateCallback(cb, ctx) {
3717
3740
  this.updateCallbacks.push(() => {
@@ -4212,7 +4235,7 @@ function createRecursiveComponentConfig(componentName) {
4212
4235
  ? {
4213
4236
  [ATTACHED]() {
4214
4237
  var _a, _b;
4215
- const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a.sid) || ((_b = this.props.i) === null || _b === void 0 ? void 0 : _b.sid);
4238
+ const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a["s" /* Shortcuts.Sid */]) || ((_b = this.props.i) === null || _b === void 0 ? void 0 : _b["s" /* Shortcuts.Sid */]);
4216
4239
  if (isString(componentId)) {
4217
4240
  customWrapperCache.set(componentId, this);
4218
4241
  const el = env.document.getElementById(componentId);
@@ -4223,7 +4246,7 @@ function createRecursiveComponentConfig(componentName) {
4223
4246
  },
4224
4247
  [DETACHED]() {
4225
4248
  var _a, _b;
4226
- const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a.sid) || ((_b = this.props.i) === null || _b === void 0 ? void 0 : _b.sid);
4249
+ const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a["s" /* Shortcuts.Sid */]) || ((_b = this.props.i) === null || _b === void 0 ? void 0 : _b["s" /* Shortcuts.Sid */]);
4227
4250
  if (isString(componentId)) {
4228
4251
  customWrapperCache.delete(componentId);
4229
4252
  const el = env.document.getElementById(componentId);
@@ -4238,7 +4261,7 @@ function createRecursiveComponentConfig(componentName) {
4238
4261
  i: {
4239
4262
  type: Object,
4240
4263
  value: {
4241
- ["nn" /* Shortcuts.NodeName */]: getComponentsAlias$1(internalComponents)[VIEW]._num
4264
+ ["n" /* Shortcuts.NodeName */]: getComponentsAlias$1(internalComponents)[VIEW]._num
4242
4265
  }
4243
4266
  },
4244
4267
  l: {
@@ -5065,5 +5088,5 @@ if (process.env.SUPPORT_TARO_POLYFILL !== 'disabled' && process.env.TARO_PLATFOR
5065
5088
  handlePolyfill();
5066
5089
  }
5067
5090
 
5068
- export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, COMMENT, COMPILE_MODE, 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$1 as 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, TaroURLProvider as URL, URLSearchParams, VALUE, VIEW, addLeadingSlash, _caf as cancelAnimationFrame, convertNumber2PX, createComponentConfig, createEvent, createPageConfig, createRecursiveComponentConfig, customWrapperCache, debounce, taroDocumentProvider as document, env, eventCenter, eventHandler, eventSource, extend, getComponentsAlias, taroGetComputedStyleProvider as getComputedStyle, getCurrentInstance, getCurrentPage, getHomePage, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, handlePolyfill, hasBasename, taroHistoryProvider as history, hydrate, incrementId, injectPageInstance, isComment, isElement, isHasExtractProp, isParentBinded, isText, taroLocationProvider as location, nav as navigator, nextTick, now, options, parseUrl, perf, removePageInstance, _raf as requestAnimationFrame, safeExecute, shortcutAttr, stringify, stripBasename, stripSuffix, stripTrailing, throttle, taroWindowProvider as window };
5091
+ export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, CLICK_VIEW, COMMENT, COMPILE_MODE, 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$1 as 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, TaroURLProvider as URL, URLSearchParams, VALUE, VIEW, addLeadingSlash, _caf as cancelAnimationFrame, convertNumber2PX, createComponentConfig, createEvent, createPageConfig, createRecursiveComponentConfig, customWrapperCache, debounce, taroDocumentProvider as document, env, eventCenter, eventHandler, eventSource, extend, getComponentsAlias, taroGetComputedStyleProvider as getComputedStyle, getCurrentInstance, getCurrentPage, getHomePage, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, handlePolyfill, hasBasename, taroHistoryProvider as history, hydrate, incrementId, injectPageInstance, isComment, isElement, isHasExtractProp, isParentBinded, isText, taroLocationProvider as location, nav as navigator, nextTick, now, options, parseUrl, perf, removePageInstance, _raf as requestAnimationFrame, safeExecute, shortcutAttr, stringify, stripBasename, stripSuffix, stripTrailing, throttle, taroWindowProvider as window };
5069
5092
  //# sourceMappingURL=runtime.esm.js.map