@next-core/runtime 1.44.1 → 1.44.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.
Files changed (219) hide show
  1. package/dist/cjs/CustomProcessors.js.map +1 -1
  2. package/dist/cjs/CustomTemplates.js +7 -11
  3. package/dist/cjs/CustomTemplates.js.map +1 -1
  4. package/dist/cjs/createRoot.js +11 -5
  5. package/dist/cjs/createRoot.js.map +1 -1
  6. package/dist/cjs/getPageInfo.js.map +1 -1
  7. package/dist/cjs/handleHttpError.js.map +1 -1
  8. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js +4 -5
  9. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  10. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +4 -7
  11. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  12. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js +21 -24
  13. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  14. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js +4 -7
  15. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  16. package/dist/cjs/internal/CustomTemplates/utils.js +3 -3
  17. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
  18. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js +3 -3
  19. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  20. package/dist/cjs/internal/FormRenderer/utils.js +2 -2
  21. package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
  22. package/dist/cjs/internal/Renderer.js +11 -14
  23. package/dist/cjs/internal/Renderer.js.map +1 -1
  24. package/dist/cjs/internal/RendererContext.js +8 -10
  25. package/dist/cjs/internal/RendererContext.js.map +1 -1
  26. package/dist/cjs/internal/Router.js +3 -0
  27. package/dist/cjs/internal/Router.js.map +1 -1
  28. package/dist/cjs/internal/Runtime.js +14 -14
  29. package/dist/cjs/internal/Runtime.js.map +1 -1
  30. package/dist/cjs/internal/bindListeners.js +2 -3
  31. package/dist/cjs/internal/bindListeners.js.map +1 -1
  32. package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -1
  33. package/dist/cjs/internal/compute/evaluate.js +4 -4
  34. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  35. package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
  36. package/dist/cjs/internal/compute/getStorageItem.js +1 -2
  37. package/dist/cjs/internal/compute/getStorageItem.js.map +1 -1
  38. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
  39. package/dist/cjs/internal/compute/setRealProperties.js.map +1 -1
  40. package/dist/cjs/internal/data/DataStore.js.map +1 -1
  41. package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
  42. package/dist/cjs/internal/data/realTimeDataInspect.js.map +1 -1
  43. package/dist/cjs/internal/data/resolveData.js.map +1 -1
  44. package/dist/cjs/internal/data/resolveDataStore.js +2 -4
  45. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
  46. package/dist/cjs/internal/hasInstalledApp.js.map +1 -1
  47. package/dist/cjs/internal/historyExtended.js.map +1 -1
  48. package/dist/cjs/internal/matchPath.js.map +1 -1
  49. package/dist/cjs/internal/matchRoutes.js.map +1 -1
  50. package/dist/cjs/internal/matchStoryboard.js +2 -2
  51. package/dist/cjs/internal/matchStoryboard.js.map +1 -1
  52. package/dist/cjs/internal/mediaQuery.js.map +1 -1
  53. package/dist/cjs/internal/mount.js.map +1 -1
  54. package/dist/cjs/internal/poll.js +3 -3
  55. package/dist/cjs/internal/poll.js.map +1 -1
  56. package/dist/cjs/internal/registerAppI18n.js.map +1 -1
  57. package/dist/cjs/internal/registerCustomTemplates.js.map +1 -1
  58. package/dist/cjs/internal/secret_internals.js +4 -4
  59. package/dist/cjs/internal/secret_internals.js.map +1 -1
  60. package/dist/cjs/internal/setupRootRuntimeContext.js +2 -3
  61. package/dist/cjs/internal/setupRootRuntimeContext.js.map +1 -1
  62. package/dist/cjs/isStrictMode.js.map +1 -1
  63. package/dist/cjs/setLoginStateCookie.js.map +1 -1
  64. package/dist/cjs/setWatermark.js +4 -4
  65. package/dist/cjs/setWatermark.js.map +1 -1
  66. package/dist/cjs/themeAndMode.js +1 -2
  67. package/dist/cjs/themeAndMode.js.map +1 -1
  68. package/dist/esm/CustomProcessors.js +5 -5
  69. package/dist/esm/CustomProcessors.js.map +1 -1
  70. package/dist/esm/CustomTemplates.js +48 -58
  71. package/dist/esm/CustomTemplates.js.map +1 -1
  72. package/dist/esm/Dialog.js +3 -3
  73. package/dist/esm/Dialog.js.map +1 -1
  74. package/dist/esm/Notification.js +2 -2
  75. package/dist/esm/Notification.js.map +1 -1
  76. package/dist/esm/StoryboardFunctionRegistry.js +18 -18
  77. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
  78. package/dist/esm/createRoot.js +125 -123
  79. package/dist/esm/createRoot.js.map +1 -1
  80. package/dist/esm/fetchByProvider.js +3 -10
  81. package/dist/esm/fetchByProvider.js.map +1 -1
  82. package/dist/esm/getBasePath.js +2 -2
  83. package/dist/esm/getBasePath.js.map +1 -1
  84. package/dist/esm/getPageInfo.js +5 -5
  85. package/dist/esm/getPageInfo.js.map +1 -1
  86. package/dist/esm/getRealValue.js +7 -6
  87. package/dist/esm/getRealValue.js.map +1 -1
  88. package/dist/esm/getV2RuntimeFromDll.js +1 -1
  89. package/dist/esm/getV2RuntimeFromDll.js.map +1 -1
  90. package/dist/esm/handleHttpError.js +11 -11
  91. package/dist/esm/handleHttpError.js.map +1 -1
  92. package/dist/esm/history.js +4 -4
  93. package/dist/esm/history.js.map +1 -1
  94. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js +13 -17
  95. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  96. package/dist/esm/internal/CustomTemplates/constants.js +5 -5
  97. package/dist/esm/internal/CustomTemplates/constants.js.map +1 -1
  98. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +41 -42
  99. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  100. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js +43 -46
  101. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  102. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js +16 -18
  103. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  104. package/dist/esm/internal/CustomTemplates/utils.js +8 -8
  105. package/dist/esm/internal/CustomTemplates/utils.js.map +1 -1
  106. package/dist/esm/internal/FormRenderer/constants.js +2 -2
  107. package/dist/esm/internal/FormRenderer/constants.js.map +1 -1
  108. package/dist/esm/internal/FormRenderer/expandFormRenderer.js +28 -23
  109. package/dist/esm/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  110. package/dist/esm/internal/FormRenderer/getDefaultProperties.js +45 -22
  111. package/dist/esm/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  112. package/dist/esm/internal/FormRenderer/utils.js +4 -4
  113. package/dist/esm/internal/FormRenderer/utils.js.map +1 -1
  114. package/dist/esm/internal/Renderer.js +517 -577
  115. package/dist/esm/internal/Renderer.js.map +1 -1
  116. package/dist/esm/internal/RendererContext.js +132 -148
  117. package/dist/esm/internal/RendererContext.js.map +1 -1
  118. package/dist/esm/internal/Router.js +325 -343
  119. package/dist/esm/internal/Router.js.map +1 -1
  120. package/dist/esm/internal/Runtime.js +53 -51
  121. package/dist/esm/internal/Runtime.js.map +1 -1
  122. package/dist/esm/internal/abortController.js +7 -6
  123. package/dist/esm/internal/abortController.js.map +1 -1
  124. package/dist/esm/internal/bindListeners.js +136 -156
  125. package/dist/esm/internal/bindListeners.js.map +1 -1
  126. package/dist/esm/internal/compute/StoryboardFunctions.js +1 -1
  127. package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -1
  128. package/dist/esm/internal/compute/WidgetFunctions.js +6 -6
  129. package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -1
  130. package/dist/esm/internal/compute/WidgetI18n.js +4 -4
  131. package/dist/esm/internal/compute/WidgetI18n.js.map +1 -1
  132. package/dist/esm/internal/compute/checkIf.js +10 -23
  133. package/dist/esm/internal/compute/checkIf.js.map +1 -1
  134. package/dist/esm/internal/compute/computeRealProperties.js +22 -35
  135. package/dist/esm/internal/compute/computeRealProperties.js.map +1 -1
  136. package/dist/esm/internal/compute/computeRealValue.js +42 -49
  137. package/dist/esm/internal/compute/computeRealValue.js.map +1 -1
  138. package/dist/esm/internal/compute/evaluate.js +71 -75
  139. package/dist/esm/internal/compute/evaluate.js.map +1 -1
  140. package/dist/esm/internal/compute/getGeneralGlobals.js +5 -5
  141. package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
  142. package/dist/esm/internal/compute/getNextStateOfUseBrick.js +1 -1
  143. package/dist/esm/internal/compute/getStorageItem.js +2 -3
  144. package/dist/esm/internal/compute/getStorageItem.js.map +1 -1
  145. package/dist/esm/internal/compute/getTracks.js +5 -5
  146. package/dist/esm/internal/compute/getTracks.js.map +1 -1
  147. package/dist/esm/internal/compute/listenOnTrackingContext.js +8 -11
  148. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
  149. package/dist/esm/internal/compute/markAsComputed.js +2 -2
  150. package/dist/esm/internal/compute/markAsComputed.js.map +1 -1
  151. package/dist/esm/internal/compute/setProperties.js +1 -1
  152. package/dist/esm/internal/compute/setProperties.js.map +1 -1
  153. package/dist/esm/internal/compute/setRealProperties.js +3 -3
  154. package/dist/esm/internal/compute/setRealProperties.js.map +1 -1
  155. package/dist/esm/internal/customizeColorTheme.js +15 -13
  156. package/dist/esm/internal/customizeColorTheme.js.map +1 -1
  157. package/dist/esm/internal/data/DataStore.js +161 -177
  158. package/dist/esm/internal/data/DataStore.js.map +1 -1
  159. package/dist/esm/internal/data/getProviderBrick.js +21 -28
  160. package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
  161. package/dist/esm/internal/data/realTimeDataInspect.js +5 -5
  162. package/dist/esm/internal/data/realTimeDataInspect.js.map +1 -1
  163. package/dist/esm/internal/data/resolveData.js +89 -103
  164. package/dist/esm/internal/data/resolveData.js.map +1 -1
  165. package/dist/esm/internal/data/resolveDataStore.js +53 -67
  166. package/dist/esm/internal/data/resolveDataStore.js.map +1 -1
  167. package/dist/esm/internal/devtools.js +9 -9
  168. package/dist/esm/internal/devtools.js.map +1 -1
  169. package/dist/esm/internal/enums.js +1 -1
  170. package/dist/esm/internal/fulfilStoryboard.js +15 -28
  171. package/dist/esm/internal/fulfilStoryboard.js.map +1 -1
  172. package/dist/esm/internal/hasInstalledApp.js +3 -3
  173. package/dist/esm/internal/hasInstalledApp.js.map +1 -1
  174. package/dist/esm/internal/historyExtended.js +40 -37
  175. package/dist/esm/internal/historyExtended.js.map +1 -1
  176. package/dist/esm/internal/i18n.js +5 -5
  177. package/dist/esm/internal/i18n.js.map +1 -1
  178. package/dist/esm/internal/injected.js +1 -1
  179. package/dist/esm/internal/injected.js.map +1 -1
  180. package/dist/esm/internal/insertPreviewRoutes.js +3 -3
  181. package/dist/esm/internal/insertPreviewRoutes.js.map +1 -1
  182. package/dist/esm/internal/matchPath.js +17 -17
  183. package/dist/esm/internal/matchPath.js.map +1 -1
  184. package/dist/esm/internal/matchRoutes.js +18 -25
  185. package/dist/esm/internal/matchRoutes.js.map +1 -1
  186. package/dist/esm/internal/matchStoryboard.js +6 -6
  187. package/dist/esm/internal/matchStoryboard.js.map +1 -1
  188. package/dist/esm/internal/mediaQuery.js +11 -11
  189. package/dist/esm/internal/mediaQuery.js.map +1 -1
  190. package/dist/esm/internal/mount.js +7 -7
  191. package/dist/esm/internal/mount.js.map +1 -1
  192. package/dist/esm/internal/poll.js +53 -60
  193. package/dist/esm/internal/poll.js.map +1 -1
  194. package/dist/esm/internal/proxyFactories.js +4 -4
  195. package/dist/esm/internal/proxyFactories.js.map +1 -1
  196. package/dist/esm/internal/registerAppI18n.js +6 -6
  197. package/dist/esm/internal/registerAppI18n.js.map +1 -1
  198. package/dist/esm/internal/registerCustomTemplates.js +3 -3
  199. package/dist/esm/internal/registerCustomTemplates.js.map +1 -1
  200. package/dist/esm/internal/secret_internals.js +140 -146
  201. package/dist/esm/internal/secret_internals.js.map +1 -1
  202. package/dist/esm/internal/setupRootRuntimeContext.js +6 -7
  203. package/dist/esm/internal/setupRootRuntimeContext.js.map +1 -1
  204. package/dist/esm/internal/sse.js +24 -53
  205. package/dist/esm/internal/sse.js.map +1 -1
  206. package/dist/esm/internal/test_only.js +1 -1
  207. package/dist/esm/isStrictMode.js +3 -3
  208. package/dist/esm/isStrictMode.js.map +1 -1
  209. package/dist/esm/setAppVariable.js +1 -1
  210. package/dist/esm/setAppVariable.js.map +1 -1
  211. package/dist/esm/setLoginStateCookie.js +5 -5
  212. package/dist/esm/setLoginStateCookie.js.map +1 -1
  213. package/dist/esm/setUIVersion.js +1 -1
  214. package/dist/esm/setWatermark.js +13 -13
  215. package/dist/esm/setWatermark.js.map +1 -1
  216. package/dist/esm/themeAndMode.js +14 -13
  217. package/dist/esm/themeAndMode.js.map +1 -1
  218. package/dist/types/tsdoc-metadata.json +1 -1
  219. package/package.json +12 -12
