@next-core/brick-kit 2.112.0 → 2.115.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/dist/index.bundle.js +105 -10
- package/dist/index.bundle.js.map +1 -1
- package/dist/index.esm.js +105 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/types/core/LocationContext.d.ts +4 -0
- package/dist/types/core/LocationContext.d.ts.map +1 -1
- package/dist/types/core/Router.d.ts +1 -0
- package/dist/types/core/Router.d.ts.map +1 -1
- package/dist/types/internal/evaluate.d.ts.map +1 -1
- package/dist/types/internal/mediaQuery.d.ts +15 -0
- package/dist/types/internal/mediaQuery.d.ts.map +1 -0
- package/dist/types/internal/menu.d.ts +1 -1
- package/dist/types/internal/menu.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/index.esm.js
CHANGED
|
@@ -2187,6 +2187,56 @@ function getCustomTemplateContext(tplContextId) {
|
|
|
2187
2187
|
return tplContextMap.get(tplContextId);
|
|
2188
2188
|
}
|
|
2189
2189
|
|
|
2190
|
+
var MediaSize;
|
|
2191
|
+
|
|
2192
|
+
(function (MediaSize) {
|
|
2193
|
+
MediaSize["xLarge"] = "xLarge";
|
|
2194
|
+
MediaSize["large"] = "large";
|
|
2195
|
+
MediaSize["medium"] = "medium";
|
|
2196
|
+
MediaSize["small"] = "small";
|
|
2197
|
+
MediaSize["xSmall"] = "xSmall";
|
|
2198
|
+
})(MediaSize || (MediaSize = {}));
|
|
2199
|
+
|
|
2200
|
+
var mediaSizeBreakpointMap = new Map([[MediaSize.xLarge, "1920px"], [MediaSize.large, "1600px"], [MediaSize.medium, "1280px"], [MediaSize.small, "1024px"], [MediaSize.xSmall, 0]]);
|
|
2201
|
+
var mediaEventTarget = new EventTarget$1();
|
|
2202
|
+
var sizeMatchesMap = {};
|
|
2203
|
+
var MEDIA = {};
|
|
2204
|
+
|
|
2205
|
+
function handleMatchesChange(data, size) {
|
|
2206
|
+
var changed = false;
|
|
2207
|
+
sizeMatchesMap[size] = data.matches;
|
|
2208
|
+
|
|
2209
|
+
for (var [_size] of mediaSizeBreakpointMap) {
|
|
2210
|
+
if (sizeMatchesMap[_size] && MEDIA.size !== _size) {
|
|
2211
|
+
MEDIA.size = _size;
|
|
2212
|
+
changed = true;
|
|
2213
|
+
break;
|
|
2214
|
+
}
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2217
|
+
if (changed) {
|
|
2218
|
+
mediaEventTarget.dispatchEvent(new CustomEvent("change", {
|
|
2219
|
+
detail: MEDIA
|
|
2220
|
+
}));
|
|
2221
|
+
}
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2224
|
+
mediaSizeBreakpointMap.forEach((breakpoint, size) => {
|
|
2225
|
+
var mediaQueryList = window.matchMedia("(min-width: ".concat(breakpoint, ")"));
|
|
2226
|
+
handleMatchesChange(mediaQueryList, size);
|
|
2227
|
+
|
|
2228
|
+
if (mediaQueryList.addEventListener) {
|
|
2229
|
+
mediaQueryList.addEventListener("change", event => {
|
|
2230
|
+
handleMatchesChange(event, size);
|
|
2231
|
+
});
|
|
2232
|
+
} else {
|
|
2233
|
+
mediaQueryList.addListener(event => {
|
|
2234
|
+
handleMatchesChange(event, size);
|
|
2235
|
+
});
|
|
2236
|
+
}
|
|
2237
|
+
});
|
|
2238
|
+
var getMedia = () => MEDIA;
|
|
2239
|
+
|
|
2190
2240
|
var symbolForRaw = Symbol.for("pre.evaluated.raw");
|
|
2191
2241
|
var symbolForContext = Symbol.for("pre.evaluated.context");
|
|
2192
2242
|
function isPreEvaluated(raw) {
|
|
@@ -2423,6 +2473,9 @@ function evaluate(raw) {
|
|
|
2423
2473
|
case "SYS":
|
|
2424
2474
|
return getReadOnlyProxy(sys);
|
|
2425
2475
|
|
|
2476
|
+
case "MEDIA":
|
|
2477
|
+
return getReadOnlyProxy(getMedia());
|
|
2478
|
+
|
|
2426
2479
|
case "__WIDGET_FN__":
|
|
2427
2480
|
return widgetFunctions;
|
|
2428
2481
|
|
|
@@ -2664,6 +2717,7 @@ var symbolAppId = Symbol("appId");
|
|
|
2664
2717
|
// Caching menu requests to avoid flicker.
|
|
2665
2718
|
var menuCache = new Map();
|
|
2666
2719
|
var menuTitleCache = new Map();
|
|
2720
|
+
var processMenuCache = new Map();
|
|
2667
2721
|
function constructMenu(_x, _x2, _x3) {
|
|
2668
2722
|
return _constructMenu.apply(this, arguments);
|
|
2669
2723
|
}
|
|
@@ -2700,12 +2754,14 @@ function constructMenuByMenusList(_x4, _x5, _x6) {
|
|
|
2700
2754
|
|
|
2701
2755
|
function _constructMenuByMenusList() {
|
|
2702
2756
|
_constructMenuByMenusList = _asyncToGenerator$4(function* (menus, context, kernel) {
|
|
2703
|
-
|
|
2757
|
+
processMenuCache.clear();
|
|
2758
|
+
var data = yield Promise.all(menus.map(menuId => processMenu(menuId, context, kernel)));
|
|
2759
|
+
data.forEach((item, index) => processMenuCache.set(menus[index], item));
|
|
2704
2760
|
});
|
|
2705
2761
|
return _constructMenuByMenusList.apply(this, arguments);
|
|
2706
2762
|
}
|
|
2707
2763
|
|
|
2708
|
-
var getMenu = menuId =>
|
|
2764
|
+
var getMenu = menuId => processMenuCache.get(menuId);
|
|
2709
2765
|
function fetchMenuById(_x7, _x8) {
|
|
2710
2766
|
return _fetchMenuById.apply(this, arguments);
|
|
2711
2767
|
}
|
|
@@ -8591,6 +8647,8 @@ class LocationContext {
|
|
|
8591
8647
|
|
|
8592
8648
|
_defineProperty$1(this, "anchorUnloadHandlers", []);
|
|
8593
8649
|
|
|
8650
|
+
_defineProperty$1(this, "mediaChangeHandlers", []);
|
|
8651
|
+
|
|
8594
8652
|
_defineProperty$1(this, "messageCloseHandlers", []);
|
|
8595
8653
|
|
|
8596
8654
|
_defineProperty$1(this, "messageHandlers", []);
|
|
@@ -8780,15 +8838,11 @@ class LocationContext {
|
|
|
8780
8838
|
}
|
|
8781
8839
|
|
|
8782
8840
|
if (isRouteConfOfRoutes(route) && Array.isArray(route.routes)) {
|
|
8841
|
+
yield _this.preFetchMenu(route.context);
|
|
8783
8842
|
yield _this.mountRoutes(route.routes, slotId, mountRoutesResult);
|
|
8784
8843
|
} else if (isRouteConfOfBricks(route) && Array.isArray(route.bricks)) {
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
if (useMenus.length) {
|
|
8788
|
-
yield constructMenuByMenusList(useMenus, _this.getCurrentContext(), _this.kernel);
|
|
8789
|
-
}
|
|
8790
|
-
|
|
8791
|
-
yield _this.mountBricks(route.bricks, matched.match, slotId, mountRoutesResult); // analytics data (page_view event)
|
|
8844
|
+
yield _this.mountBricks(route.bricks, matched.match, slotId, mountRoutesResult);
|
|
8845
|
+
yield _this.preFetchMenu(route); // analytics data (page_view event)
|
|
8792
8846
|
|
|
8793
8847
|
if (route.analyticsData) {
|
|
8794
8848
|
mountRoutesResult.analyticsData = computeRealValue(route.analyticsData, context, true);
|
|
@@ -9044,6 +9098,9 @@ class LocationContext {
|
|
|
9044
9098
|
var expandedBrickConf = brickConf;
|
|
9045
9099
|
|
|
9046
9100
|
if (tplTagName) {
|
|
9101
|
+
var _customTemplateRegist;
|
|
9102
|
+
|
|
9103
|
+
yield _this6.preFetchMenu((_customTemplateRegist = customTemplateRegistry.get(tplTagName)) === null || _customTemplateRegist === void 0 ? void 0 : _customTemplateRegist.bricks);
|
|
9047
9104
|
expandedBrickConf = yield asyncExpandCustomTemplate(_objectSpread(_objectSpread({}, brickConf), {}, {
|
|
9048
9105
|
brick: tplTagName,
|
|
9049
9106
|
// Properties are computed for custom templates.
|
|
@@ -9105,6 +9162,7 @@ class LocationContext {
|
|
|
9105
9162
|
onPageLeave,
|
|
9106
9163
|
onAnchorLoad,
|
|
9107
9164
|
onAnchorUnload,
|
|
9165
|
+
onMediaChange,
|
|
9108
9166
|
onMessage,
|
|
9109
9167
|
onMessageClose
|
|
9110
9168
|
} = lifeCycle !== null && lifeCycle !== void 0 ? lifeCycle : {};
|
|
@@ -9163,6 +9221,15 @@ class LocationContext {
|
|
|
9163
9221
|
});
|
|
9164
9222
|
}
|
|
9165
9223
|
|
|
9224
|
+
if (onMediaChange) {
|
|
9225
|
+
this.mediaChangeHandlers.push({
|
|
9226
|
+
brick,
|
|
9227
|
+
match,
|
|
9228
|
+
tplContextId,
|
|
9229
|
+
handler: onMediaChange
|
|
9230
|
+
});
|
|
9231
|
+
}
|
|
9232
|
+
|
|
9166
9233
|
if (onMessage) {
|
|
9167
9234
|
this.messageHandlers.push({
|
|
9168
9235
|
brick,
|
|
@@ -9218,6 +9285,12 @@ class LocationContext {
|
|
|
9218
9285
|
}
|
|
9219
9286
|
}
|
|
9220
9287
|
|
|
9288
|
+
handleMediaChange(detail) {
|
|
9289
|
+
this.dispatchLifeCycleEvent(new CustomEvent("media.change", {
|
|
9290
|
+
detail: getReadOnlyProxy(detail)
|
|
9291
|
+
}), this.mediaChangeHandlers);
|
|
9292
|
+
}
|
|
9293
|
+
|
|
9221
9294
|
handleMessage() {
|
|
9222
9295
|
this.messageDispatcher.create(this.messageHandlers, this.getCurrentContext());
|
|
9223
9296
|
}
|
|
@@ -9248,6 +9321,18 @@ class LocationContext {
|
|
|
9248
9321
|
}
|
|
9249
9322
|
}
|
|
9250
9323
|
|
|
9324
|
+
preFetchMenu(data) {
|
|
9325
|
+
var _this7 = this;
|
|
9326
|
+
|
|
9327
|
+
return _asyncToGenerator$4(function* () {
|
|
9328
|
+
var useMenus = scanAppGetMenuInAny(data);
|
|
9329
|
+
|
|
9330
|
+
if (useMenus.length) {
|
|
9331
|
+
yield constructMenuByMenusList(useMenus, _this7.getCurrentContext(), _this7.kernel);
|
|
9332
|
+
}
|
|
9333
|
+
})();
|
|
9334
|
+
}
|
|
9335
|
+
|
|
9251
9336
|
}
|
|
9252
9337
|
|
|
9253
9338
|
function unmountTree(mountPoint) {
|
|
@@ -9729,6 +9814,8 @@ class Router {
|
|
|
9729
9814
|
|
|
9730
9815
|
_defineProperty$1(this, "navConfig", void 0);
|
|
9731
9816
|
|
|
9817
|
+
_defineProperty$1(this, "mediaEventTargetHandler", void 0);
|
|
9818
|
+
|
|
9732
9819
|
this.kernel = kernel;
|
|
9733
9820
|
this.featureFlags = this.kernel.getFeatureFlags();
|
|
9734
9821
|
var history = getHistory();
|
|
@@ -10036,7 +10123,12 @@ class Router {
|
|
|
10036
10123
|
_this3.kernel.unsetBars({
|
|
10037
10124
|
appChanged,
|
|
10038
10125
|
legacy: actualLegacy
|
|
10039
|
-
});
|
|
10126
|
+
});
|
|
10127
|
+
|
|
10128
|
+
if (_this3.mediaEventTargetHandler) {
|
|
10129
|
+
mediaEventTarget.removeEventListener("change", _this3.mediaEventTargetHandler);
|
|
10130
|
+
_this3.mediaEventTargetHandler = undefined;
|
|
10131
|
+
} // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.
|
|
10040
10132
|
|
|
10041
10133
|
|
|
10042
10134
|
_this3.locationContext.handleBeforePageLoad();
|
|
@@ -10109,6 +10201,9 @@ class Router {
|
|
|
10109
10201
|
_this3.locationContext.handleMessage();
|
|
10110
10202
|
}
|
|
10111
10203
|
|
|
10204
|
+
_this3.mediaEventTargetHandler = event => _this3.locationContext.handleMediaChange(event.detail);
|
|
10205
|
+
|
|
10206
|
+
mediaEventTarget.addEventListener("change", _this3.mediaEventTargetHandler);
|
|
10112
10207
|
pageTracker === null || pageTracker === void 0 ? void 0 : pageTracker(locationContext.getCurrentMatch().path); // analytics page_view event
|
|
10113
10208
|
|
|
10114
10209
|
userAnalytics.event("page_view", _objectSpread({
|