@next-core/brick-kit 2.164.1 → 2.164.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.
package/dist/index.esm.js CHANGED
@@ -11112,7 +11112,7 @@ class Router {
11112
11112
  render(location) {
11113
11113
  var _this3 = this;
11114
11114
  return _asyncToGenerator$3(function* () {
11115
- var _apiAnalyzer$getInsta, _currentApp$config, _currentApp$config$_e, _getLocalAppsTheme;
11115
+ var _apiAnalyzer$getInsta, _currentApp$config, _currentApp$config$_e, _this3$kernel$bootstr, _this3$kernel$bootstr2, _getLocalAppsTheme;
11116
11116
  _this3.state = "initial";
11117
11117
  _this3.renderId = uniqueId("render-id-");
11118
11118
  resetAllInjected();
@@ -11189,9 +11189,12 @@ class Router {
11189
11189
  var layoutType = (currentApp === null || currentApp === void 0 ? void 0 : currentApp.layoutType) || "console";
11190
11190
  var faviconElement = document.querySelector("link[rel='shortcut icon']");
11191
11191
  var customFaviconHref = currentApp === null || currentApp === void 0 ? void 0 : (_currentApp$config = currentApp.config) === null || _currentApp$config === void 0 ? void 0 : (_currentApp$config$_e = _currentApp$config._easyops_app_favicon) === null || _currentApp$config$_e === void 0 ? void 0 : _currentApp$config$_e.default;
11192
+ var settingsFaviconHref = (_this3$kernel$bootstr = _this3.kernel.bootstrapData.settings) === null || _this3$kernel$bootstr === void 0 ? void 0 : (_this3$kernel$bootstr2 = _this3$kernel$bootstr.brand) === null || _this3$kernel$bootstr2 === void 0 ? void 0 : _this3$kernel$bootstr2.favicon;
11192
11193
  if (faviconElement) {
11193
11194
  if (customFaviconHref) {
11194
11195
  faviconElement.href = /^(?:https?|data):|^\//.test(customFaviconHref) ? customFaviconHref : imagesFactory(currentApp.id, currentApp.isBuildPush).get(customFaviconHref);
11196
+ } else if (settingsFaviconHref) {
11197
+ faviconElement.href = settingsFaviconHref;
11195
11198
  } else {
11196
11199
  faviconElement.href = _this3.kernel.getOriginFaviconHref();
11197
11200
  }
@@ -11359,7 +11362,7 @@ class Router {
11359
11362
  // When we have a matched route other than an abstract route,
11360
11363
  // we say *page found*, otherwise, *page not found*.
11361
11364
  if (route && route.type !== "routes" || failed) {
11362
- var _this3$kernel$bootstr, _this3$kernel$bootstr2, _getAuth$license;
11365
+ var _this3$kernel$bootstr3, _this3$kernel$bootstr4, _getAuth$license;
11363
11366
  yield pendingTask;
11364
11367
  main.length > 0 && mountTree(main, mountPoints.main);
11365
11368
  portal.length > 0 && mountTree(portal, mountPoints.portal);
@@ -11398,7 +11401,7 @@ class Router {
11398
11401
  var {
11399
11402
  loadTime = 0,
11400
11403
  loadInfoPage
11401
- } = (_this3$kernel$bootstr = (_this3$kernel$bootstr2 = _this3.kernel.bootstrapData.settings) === null || _this3$kernel$bootstr2 === void 0 ? void 0 : _this3$kernel$bootstr2.misc) !== null && _this3$kernel$bootstr !== void 0 ? _this3$kernel$bootstr : {};
11404
+ } = (_this3$kernel$bootstr3 = (_this3$kernel$bootstr4 = _this3.kernel.bootstrapData.settings) === null || _this3$kernel$bootstr4 === void 0 ? void 0 : _this3$kernel$bootstr4.misc) !== null && _this3$kernel$bootstr3 !== void 0 ? _this3$kernel$bootstr3 : {};
11402
11405
  if (currentApp.isBuildPush && loadTime > 0 && renderTime > loadTime) {
11403
11406
  var getSecond = time => Math.floor(time * 100) / 100;
11404
11407
  tipsDetail.push(_objectSpread({
@@ -11895,7 +11898,7 @@ var getCurrentRunTimeBrick = (useBrick, tplTagName, data) => {
11895
11898
  * @param props - 属性。
11896
11899
  */
11897
11900
  var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsComponent(_ref) {
11898
- var _internalApiGetCurren, _brick, _ref8;
11901
+ var _internalApiGetCurren, _expandedBrickConf$br;
11899
11902
  var {
11900
11903
  useBrick,
11901
11904
  data,
@@ -11905,7 +11908,6 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
11905
11908
  var firstRunRef = useRef(true);
11906
11909
  var innerRefCallbackRef = useRef();
11907
11910
  var elementRef = useRef();
11908
- var expandedBrickConfRef = useRef();
11909
11911
  var [expandedBrickConf, setExpandedBrickConf] = useState(null);
11910
11912
  var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren === void 0 ? void 0 : _internalApiGetCurren.id);
11911
11913
  var isBrickAvailable = useMemo(() => {
@@ -11941,15 +11943,22 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
11941
11943
  if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
11942
11944
  return;
11943
11945
  }
11944
- _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
11946
+ var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
11947
+
11948
+ // 需要等待构件加载完成,因为构件可能包含属性初始化逻辑。
11949
+ // 如果先创建构件,再完成构件加载,其属性默认初始化动作会覆盖用户定义的属性。
11950
+ // 另一方面,避免额外的 MicroTask,因为 graph.general-graph 构件依赖固定的 useBrick 渲染时机。
11951
+ if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
11952
+ yield promise;
11953
+ }
11945
11954
  var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
11946
11955
  var expanded = useBrick.brick === formRenderer ? (requireSuspense ? AsyncExpandCustomForm : ExpandCustomForm)(typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData, useBrick, false) : expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense);
11947
11956
  if (requireSuspense) {
11948
11957
  setExpandedBrickConf(yield expanded);
11949
- setSuspenseReady(true);
11950
11958
  } else {
11951
- expandedBrickConfRef.current = expanded;
11959
+ setExpandedBrickConf(expanded);
11952
11960
  }
11961
+ setSuspenseReady(true);
11953
11962
 
11954
11963
  // Let `transform` works still.
11955
11964
  transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
@@ -12075,14 +12084,12 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
12075
12084
  var innerRefCallback = React.useCallback(element => {
12076
12085
  innerRefCallbackRef.current(element);
12077
12086
  }, []);
12078
- var childConfs = useMemo(() => {
12079
- var _ref7;
12080
- return slotsToChildren(((_ref7 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) !== null && _ref7 !== void 0 ? _ref7 : useBrick).slots);
12081
- }, [expandedBrickConf, expandedBrickConfRef.current, useBrick, requireSuspense]);
12082
- if (!isBrickAvailable || requireSuspense && !suspenseReady) {
12087
+ var childConfs = useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
12088
+ if (!isBrickAvailable || !suspenseReady) {
12083
12089
  return null;
12084
12090
  }
12085
- return /*#__PURE__*/React.createElement((_brick = (_ref8 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) === null || _ref8 === void 0 ? void 0 : _ref8.brick) !== null && _brick !== void 0 ? _brick : tplTagName || useBrick.brick, {
12091
+ var tagName = (_expandedBrickConf$br = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br !== void 0 ? _expandedBrickConf$br : tplTagName || useBrick.brick;
12092
+ return /*#__PURE__*/React.createElement(tagName, {
12086
12093
  ref: innerRefCallback
12087
12094
  }, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12088
12095
  key: index,
@@ -12109,11 +12116,11 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
12109
12116
  *
12110
12117
  * @param props - 属性。
12111
12118
  */
12112
- function BrickAsComponent(_ref9) {
12119
+ function BrickAsComponent(_ref7) {
12113
12120
  var {
12114
12121
  useBrick,
12115
12122
  data
12116
- } = _ref9;
12123
+ } = _ref7;
12117
12124
  if (Array.isArray(useBrick)) {
12118
12125
  return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12119
12126
  key: index,
@@ -12130,8 +12137,8 @@ function slotsToChildren(slots) {
12130
12137
  if (!slots) {
12131
12138
  return [];
12132
12139
  }
12133
- return Object.entries(slots).flatMap(_ref10 => {
12134
- var [slot, slotConf] = _ref10;
12140
+ return Object.entries(slots).flatMap(_ref8 => {
12141
+ var [slot, slotConf] = _ref8;
12135
12142
  return Array.isArray(slotConf.bricks) ? slotConf.bricks.map(child => _objectSpread(_objectSpread({}, child), {}, {
12136
12143
  properties: _objectSpread(_objectSpread({}, child.properties), {}, {
12137
12144
  slot
@@ -12149,17 +12156,16 @@ function transformEvents(data, events) {
12149
12156
 
12150
12157
  /* istanbul ignore next */
12151
12158
  // eslint-disable-next-line react/display-name
12152
- var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef(function LegacySingleBrickAsComponent(_ref11, ref) {
12153
- var _internalApiGetCurren2, _brick2, _ref18;
12159
+ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef(function LegacySingleBrickAsComponent(_ref9, ref) {
12160
+ var _internalApiGetCurren2, _expandedBrickConf$br2;
12154
12161
  var {
12155
12162
  useBrick,
12156
12163
  data,
12157
12164
  refCallback
12158
- } = _ref11;
12165
+ } = _ref9;
12159
12166
  var firstRunRef = useRef(true);
12160
12167
  var innerRefCallbackRef = useRef();
12161
12168
  var elementRef = useRef();
12162
- var expandedBrickConfRef = useRef();
12163
12169
  var [expandedBrickConf, setExpandedBrickConf] = useState(null);
12164
12170
  var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren2 = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren2 === void 0 ? void 0 : _internalApiGetCurren2.id);
12165
12171
  var isBrickAvailable = React.useMemo(() => {
@@ -12200,15 +12206,18 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
12200
12206
  if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
12201
12207
  return;
12202
12208
  }
12203
- _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
12209
+ var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
12210
+ if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
12211
+ yield promise;
12212
+ }
12204
12213
  var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
12205
12214
  var expanded = useBrick.brick === formRenderer ? (requireSuspense ? AsyncExpandCustomForm : ExpandCustomForm)(typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData, useBrick, false) : expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense);
12206
12215
  if (requireSuspense) {
12207
12216
  setExpandedBrickConf(yield expanded);
12208
- setSuspenseReady(true);
12209
12217
  } else {
12210
- expandedBrickConfRef.current = expanded;
12218
+ setExpandedBrickConf(expanded);
12211
12219
  }
12220
+ setSuspenseReady(true);
12212
12221
 
12213
12222
  // Let `transform` works still.
12214
12223
  transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
@@ -12217,8 +12226,8 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
12217
12226
 
12218
12227
  // 设置 properties refProperty值
12219
12228
  if (useBrick[symbolForComputedPropsFromProxy]) {
12220
- Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref13 => {
12221
- var [propName, propValue] = _ref13;
12229
+ Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref11 => {
12230
+ var [propName, propValue] = _ref11;
12222
12231
  set(brick.properties, propName, propValue);
12223
12232
  });
12224
12233
  }
@@ -12234,7 +12243,7 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
12234
12243
  return brick;
12235
12244
  }), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
12236
12245
  var dispatchLifeCycleEvent = /*#__PURE__*/function () {
12237
- var _ref14 = _asyncToGenerator$3(function* (event, handlers, brick) {
12246
+ var _ref12 = _asyncToGenerator$3(function* (event, handlers, brick) {
12238
12247
  for (var handler of [].concat(handlers)) {
12239
12248
  listenerFactory(handler, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12240
12249
  tplContextId: useBrick[symbolForTplContextId]
@@ -12242,7 +12251,7 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
12242
12251
  }
12243
12252
  });
12244
12253
  return function dispatchLifeCycleEvent(_x5, _x6, _x7) {
12245
- return _ref14.apply(this, arguments);
12254
+ return _ref12.apply(this, arguments);
12246
12255
  };
12247
12256
  }();
12248
12257
  var updateBrick = useCallback((brick, element) => {
@@ -12293,7 +12302,7 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
12293
12302
  })();
12294
12303
  }, [runtimeBrick, updateBrick]);
12295
12304
  innerRefCallbackRef.current = /*#__PURE__*/function () {
12296
- var _ref16 = _asyncToGenerator$3(function* (element) {
12305
+ var _ref14 = _asyncToGenerator$3(function* (element) {
12297
12306
  elementRef.current = element;
12298
12307
  var brick;
12299
12308
  try {
@@ -12319,7 +12328,7 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
12319
12328
  refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
12320
12329
  });
12321
12330
  return function (_x8) {
12322
- return _ref16.apply(this, arguments);
12331
+ return _ref14.apply(this, arguments);
12323
12332
  };
12324
12333
  }();
12325
12334
 
@@ -12327,14 +12336,12 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
12327
12336
  var innerRefCallback = React.useCallback(element => {
12328
12337
  innerRefCallbackRef.current(element);
12329
12338
  }, []);
12330
- var childConfs = useMemo(() => {
12331
- var _ref17;
12332
- return slotsToChildren(((_ref17 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) !== null && _ref17 !== void 0 ? _ref17 : useBrick).slots);
12333
- }, [expandedBrickConf, expandedBrickConfRef.current, useBrick, requireSuspense]);
12334
- if (!isBrickAvailable || requireSuspense && !suspenseReady) {
12339
+ var childConfs = useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
12340
+ if (!isBrickAvailable || !suspenseReady) {
12335
12341
  return null;
12336
12342
  }
12337
- return /*#__PURE__*/React.createElement((_brick2 = (_ref18 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) === null || _ref18 === void 0 ? void 0 : _ref18.brick) !== null && _brick2 !== void 0 ? _brick2 : tplTagName || useBrick.brick, {
12343
+ var tagName = (_expandedBrickConf$br2 = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br2 !== void 0 ? _expandedBrickConf$br2 : tplTagName || useBrick.brick;
12344
+ return /*#__PURE__*/React.createElement(tagName, {
12338
12345
  ref: innerRefCallback
12339
12346
  }, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12340
12347
  key: index,