@@ -1,4 +1,3 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
1
  import _classPrivateMethodInitSpec from "@babel/runtime/helpers/classPrivateMethodInitSpec";
3
2
  import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
4
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
@@ -14,8 +13,8 @@ import { mountTree } from "./mount.js";
14
13
  import { RenderTag } from "./enums.js";
15
14
  import { unbindTemplateProxy } from "./CustomTemplates/bindTemplateProxy.js";
16
15
  import { hooks } from "./Runtime.js";
17
- var commonLifeCycles = ["onMount", "onUnmount", "onMediaChange", "onScrollIntoView", "onMessage", "onMessageClose"];
18
- var pageOnlyLifeCycles = ["onBeforePageLoad", "onPageLoad", "onPageLeave", "onBeforePageLeave", "onAnchorLoad", "onAnchorUnload"];
16
+ const commonLifeCycles = ["onMount", "onUnmount", "onMediaChange", "onScrollIntoView", "onMessage", "onMessageClose"];
17
+ const pageOnlyLifeCycles = ["onBeforePageLoad", "onPageLoad", "onPageLeave", "onBeforePageLeave", "onAnchorLoad", "onAnchorUnload"];
19
18
  var _routeHelper = /*#__PURE__*/new WeakMap();
20
19
  var _memoizedLifeCycle = /*#__PURE__*/new WeakMap();
21
20
  var _observers = /*#__PURE__*/new WeakMap();
@@ -28,7 +27,6 @@ var _incrementalRenderStates = /*#__PURE__*/new WeakMap();
28
27
  var _RendererContext_brand = /*#__PURE__*/new WeakSet();
29
28
  export class RendererContext {
30
29
  constructor(scope, options) {
31
- var _options$unknownBrick;
32
30
  _classPrivateMethodInitSpec(this, _RendererContext_brand);
33
31
  /**
34
32
  * - page: render as whole page, triggering page life cycles.
@@ -60,7 +58,7 @@ export class RendererContext {
60
58
  _classPrivateFieldInitSpec(this, _memoizedMenuRequestNodeMap, new WeakMap());
61
59
  _classPrivateFieldInitSpec(this, _incrementalRenderStates, new Map());
62
60
  this.scope = scope;
63
- this.unknownBricks = (_options$unknownBrick = options === null || options === void 0 ? void 0 : options.unknownBricks) !== null && _options$unknownBrick !== void 0 ? _options$unknownBrick : "throw";
61
+ this.unknownBricks = (options === null || options === void 0 ? void 0 : options.unknownBricks) ?? "throw";
64
62
  _classPrivateFieldSet(_routeHelper, this, options === null || options === void 0 ? void 0 : options.routeHelper);
65
63
  this.renderId = options === null || options === void 0 ? void 0 : options.renderId;
66
64
  }
@@ -71,8 +69,8 @@ export class RendererContext {
71
69
  _classPrivateFieldGet(_memoizedMenuRequestNodeMap, this).set(routes, menuRequestNode);
72
70
  }
73
71
  getMenuRequests() {
74
- var menuRequests = [];
75
- var current = _classPrivateFieldGet(_initialMenuRequestNode, this);
72
+ const menuRequests = [];
73
+ let current = _classPrivateFieldGet(_initialMenuRequestNode, this);
76
74
  while (current) {
77
75
  if (current.request) {
78
76
  menuRequests.push(current.request);
@@ -89,30 +87,26 @@ export class RendererContext {
89
87
  }
90
88
  return menuRequests;
91
89
  }
92
- reMergeMenuRequestNodes(parentMenuRequestNode, routes) {
93
- var _arguments = arguments,
94
- _this = this;
95
- return _asyncToGenerator(function* () {
96
- var menuRequestNode = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : {};
97
- var node = _classPrivateFieldGet(_memoizedMenuRequestNodeMap, _this).get(routes);
98
- _classPrivateFieldGet(_memoizedMenuRequestNodeMap, _this).set(routes, menuRequestNode);
99
- var current = parentMenuRequestNode.child;
100
- var previousSibling;
101
- while (current) {
102
- if (current === node) {
103
- break;
104
- }
105
- previousSibling = current;
106
- current = current.sibling;
107
- }
108
- if (previousSibling) {
109
- previousSibling.sibling = menuRequestNode;
110
- menuRequestNode.sibling = node === null || node === void 0 ? void 0 : node.sibling;
111
- } else {
112
- parentMenuRequestNode.child = menuRequestNode;
90
+ async reMergeMenuRequestNodes(parentMenuRequestNode, routes) {
91
+ let menuRequestNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
92
+ const node = _classPrivateFieldGet(_memoizedMenuRequestNodeMap, this).get(routes);
93
+ _classPrivateFieldGet(_memoizedMenuRequestNodeMap, this).set(routes, menuRequestNode);
94
+ let current = parentMenuRequestNode.child;
95
+ let previousSibling;
96
+ while (current) {
97
+ if (current === node) {
98
+ break;
113
99
  }
114
- yield _classPrivateFieldGet(_routeHelper, _this).mergeMenus(_this.getMenuRequests());
115
- })();
100
+ previousSibling = current;
101
+ current = current.sibling;
102
+ }
103
+ if (previousSibling) {
104
+ previousSibling.sibling = menuRequestNode;
105
+ menuRequestNode.sibling = node === null || node === void 0 ? void 0 : node.sibling;
106
+ } else {
107
+ parentMenuRequestNode.child = menuRequestNode;
108
+ }
109
+ await _classPrivateFieldGet(_routeHelper, this).mergeMenus(this.getMenuRequests());
116
110
  }
117
111
  reBailout(output) {
118
112
  return _classPrivateFieldGet(_routeHelper, this).bailout(output);
@@ -120,36 +114,33 @@ export class RendererContext {
120
114
  reCatch(error, returnNode) {
121
115
  return _classPrivateFieldGet(_routeHelper, this).catch(error, returnNode);
122
116
  }
123
- didPerformIncrementalRender(location, prevLocation) {
124
- var _this2 = this;
125
- return _asyncToGenerator(function* () {
126
- var finalResult = false;
127
- var shouldIgnoreRoutes = [];
128
- // Perform incremental rendering from inside out.
129
- // This allows nested incremental sub-routes.
130
- for (var {
131
- parentRoutes,
132
- callback
133
- } of [..._classPrivateFieldGet(_incrementalRenderStates, _this2).values()].reverse()) {
134
- var parentRoute = parentRoutes[parentRoutes.length - 1];
135
- if (shouldIgnoreRoutes.includes(parentRoute)) {
136
- // Do not re-render parent routes if any of its children has performed incremental rendering.
137
- // In the meantime, allow sibling-routes to perform incremental rendering.
138
- continue;
139
- }
140
- var result = yield callback(location, prevLocation);
141
- // When result is null, it means the incremental rendering is tried but routes missed.
142
- // In this case, we should continue to re-render the parent routes.
143
- if (result) {
144
- shouldIgnoreRoutes.push(...parentRoutes.slice(0, -1));
145
- }
146
- // Mark incremental rendering as performed at final if result is true or null.
147
- if (result !== false) {
148
- finalResult = true;
149
- }
117
+ async didPerformIncrementalRender(location, prevLocation) {
118
+ let finalResult = false;
119
+ const shouldIgnoreRoutes = [];
120
+ // Perform incremental rendering from inside out.
121
+ // This allows nested incremental sub-routes.
122
+ for (const {
123
+ parentRoutes,
124
+ callback
125
+ } of [..._classPrivateFieldGet(_incrementalRenderStates, this).values()].reverse()) {
126
+ const parentRoute = parentRoutes[parentRoutes.length - 1];
127
+ if (shouldIgnoreRoutes.includes(parentRoute)) {
128
+ // Do not re-render parent routes if any of its children has performed incremental rendering.
129
+ // In the meantime, allow sibling-routes to perform incremental rendering.
130
+ continue;
150
131
  }
151
- return finalResult;
152
- })();
132
+ const result = await callback(location, prevLocation);
133
+ // When result is null, it means the incremental rendering is tried but routes missed.
134
+ // In this case, we should continue to re-render the parent routes.
135
+ if (result) {
136
+ shouldIgnoreRoutes.push(...parentRoutes.slice(0, -1));
137
+ }
138
+ // Mark incremental rendering as performed at final if result is true or null.
139
+ if (result !== false) {
140
+ finalResult = true;
141
+ }
142
+ }
143
+ return finalResult;
153
144
  }
154
145
 
155
146
  /**
@@ -167,9 +158,9 @@ export class RendererContext {
167
158
  if (!lifeCycle) {
168
159
  return;
169
160
  }
170
- var lifeCycleTypes = [...commonLifeCycles, ...(this.scope === "page" ? pageOnlyLifeCycles : [])];
171
- for (var key of lifeCycleTypes) {
172
- var handlers = lifeCycle[key];
161
+ const lifeCycleTypes = [...commonLifeCycles, ...(this.scope === "page" ? pageOnlyLifeCycles : [])];
162
+ for (const key of lifeCycleTypes) {
163
+ const handlers = lifeCycle[key];
173
164
  if (handlers) {
174
165
  _classPrivateFieldGet(_memoizedLifeCycle, this)[key].push({
175
166
  brick,
@@ -184,7 +175,7 @@ export class RendererContext {
184
175
  }
185
176
  }
186
177
  registerArbitraryLifeCycle(lifeCycle, fn) {
187
- var arbitraryCallbacks = _classPrivateFieldGet(_arbitraryLifeCycle, this).get(lifeCycle);
178
+ const arbitraryCallbacks = _classPrivateFieldGet(_arbitraryLifeCycle, this).get(lifeCycle);
188
179
  if (arbitraryCallbacks) {
189
180
  arbitraryCallbacks.add(fn);
190
181
  } else {
@@ -195,8 +186,8 @@ export class RendererContext {
195
186
  if (!_classPrivateFieldGet(_memoized, this)) {
196
187
  _classPrivateFieldSet(_memoized, this, new WeakMap());
197
188
  }
198
- var memKey = [slotId !== null && slotId !== void 0 ? slotId : "", ...keyPath].join(".");
199
- var mem = _classPrivateFieldGet(_memoized, this).get(returnNode);
189
+ const memKey = [slotId ?? "", ...keyPath].join(".");
190
+ let mem = _classPrivateFieldGet(_memoized, this).get(returnNode);
200
191
  if (!mem) {
201
192
  mem = new Map();
202
193
  _classPrivateFieldGet(_memoized, this).set(returnNode, mem);
@@ -209,49 +200,49 @@ export class RendererContext {
209
200
  });
210
201
  }
211
202
  reRender(slotId, keyPath, node, returnNode) {
212
- var memKey = [slotId !== null && slotId !== void 0 ? slotId : "", ...keyPath].join(".");
203
+ const memKey = [slotId ?? "", ...keyPath].join(".");
213
204
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
214
- var memoized = _classPrivateFieldGet(_memoized, this).get(returnNode).get(memKey);
215
- var {
205
+ const memoized = _classPrivateFieldGet(_memoized, this).get(returnNode).get(memKey);
206
+ const {
216
207
  node: prevNode,
217
208
  last: prevLast,
218
209
  lastNormal: prevLastNormal,
219
210
  lastPortal: prevLastPortal
220
211
  } = memoized;
221
- var insertBeforeChild;
222
- var insertPortalBeforeChildCandidates = [];
212
+ let insertBeforeChild;
213
+ const insertPortalBeforeChildCandidates = [];
223
214
  if ((prevNode === null || prevNode === void 0 ? void 0 : prevNode.tag) === RenderTag.PLACEHOLDER) {
224
- var _getNextNormalNode$el, _getNextNormalNode, _getNextPortalNode;
225
- insertBeforeChild = (_getNextNormalNode$el = (_getNextNormalNode = getNextNormalNode(prevNode)) === null || _getNextNormalNode === void 0 ? void 0 : _getNextNormalNode.element) !== null && _getNextNormalNode$el !== void 0 ? _getNextNormalNode$el : null;
215
+ var _getNextNormalNode, _getNextPortalNode;
216
+ insertBeforeChild = ((_getNextNormalNode = getNextNormalNode(prevNode)) === null || _getNextNormalNode === void 0 ? void 0 : _getNextNormalNode.element) ?? null;
226
217
  // Todo(steve): handle portal bricks from useBrick.
227
- var nextSibling = (_getNextPortalNode = getNextPortalNode(prevNode)) === null || _getNextPortalNode === void 0 ? void 0 : _getNextPortalNode.element;
218
+ const nextSibling = (_getNextPortalNode = getNextPortalNode(prevNode)) === null || _getNextPortalNode === void 0 ? void 0 : _getNextPortalNode.element;
228
219
  if (nextSibling) {
229
220
  insertPortalBeforeChildCandidates.push(nextSibling);
230
221
  }
231
222
  } else {
232
- var _prevLastNormal$eleme, _prevLastNormal$eleme2, _prevLastPortal$eleme;
233
- insertBeforeChild = (_prevLastNormal$eleme = prevLastNormal === null || prevLastNormal === void 0 || (_prevLastNormal$eleme2 = prevLastNormal.element) === null || _prevLastNormal$eleme2 === void 0 ? void 0 : _prevLastNormal$eleme2.nextSibling) !== null && _prevLastNormal$eleme !== void 0 ? _prevLastNormal$eleme : null;
234
- var _nextSibling = prevLastPortal === null || prevLastPortal === void 0 || (_prevLastPortal$eleme = prevLastPortal.element) === null || _prevLastPortal$eleme === void 0 ? void 0 : _prevLastPortal$eleme.nextSibling;
235
- while (_nextSibling) {
236
- insertPortalBeforeChildCandidates.push(_nextSibling);
223
+ var _prevLastNormal$eleme, _prevLastPortal$eleme;
224
+ insertBeforeChild = (prevLastNormal === null || prevLastNormal === void 0 || (_prevLastNormal$eleme = prevLastNormal.element) === null || _prevLastNormal$eleme === void 0 ? void 0 : _prevLastNormal$eleme.nextSibling) ?? null;
225
+ let nextSibling = prevLastPortal === null || prevLastPortal === void 0 || (_prevLastPortal$eleme = prevLastPortal.element) === null || _prevLastPortal$eleme === void 0 ? void 0 : _prevLastPortal$eleme.nextSibling;
226
+ while (nextSibling) {
227
+ insertPortalBeforeChildCandidates.push(nextSibling);
237
228
  // Collect all portal bricks from useBrick, until found a normal portal
238
229
  // brick other than from useBrick.
239
230
  // Because useBrick could be removed during unmount.
240
- if (!(_nextSibling instanceof HTMLElement && _nextSibling.tagName === "DIV")) {
231
+ if (!(nextSibling instanceof HTMLElement && nextSibling.tagName === "DIV")) {
241
232
  break;
242
233
  }
243
- _nextSibling = _nextSibling.nextSibling;
234
+ nextSibling = nextSibling.nextSibling;
244
235
  }
245
236
  }
246
- var last = getLastNode(node);
237
+ const last = getLastNode(node);
247
238
  memoized.node = node;
248
239
  memoized.last = last;
249
240
  memoized.lastNormal = getLastNormalNode(node);
250
241
  memoized.lastPortal = getLastPortalNode(node);
251
242
 
252
243
  // Figure out the unchanged prev sibling and next sibling
253
- var prevSibling;
254
- var current = returnNode.child;
244
+ let prevSibling;
245
+ let current = returnNode.child;
255
246
  while (current && current !== prevLast) {
256
247
  if (current.sibling === prevNode) {
257
248
  prevSibling = current;
@@ -259,9 +250,9 @@ export class RendererContext {
259
250
  }
260
251
  current = current.sibling;
261
252
  }
262
- var fragment = document.createDocumentFragment();
263
- var portalFragment = document.createDocumentFragment();
264
- var renderRoot = {
253
+ const fragment = document.createDocumentFragment();
254
+ const portalFragment = document.createDocumentFragment();
255
+ const renderRoot = {
265
256
  tag: RenderTag.ROOT,
266
257
  container: fragment,
267
258
  createPortal: portalFragment,
@@ -276,7 +267,7 @@ export class RendererContext {
276
267
  }
277
268
 
278
269
  // Unmount previous bricks, including their descendants
279
- var removeBricks = getBrickRange(prevNode, prevLast);
270
+ const removeBricks = getBrickRange(prevNode, prevLast);
280
271
  _assertClassBrand(_RendererContext_brand, this, _unmountBricks).call(this, removeBricks);
281
272
  mountTree(renderRoot);
282
273
 
@@ -305,7 +296,7 @@ export class RendererContext {
305
296
  }
306
297
  if (portalFragment.childNodes.length > 0) {
307
298
  var _root;
308
- var root = node;
299
+ let root = node;
309
300
  while (root && root.return) {
310
301
  root = root.return;
311
302
  }
@@ -313,9 +304,9 @@ export class RendererContext {
313
304
  if (((_root = root) === null || _root === void 0 ? void 0 : _root.tag) !== RenderTag.ROOT) {
314
305
  throw new Error("Cannot find render root node. This is a bug of Brick Next, please report it.");
315
306
  }
316
- var portal = typeof root.createPortal === "function" ? root.createPortal() : root.createPortal;
317
- var insertPortalBeforeChild = null;
318
- for (var candidate of insertPortalBeforeChildCandidates) {
307
+ const portal = typeof root.createPortal === "function" ? root.createPortal() : root.createPortal;
308
+ let insertPortalBeforeChild = null;
309
+ for (const candidate of insertPortalBeforeChildCandidates) {
319
310
  // Those candidates from useBrick could be removed during unmount.
320
311
  // So we need to check if they are still in the portal.
321
312
  if (portal.contains(candidate)) {
@@ -325,18 +316,18 @@ export class RendererContext {
325
316
  }
326
317
  portal.insertBefore(portalFragment, insertPortalBeforeChild);
327
318
  }
328
- var newBricks = getBrickRange(node, last);
319
+ const newBricks = getBrickRange(node, last);
329
320
  _assertClassBrand(_RendererContext_brand, this, _initializeRerenderBricks).call(this, newBricks);
330
321
  }
331
322
  dispose() {
332
- for (var list of Object.values(_classPrivateFieldGet(_memoizedLifeCycle, this))) {
323
+ for (const list of Object.values(_classPrivateFieldGet(_memoizedLifeCycle, this))) {
333
324
  list.length = 0;
334
325
  }
335
- for (var _list of _classPrivateFieldGet(_observers, this).values()) {
336
- for (var observer of _list) {
326
+ for (const list of _classPrivateFieldGet(_observers, this).values()) {
327
+ for (const observer of list) {
337
328
  observer.disconnect();
338
329
  }
339
- _list.length = 0;
330
+ list.length = 0;
340
331
  }
341
332
  _classPrivateFieldGet(_observers, this).clear();
342
333
  if (_classPrivateFieldGet(_mediaListener, this)) {
@@ -355,7 +346,7 @@ export class RendererContext {
355
346
  _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, "onBeforePageLoad", new CustomEvent("page.beforeLoad"));
356
347
  }
357
348
  dispatchPageLoad() {
358
- var event = new CustomEvent("page.load");
349
+ const event = new CustomEvent("page.load");
359
350
  _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, "onPageLoad", event);
360
351
  // Currently only for e2e testing
361
352
  window.dispatchEvent(event);
@@ -369,7 +360,7 @@ export class RendererContext {
369
360
  _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, "onPageLeave", new CustomEvent("page.leave"));
370
361
  }
371
362
  dispatchAnchorLoad() {
372
- var {
363
+ const {
373
364
  hash
374
365
  } = getHistory().location;
375
366
  if (hash && hash !== "#") {
@@ -384,7 +375,7 @@ export class RendererContext {
384
375
  }
385
376
  }
386
377
  initializeScrollIntoView() {
387
- for (var {
378
+ for (const {
388
379
  brick,
389
380
  handlers: conf
390
381
  } of _classPrivateFieldGet(_memoizedLifeCycle, this).onScrollIntoView) {
@@ -400,27 +391,21 @@ export class RendererContext {
400
391
  mediaEventTarget.addEventListener("change", _classPrivateFieldGet(_mediaListener, this));
401
392
  }
402
393
  initializeMessageDispatcher() {
403
- var _hooks$messageDispatc;
404
- var _loop = function (brick) {
405
- var _loop2 = function (conf) {
406
- var _hooks$messageDispatc2;
407
- hooks === null || hooks === void 0 || (_hooks$messageDispatc2 = hooks.messageDispatcher) === null || _hooks$messageDispatc2 === void 0 || _hooks$messageDispatc2.onMessage(conf.channel, detail => {
394
+ var _hooks$messageDispatc2;
395
+ for (const {
396
+ brick,
397
+ handlers: confList
398
+ } of _classPrivateFieldGet(_memoizedLifeCycle, this).onMessage) {
399
+ for (const conf of [].concat(confList)) {
400
+ var _hooks$messageDispatc;
401
+ hooks === null || hooks === void 0 || (_hooks$messageDispatc = hooks.messageDispatcher) === null || _hooks$messageDispatc === void 0 || _hooks$messageDispatc.onMessage(conf.channel, detail => {
408
402
  listenerFactory(conf.handlers, brick.runtimeContext, brick)(new CustomEvent("message.push", {
409
403
  detail
410
404
  }));
411
405
  });
412
- };
413
- for (var conf of [].concat(confList)) {
414
- _loop2(conf);
415
406
  }
416
- };
417
- for (var {
418
- brick,
419
- handlers: confList
420
- } of _classPrivateFieldGet(_memoizedLifeCycle, this).onMessage) {
421
- _loop(brick);
422
407
  }
423
- hooks === null || hooks === void 0 || (_hooks$messageDispatc = hooks.messageDispatcher) === null || _hooks$messageDispatc === void 0 || _hooks$messageDispatc.onClose(() => {
408
+ hooks === null || hooks === void 0 || (_hooks$messageDispatc2 = hooks.messageDispatcher) === null || _hooks$messageDispatc2 === void 0 || _hooks$messageDispatc2.onClose(() => {
424
409
  _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, "onMessageClose", new CustomEvent("message.close"));
425
410
  });
426
411
  }
@@ -432,23 +417,23 @@ export class RendererContext {
432
417
  }
433
418
  }
434
419
  function _unmountBricks(bricks) {
435
- var lifeCycleTypes = [...commonLifeCycles, ...(this.scope === "page" ? pageOnlyLifeCycles : [])];
436
- var unmountList = [];
420
+ const lifeCycleTypes = [...commonLifeCycles, ...(this.scope === "page" ? pageOnlyLifeCycles : [])];
421
+ const unmountList = [];
437
422
 
438
423
  // Clear life cycle handlers, record `onUnmount` at the same time
439
- for (var key of lifeCycleTypes) {
440
- var removed = remove(_classPrivateFieldGet(_memoizedLifeCycle, this)[key], item => bricks.has(item.brick));
424
+ for (const key of lifeCycleTypes) {
425
+ const removed = remove(_classPrivateFieldGet(_memoizedLifeCycle, this)[key], item => bricks.has(item.brick));
441
426
  if (key === "onUnmount") {
442
427
  unmountList.push(...removed);
443
428
  }
444
429
  }
445
430
 
446
431
  // Clear intersection observers
447
- for (var brick of bricks) {
432
+ for (const brick of bricks) {
448
433
  var _brick$element, _brick$element2;
449
- var observers = _classPrivateFieldGet(_observers, this).get(brick);
434
+ const observers = _classPrivateFieldGet(_observers, this).get(brick);
450
435
  if (observers !== null && observers !== void 0 && observers.length) {
451
- for (var observer of observers) {
436
+ for (const observer of observers) {
452
437
  observer.disconnect();
453
438
  }
454
439
  observers.length = 0;
@@ -462,17 +447,17 @@ function _unmountBricks(bricks) {
462
447
  }
463
448
 
464
449
  // Dispatch unmount events
465
- var unmountEvent = new CustomEvent("unmount");
466
- for (var {
467
- brick: _brick,
450
+ const unmountEvent = new CustomEvent("unmount");
451
+ for (const {
452
+ brick,
468
453
  handlers
469
454
  } of unmountList) {
470
- listenerFactory(handlers, _brick.runtimeContext, _brick)(unmountEvent);
455
+ listenerFactory(handlers, brick.runtimeContext, brick)(unmountEvent);
471
456
  }
472
457
  }
473
458
  function _initializeRerenderBricks(bricks) {
474
- var mountEvent = new CustomEvent("mount");
475
- for (var {
459
+ const mountEvent = new CustomEvent("mount");
460
+ for (const {
476
461
  brick,
477
462
  handlers
478
463
  } of _classPrivateFieldGet(_memoizedLifeCycle, this).onMount) {
@@ -480,37 +465,36 @@ function _initializeRerenderBricks(bricks) {
480
465
  listenerFactory(handlers, brick.runtimeContext, brick)(mountEvent);
481
466
  }
482
467
  }
483
- for (var {
484
- brick: _brick2,
468
+ for (const {
469
+ brick,
485
470
  handlers: conf
486
471
  } of _classPrivateFieldGet(_memoizedLifeCycle, this).onScrollIntoView) {
487
- if (bricks.has(_brick2)) {
488
- _assertClassBrand(_RendererContext_brand, this, _addObserver).call(this, _brick2, conf);
472
+ if (bricks.has(brick)) {
473
+ _assertClassBrand(_RendererContext_brand, this, _addObserver).call(this, brick, conf);
489
474
  }
490
475
  }
491
476
  }
492
477
  function _dispatchGeneralLifeCycle(type, event) {
493
478
  // istanbul ignore next
494
479
  if (process.env.NODE_ENV === "development" && this.scope === "fragment" && pageOnlyLifeCycles.includes(type)) {
495
- throw new Error("`lifeCycle.".concat(type, "` cannot be used in ").concat(this.scope, ".\nThis is a bug of Brick Next, please report it."));
480
+ throw new Error(`\`lifeCycle.${type}\` cannot be used in ${this.scope}.\nThis is a bug of Brick Next, please report it.`);
496
481
  }
497
- for (var {
482
+ for (const {
498
483
  brick,
499
484
  handlers
500
485
  } of _classPrivateFieldGet(_memoizedLifeCycle, this)[type]) {
501
486
  listenerFactory(handlers, brick.runtimeContext, brick)(event);
502
487
  }
503
- var arbitraryCallbacks = _classPrivateFieldGet(_arbitraryLifeCycle, this).get(type);
488
+ const arbitraryCallbacks = _classPrivateFieldGet(_arbitraryLifeCycle, this).get(type);
504
489
  if (arbitraryCallbacks) {
505
- for (var fn of arbitraryCallbacks) {
490
+ for (const fn of arbitraryCallbacks) {
506
491
  fn();
507
492
  }
508
493
  }
509
494
  }
510
495
  function _addObserver(brick, conf) {
511
- var _conf$threshold;
512
- var threshold = (_conf$threshold = conf.threshold) !== null && _conf$threshold !== void 0 ? _conf$threshold : 0.1;
513
- var observer = new IntersectionObserver((entries, observer) => {
496
+ const threshold = conf.threshold ?? 0.1;
497
+ const observer = new IntersectionObserver((entries, observer) => {
514
498
  entries.forEach(entry => {
515
499
  if (entry.isIntersecting) {
516
500
  if (entry.intersectionRatio >= threshold) {
@@ -523,7 +507,7 @@ function _addObserver(brick, conf) {
523
507
  threshold
524
508
  });
525
509
  observer.observe(brick.element);
526
- var list = _classPrivateFieldGet(_observers, this).get(brick);
510
+ let list = _classPrivateFieldGet(_observers, this).get(brick);
527
511
  if (!list) {
528
512
  list = [];
529
513
  _classPrivateFieldGet(_observers, this).set(brick, list);
@@ -531,7 +515,7 @@ function _addObserver(brick, conf) {
531
515
  list.push(observer);
532
516
  }
533
517
  function getLastNode(node) {
534
- var last = node;
518
+ let last = node;
535
519
  while ((_last = last) !== null && _last !== void 0 && _last.sibling) {
536
520
  var _last;
537
521
  last = last.sibling;
@@ -545,8 +529,8 @@ function getNextNormalNode(node) {
545
529
  return getSpecifiedNormalNode(node, true);
546
530
  }
547
531
  function getSpecifiedNormalNode(node, next) {
548
- var last;
549
- var current = node;
532
+ let last;
533
+ let current = node;
550
534
  while (current) {
551
535
  if (current.tag === RenderTag.BRICK && !current.portal) {
552
536
  if (next) {
@@ -565,8 +549,8 @@ function getNextPortalNode(node) {
565
549
  return getSpecifiedPortalNode(node, true);
566
550
  }
567
551
  function getSpecifiedPortalNode(node, next) {
568
- var last;
569
- var current = node;
552
+ let last;
553
+ let current = node;
570
554
  while (current) {
571
555
  if (current.tag === RenderTag.BRICK && current.portal) {
572
556
  if (next) {
@@ -580,7 +564,7 @@ function getSpecifiedPortalNode(node, next) {
580
564
  current = current.sibling;
581
565
  } else {
582
566
  var _currentReturn;
583
- var currentReturn = current.return;
567
+ let currentReturn = current.return;
584
568
  while (currentReturn) {
585
569
  if (currentReturn.sibling) {
586
570
  break;
@@ -593,8 +577,8 @@ function getSpecifiedPortalNode(node, next) {
593
577
  return last;
594
578
  }
595
579
  function getBrickRange(from, to) {
596
- var range = new Set();
597
- var current = from;
580
+ const range = new Set();
581
+ let current = from;
598
582
  while (current) {
599
583
  if (current.tag === RenderTag.BRICK) {
600
584
  range.add(current);
@@ -607,7 +591,7 @@ function getBrickRange(from, to) {
607
591
  current = current.sibling;
608
592
  } else {
609
593
  var _currentReturn2;
610
- var currentReturn = current.return;
594
+ let currentReturn = current.return;
611
595
  while (currentReturn && currentReturn !== to) {
612
596
  if (currentReturn.sibling) {
613
597
  break;