@next-core/brick-kit 2.178.1 → 2.178.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
@@ -5,7 +5,7 @@ import _defineProperty$1 from '@babel/runtime/helpers/defineProperty';
5
5
  import _asyncToGenerator$3 from '@babel/runtime/helpers/asyncToGenerator';
6
6
  import _, { set, get, difference, identity, uniqueId, cloneDeep, clamp, isNil, isEmpty, merge, sortBy, orderBy, isObject as isObject$1, uniq, pick, omit, findLastIndex, noop, isString as isString$1 } from 'lodash';
7
7
  import { JsonStorage, toPath, computeRealRoutePath, hasOwnProperty, isObject, isEvaluable, isTrackAll, trackAll, trackContext, trackState, trackFormState, transformAndInject, transform, scanPermissionActionsInStoryboard, precookFunction, cook, collectContextUsage, deferResolveContextConcurrently, resolveContextConcurrently, syncResolveContextConcurrently, trackUsedFormState, trackUsedState, trackUsedContext, shouldAllowRecursiveEvaluations, preevaluate, inject, scanPermissionActionsInAny, deepFreeze, scanProcessorsInAny, matchPath, asyncProcessBrick, createProviderClass, removeDeadConditionsInTpl, getTemplateDepsOfStoryboard, getDllAndDepsOfStoryboard, asyncProcessStoryboard, getDllAndDepsByResource, scanRouteAliasInStoryboard, snippetEvaluate, prefetchScript, scanBricksInBrickConf, loadScript as loadScript$1, scanAppGetMenuInAny, scanInstalledAppsInStoryboard, removeDeadConditions, restoreDynamicTemplates, scanStoryboard, mapCustomApisToNameAndNamespace } from '@next-core/brick-utils';
8
- import React, { useState, useEffect, useRef, useMemo, useCallback, forwardRef, useImperativeHandle, useContext, createContext, useReducer } from 'react';
8
+ import React, { useState, useEffect, useMemo, useContext, createContext, useRef, useReducer, useCallback } from 'react';
9
9
  import { http, HttpResponseError, HttpAbortError, HttpFetchError } from '@next-core/brick-http';
10
10
  import { Modal, message, Empty, ConfigProvider } from 'antd';
11
11
  import { ExclamationCircleOutlined } from '@ant-design/icons';
@@ -11952,6 +11952,11 @@ class Router {
11952
11952
  } else if (isHttpAbortError(error)) {
11953
11953
  return;
11954
11954
  } else {
11955
+ var noAuthGuardLoginPath = getRuntime().getMiscSettings().noAuthGuardLoginPath;
11956
+ if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {
11957
+ history.replace(noAuthGuardLoginPath);
11958
+ return;
11959
+ }
11955
11960
  yield _this3.kernel.layoutBootstrap(layoutType);
11956
11961
  var brickPageError = _this3.kernel.presetBricks.pageError;
11957
11962
  yield _this3.kernel.loadDynamicBricks([brickPageError]);
@@ -12603,159 +12608,163 @@ var getCurrentRunTimeBrick = (useBrick, tplTagName, data) => {
12603
12608
  return brick;
12604
12609
  };
12605
12610
 
12606
- /**
12607
- * 可以渲染单个 `useBrick` 的 React 组件。
12608
- *
12609
- * @example
12610
- *
12611
- * ```tsx
12612
- * <BrickAsComponent
12613
- * useBrick={{
12614
- * brick: "your.any-brick"
12615
- * }}
12616
- * data={yourData}
12617
- * />
12618
- * ```
12619
- *
12620
- * @param props - 属性。
12621
- */
12622
- var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsComponent(_ref) {
12623
- var _internalApiGetCurren, _expandedBrickConf$br;
12624
- var {
12625
- useBrick,
12626
- data,
12627
- refCallback,
12628
- immediatelyRefCallback
12629
- } = _ref;
12630
- var firstRunRef = useRef(true);
12631
- var innerRefCallbackRef = useRef();
12632
- var elementRef = useRef();
12633
- var [expandedBrickConf, setExpandedBrickConf] = useState(null);
12634
- var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren === void 0 ? void 0 : _internalApiGetCurren.id);
12635
- var isBrickAvailable = useMemo(() => {
12636
- if (isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
12637
- // eslint-disable-next-line
12638
- console.warn("Currently resolvable-if in `useBrick` is not supported.");
12639
- } else if (!looseCheckIfByTransform(useBrick, data, {
12640
- allowInject: true,
12641
- // useBrick 中嵌套custom-template的情况下, 会存在丢失getTplVariables的情况, 因此需要在此进行补充
12642
- tplContextId: useBrick[symbolForTplContextId]
12643
- })) {
12644
- return false;
12645
- }
12646
- return true;
12647
- }, [useBrick, data]);
12648
- var requireSuspense = useMemo(() => {
12649
- var context;
12650
- if (useBrick.brick === formRenderer) {
12651
- var formData = typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData;
12652
- context = formData.context;
12653
- } else if (tplTagName) {
12654
- context = customTemplateRegistry.get(tplTagName).state;
12655
- }
12656
- return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
12657
- }, [tplTagName, useBrick]);
12658
- var [suspenseReady, setSuspenseReady] = useState(false);
12659
- var runtimeBrick = useMemo( /*#__PURE__*/_asyncToGenerator$3(function* () {
12660
- if (!isBrickAvailable) {
12661
- return null;
12662
- }
12663
-
12664
- // If the router state is initial, ignore rendering the sub-brick.
12665
- if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
12666
- return;
12667
- }
12668
- var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
12611
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
12612
+ function SingleBrickAsComponentFactory(React) {
12613
+ function SingleBrickAsComponent(_ref) {
12614
+ var _internalApiGetCurren, _expandedBrickConf$br;
12615
+ var {
12616
+ useBrick,
12617
+ data,
12618
+ refCallback,
12619
+ immediatelyRefCallback
12620
+ } = _ref;
12621
+ var firstRunRef = React.useRef(true);
12622
+ var innerRefCallbackRef = React.useRef();
12623
+ var elementRef = React.useRef();
12624
+ var [expandedBrickConf, setExpandedBrickConf] = React.useState(null);
12625
+ var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren === void 0 ? void 0 : _internalApiGetCurren.id);
12626
+ var isBrickAvailable = React.useMemo(() => {
12627
+ if (isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
12628
+ // eslint-disable-next-line
12629
+ console.warn("Currently resolvable-if in `useBrick` is not supported.");
12630
+ } else if (!looseCheckIfByTransform(useBrick, data, {
12631
+ allowInject: true,
12632
+ // useBrick 中嵌套custom-template的情况下, 会存在丢失getTplVariables的情况, 因此需要在此进行补充
12633
+ tplContextId: useBrick[symbolForTplContextId]
12634
+ })) {
12635
+ return false;
12636
+ }
12637
+ return true;
12638
+ }, [useBrick, data]);
12639
+ var requireSuspense = React.useMemo(() => {
12640
+ var context;
12641
+ if (useBrick.brick === formRenderer) {
12642
+ var formData = typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData;
12643
+ context = formData.context;
12644
+ } else if (tplTagName) {
12645
+ context = customTemplateRegistry.get(tplTagName).state;
12646
+ }
12647
+ return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
12648
+ }, [tplTagName, useBrick]);
12649
+ var [suspenseReady, setSuspenseReady] = React.useState(false);
12650
+ var runtimeBrick = React.useMemo( /*#__PURE__*/_asyncToGenerator$3(function* () {
12651
+ if (!isBrickAvailable) {
12652
+ return null;
12653
+ }
12669
12654
 
12670
- // 需要等待构件加载完成,因为构件可能包含属性初始化逻辑。
12671
- // 如果先创建构件,再完成构件加载,其属性默认初始化动作会覆盖用户定义的属性。
12672
- // 另一方面,避免额外的 MicroTask,因为 graph.general-graph 构件依赖固定的 useBrick 渲染时机。
12673
- if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
12674
- yield promise;
12675
- }
12676
- var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
12677
- 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);
12678
- if (requireSuspense) {
12679
- setExpandedBrickConf(yield expanded);
12680
- } else {
12681
- setExpandedBrickConf(expanded);
12682
- }
12683
- setSuspenseReady(true);
12655
+ // If the router state is initial, ignore rendering the sub-brick.
12656
+ if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
12657
+ return;
12658
+ }
12659
+ var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
12684
12660
 
12685
- // Let `transform` works still.
12686
- transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
12687
- allowInject: true
12688
- });
12661
+ // 需要等待构件加载完成,因为构件可能包含属性初始化逻辑。
12662
+ // 如果先创建构件,再完成构件加载,其属性默认初始化动作会覆盖用户定义的属性。
12663
+ // 另一方面,避免额外的 MicroTask,因为 graph.general-graph 构件依赖固定的 useBrick 渲染时机。
12664
+ if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
12665
+ yield promise;
12666
+ }
12667
+ var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
12668
+ 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);
12669
+ if (requireSuspense) {
12670
+ setExpandedBrickConf(yield expanded);
12671
+ } else {
12672
+ setExpandedBrickConf(expanded);
12673
+ }
12674
+ setSuspenseReady(true);
12689
12675
 
12690
- // 设置 properties refProperty值
12691
- if (useBrick[symbolForComputedPropsFromProxy]) {
12692
- Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref3 => {
12693
- var [propName, propValue] = _ref3;
12694
- set(brick.properties, propName, propValue);
12676
+ // Let `transform` works still.
12677
+ transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
12678
+ allowInject: true
12695
12679
  });
12696
- }
12697
- if (useBrick.lifeCycle) {
12698
- var resolver = _internalApiGetResolver();
12699
- yield resolver.resolve({
12700
- brick: useBrick.brick,
12701
- lifeCycle: useBrick.lifeCycle
12702
- }, brick, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12703
- tplContextId: useBrick[symbolForTplContextId],
12704
- formContextId: useBrick[symbolForFormContextId]
12705
- }));
12706
- }
12707
- return brick;
12708
- }), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
12709
- var dispatchLifeCycleEvent = /*#__PURE__*/function () {
12710
- var _ref4 = _asyncToGenerator$3(function* (event, handlers, brick) {
12711
- for (var handler of [].concat(handlers)) {
12712
- listenerFactory(handler, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12680
+
12681
+ // 设置 properties refProperty值
12682
+ if (useBrick[symbolForComputedPropsFromProxy]) {
12683
+ Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref3 => {
12684
+ var [propName, propValue] = _ref3;
12685
+ set(brick.properties, propName, propValue);
12686
+ });
12687
+ }
12688
+ if (useBrick.lifeCycle) {
12689
+ var resolver = _internalApiGetResolver();
12690
+ yield resolver.resolve({
12691
+ brick: useBrick.brick,
12692
+ lifeCycle: useBrick.lifeCycle
12693
+ }, brick, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12713
12694
  tplContextId: useBrick[symbolForTplContextId],
12714
12695
  formContextId: useBrick[symbolForFormContextId]
12715
- }), brick)(event);
12696
+ }));
12716
12697
  }
12717
- });
12718
- return function dispatchLifeCycleEvent(_x, _x2, _x3) {
12719
- return _ref4.apply(this, arguments);
12720
- };
12721
- }();
12722
- var updateBrick = useCallback((brick, element) => {
12723
- brick.element = element;
12724
- var {
12725
- [symbolForTplContextId]: tplContextId
12726
- } = useBrick;
12727
- var {
12728
- [symbolForFormContextId]: formContextId
12729
- } = useBrick;
12730
- if (useBrick.iid) {
12731
- element.dataset.iid = useBrick.iid;
12732
- }
12733
- setRealProperties(element, brick.properties);
12734
- unbindListeners(element);
12735
- if (brick.events) {
12736
- bindListeners(element, transformEvents(data, brick.events), _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12737
- tplContextId,
12738
- formContextId
12739
- }));
12740
- }
12741
- // 设置proxyEvent
12742
- handleProxyOfCustomTemplate(brick);
12743
- if (!["formRenderer", "custom-template"].includes(element.$$typeof)) {
12744
- if (!useBrick.brick.includes("-")) {
12745
- element.$$typeof = "native";
12746
- } else if (!customElements.get(useBrick.brick)) {
12747
- element.$$typeof = "invalid";
12698
+ return brick;
12699
+ }), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
12700
+ var dispatchLifeCycleEvent = /*#__PURE__*/function () {
12701
+ var _ref4 = _asyncToGenerator$3(function* (event, handlers, brick) {
12702
+ for (var handler of [].concat(handlers)) {
12703
+ listenerFactory(handler, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12704
+ tplContextId: useBrick[symbolForTplContextId],
12705
+ formContextId: useBrick[symbolForFormContextId]
12706
+ }), brick)(event);
12707
+ }
12708
+ });
12709
+ return function dispatchLifeCycleEvent(_x, _x2, _x3) {
12710
+ return _ref4.apply(this, arguments);
12711
+ };
12712
+ }();
12713
+ var updateBrick = React.useCallback((brick, element) => {
12714
+ brick.element = element;
12715
+ var {
12716
+ [symbolForTplContextId]: tplContextId
12717
+ } = useBrick;
12718
+ var {
12719
+ [symbolForFormContextId]: formContextId
12720
+ } = useBrick;
12721
+ if (useBrick.iid) {
12722
+ element.dataset.iid = useBrick.iid;
12723
+ }
12724
+ setRealProperties(element, brick.properties);
12725
+ unbindListeners(element);
12726
+ if (brick.events) {
12727
+ bindListeners(element, transformEvents(data, brick.events), _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12728
+ tplContextId,
12729
+ formContextId
12730
+ }));
12748
12731
  }
12749
- }
12750
- }, [data, useBrick]);
12751
- useEffect(() => {
12752
- if (firstRunRef.current) {
12753
- firstRunRef.current = false;
12754
- return;
12755
- }
12756
- _asyncToGenerator$3(function* () {
12757
- var element = elementRef.current;
12758
- if (element) {
12732
+ // 设置proxyEvent
12733
+ handleProxyOfCustomTemplate(brick);
12734
+ if (!["formRenderer", "custom-template"].includes(element.$$typeof)) {
12735
+ if (!useBrick.brick.includes("-")) {
12736
+ element.$$typeof = "native";
12737
+ } else if (!customElements.get(useBrick.brick)) {
12738
+ element.$$typeof = "invalid";
12739
+ }
12740
+ }
12741
+ }, [data, useBrick]);
12742
+ React.useEffect(() => {
12743
+ if (firstRunRef.current) {
12744
+ firstRunRef.current = false;
12745
+ return;
12746
+ }
12747
+ _asyncToGenerator$3(function* () {
12748
+ var element = elementRef.current;
12749
+ if (element) {
12750
+ var brick;
12751
+ try {
12752
+ brick = yield runtimeBrick;
12753
+ } catch (e) {
12754
+ handleHttpError(e);
12755
+ }
12756
+ // sub-brick rendering is ignored.
12757
+ if (!brick) {
12758
+ return;
12759
+ }
12760
+ updateBrick(brick, element);
12761
+ }
12762
+ })();
12763
+ }, [runtimeBrick, updateBrick]);
12764
+ innerRefCallbackRef.current = /*#__PURE__*/function () {
12765
+ var _ref6 = _asyncToGenerator$3(function* (element) {
12766
+ immediatelyRefCallback === null || immediatelyRefCallback === void 0 ? void 0 : immediatelyRefCallback(element);
12767
+ elementRef.current = element;
12759
12768
  var brick;
12760
12769
  try {
12761
12770
  brick = yield runtimeBrick;
@@ -12763,62 +12772,83 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
12763
12772
  handleHttpError(e);
12764
12773
  }
12765
12774
  // sub-brick rendering is ignored.
12766
- if (!brick) {
12767
- return;
12768
- }
12769
- updateBrick(brick, element);
12770
- }
12771
- })();
12772
- }, [runtimeBrick, updateBrick]);
12773
- innerRefCallbackRef.current = /*#__PURE__*/function () {
12774
- var _ref6 = _asyncToGenerator$3(function* (element) {
12775
- immediatelyRefCallback === null || immediatelyRefCallback === void 0 ? void 0 : immediatelyRefCallback(element);
12776
- elementRef.current = element;
12777
- var brick;
12778
- try {
12779
- brick = yield runtimeBrick;
12780
- } catch (e) {
12781
- handleHttpError(e);
12782
- }
12783
- // sub-brick rendering is ignored.
12784
- if (brick) {
12785
- if (element) {
12786
- var _useBrick$lifeCycle;
12787
- updateBrick(brick, element);
12788
- if ((_useBrick$lifeCycle = useBrick.lifeCycle) !== null && _useBrick$lifeCycle !== void 0 && _useBrick$lifeCycle.onMount) {
12789
- dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
12790
- }
12791
- } else {
12792
- var _useBrick$lifeCycle2;
12793
- if ((_useBrick$lifeCycle2 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle2 !== void 0 && _useBrick$lifeCycle2.onUnmount) {
12794
- dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
12775
+ if (brick) {
12776
+ if (element) {
12777
+ var _useBrick$lifeCycle;
12778
+ updateBrick(brick, element);
12779
+ if ((_useBrick$lifeCycle = useBrick.lifeCycle) !== null && _useBrick$lifeCycle !== void 0 && _useBrick$lifeCycle.onMount) {
12780
+ dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
12781
+ }
12782
+ } else {
12783
+ var _useBrick$lifeCycle2;
12784
+ if ((_useBrick$lifeCycle2 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle2 !== void 0 && _useBrick$lifeCycle2.onUnmount) {
12785
+ dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
12786
+ }
12795
12787
  }
12796
12788
  }
12797
- }
12798
- refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
12799
- });
12800
- return function (_x4) {
12801
- return _ref6.apply(this, arguments);
12802
- };
12803
- }();
12789
+ refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
12790
+ });
12791
+ return function (_x4) {
12792
+ return _ref6.apply(this, arguments);
12793
+ };
12794
+ }();
12804
12795
 
12805
- // ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
12806
- var innerRefCallback = React.useCallback(element => {
12807
- innerRefCallbackRef.current(element);
12808
- }, []);
12809
- var childConfs = useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
12810
- if (!isBrickAvailable || !suspenseReady) {
12811
- return null;
12812
- }
12813
- var tagName = (_expandedBrickConf$br = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br !== void 0 ? _expandedBrickConf$br : tplTagName || useBrick.brick;
12814
- return /*#__PURE__*/React.createElement(tagName, {
12815
- ref: innerRefCallback
12816
- }, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12817
- key: index,
12818
- useBrick: item,
12819
- data: data
12820
- })));
12821
- });
12796
+ // ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
12797
+ var innerRefCallback = React.useCallback(element => {
12798
+ innerRefCallbackRef.current(element);
12799
+ }, []);
12800
+ var childConfs = React.useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
12801
+ if (!isBrickAvailable || !suspenseReady) {
12802
+ return null;
12803
+ }
12804
+ var tagName = (_expandedBrickConf$br = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br !== void 0 ? _expandedBrickConf$br : tplTagName || useBrick.brick;
12805
+ return React.createElement(tagName, {
12806
+ ref: innerRefCallback
12807
+ }, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12808
+ key: index,
12809
+ useBrick: item,
12810
+ data: data
12811
+ })));
12812
+ }
12813
+ return React.memo(SingleBrickAsComponent);
12814
+ }
12815
+
12816
+ /**
12817
+ * 可以渲染单个 `useBrick` 的 React 组件。
12818
+ *
12819
+ * @example
12820
+ *
12821
+ * ```tsx
12822
+ * <BrickAsComponent
12823
+ * useBrick={{
12824
+ * brick: "your.any-brick"
12825
+ * }}
12826
+ * data={yourData}
12827
+ * />
12828
+ * ```
12829
+ *
12830
+ * @param props - 属性。
12831
+ */
12832
+ var SingleBrickAsComponent = SingleBrickAsComponentFactory(React);
12833
+ function BrickAsComponentFactory(React) {
12834
+ return function BrickAsComponent(_ref7) {
12835
+ var {
12836
+ useBrick,
12837
+ data
12838
+ } = _ref7;
12839
+ if (Array.isArray(useBrick)) {
12840
+ return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12841
+ key: index,
12842
+ useBrick: item,
12843
+ data: data
12844
+ })));
12845
+ }
12846
+ return /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12847
+ useBrick: useBrick,
12848
+ data: data
12849
+ });
12850
+ };
12851
+ }
12822
12852
 
12823
12853
  /**
12824
12854
  * 可以渲染 `useBrick` 的 React 组件。
@@ -12838,23 +12868,7 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
12838
12868
  *
12839
12869
  * @param props - 属性。
12840
12870
  */
12841
- function BrickAsComponent(_ref7) {
12842
- var {
12843
- useBrick,
12844
- data
12845
- } = _ref7;
12846
- if (Array.isArray(useBrick)) {
12847
- return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12848
- key: index,
12849
- useBrick: item,
12850
- data: data
12851
- })));
12852
- }
12853
- return /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
12854
- useBrick: useBrick,
12855
- data: data
12856
- });
12857
- }
12871
+ var BrickAsComponent = BrickAsComponentFactory(React);
12858
12872
  function slotsToChildren(slots) {
12859
12873
  if (!slots) {
12860
12874
  return [];
@@ -12877,138 +12891,156 @@ function transformEvents(data, events) {
12877
12891
  }
12878
12892
 
12879
12893
  /* istanbul ignore next */
12880
- // eslint-disable-next-line react/display-name
12881
- var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef(function LegacySingleBrickAsComponent(_ref9, ref) {
12882
- var _internalApiGetCurren2, _expandedBrickConf$br2;
12883
- var {
12884
- useBrick,
12885
- data,
12886
- refCallback
12887
- } = _ref9;
12888
- var firstRunRef = useRef(true);
12889
- var innerRefCallbackRef = useRef();
12890
- var elementRef = useRef();
12891
- var [expandedBrickConf, setExpandedBrickConf] = useState(null);
12892
- var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren2 = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren2 === void 0 ? void 0 : _internalApiGetCurren2.id);
12893
- var isBrickAvailable = React.useMemo(() => {
12894
- if (isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
12895
- // eslint-disable-next-line
12896
- console.warn("Currently resolvable-if in `useBrick` is not supported.");
12897
- } else if (!looseCheckIfByTransform(useBrick, data, {
12898
- allowInject: true,
12899
- // useBrick 中嵌套custom-template的情况下, 会存在丢失getTplVariables的情况, 因此需要在此进行补充
12900
- tplContextId: useBrick[symbolForTplContextId]
12901
- })) {
12902
- return false;
12903
- }
12904
- return true;
12905
- }, [useBrick, data]);
12906
- var requireSuspense = useMemo(() => {
12907
- var context;
12908
- if (useBrick.brick === formRenderer) {
12909
- var formData = typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData;
12910
- context = formData.context;
12911
- } else if (tplTagName) {
12912
- context = customTemplateRegistry.get(tplTagName).state;
12913
- }
12914
- return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
12915
- }, [tplTagName, useBrick]);
12916
- var [suspenseReady, setSuspenseReady] = useState(false);
12917
-
12918
- /* istanbul ignore next (never reach in test) */
12919
- useImperativeHandle(ref, () => {
12920
- return elementRef.current;
12921
- });
12922
- var runtimeBrick = React.useMemo( /*#__PURE__*/_asyncToGenerator$3(function* () {
12923
- if (!isBrickAvailable) {
12924
- return null;
12925
- }
12926
-
12927
- // If the router state is initial, ignore rendering the sub-brick.
12928
- if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
12929
- return;
12930
- }
12931
- var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
12932
- if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
12933
- yield promise;
12934
- }
12935
- var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
12936
- 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);
12937
- if (requireSuspense) {
12938
- setExpandedBrickConf(yield expanded);
12939
- } else {
12940
- setExpandedBrickConf(expanded);
12941
- }
12942
- setSuspenseReady(true);
12943
-
12944
- // Let `transform` works still.
12945
- transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
12946
- allowInject: true
12894
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
12895
+ function ForwardRefSingleBrickAsComponentFactory(React) {
12896
+ var fn = React.forwardRef(function LegacySingleBrickAsComponent(_ref9, ref) {
12897
+ var _internalApiGetCurren2, _expandedBrickConf$br2;
12898
+ var {
12899
+ useBrick,
12900
+ data,
12901
+ refCallback
12902
+ } = _ref9;
12903
+ var firstRunRef = React.useRef(true);
12904
+ var innerRefCallbackRef = React.useRef();
12905
+ var elementRef = React.useRef();
12906
+ var [expandedBrickConf, setExpandedBrickConf] = React.useState(null);
12907
+ var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren2 = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren2 === void 0 ? void 0 : _internalApiGetCurren2.id);
12908
+ var isBrickAvailable = React.useMemo(() => {
12909
+ if (isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
12910
+ // eslint-disable-next-line
12911
+ console.warn("Currently resolvable-if in `useBrick` is not supported.");
12912
+ } else if (!looseCheckIfByTransform(useBrick, data, {
12913
+ allowInject: true,
12914
+ // useBrick 中嵌套custom-template的情况下, 会存在丢失getTplVariables的情况, 因此需要在此进行补充
12915
+ tplContextId: useBrick[symbolForTplContextId]
12916
+ })) {
12917
+ return false;
12918
+ }
12919
+ return true;
12920
+ }, [useBrick, data]);
12921
+ var requireSuspense = React.useMemo(() => {
12922
+ var context;
12923
+ if (useBrick.brick === formRenderer) {
12924
+ var formData = typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData;
12925
+ context = formData.context;
12926
+ } else if (tplTagName) {
12927
+ context = customTemplateRegistry.get(tplTagName).state;
12928
+ }
12929
+ return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
12930
+ }, [tplTagName, useBrick]);
12931
+ var [suspenseReady, setSuspenseReady] = React.useState(false);
12932
+
12933
+ /* istanbul ignore next (never reach in test) */
12934
+ React.useImperativeHandle(ref, () => {
12935
+ return elementRef.current;
12947
12936
  });
12937
+ var runtimeBrick = React.useMemo( /*#__PURE__*/_asyncToGenerator$3(function* () {
12938
+ if (!isBrickAvailable) {
12939
+ return null;
12940
+ }
12941
+
12942
+ // If the router state is initial, ignore rendering the sub-brick.
12943
+ if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
12944
+ return;
12945
+ }
12946
+ var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
12947
+ if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
12948
+ yield promise;
12949
+ }
12950
+ var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
12951
+ 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);
12952
+ if (requireSuspense) {
12953
+ setExpandedBrickConf(yield expanded);
12954
+ } else {
12955
+ setExpandedBrickConf(expanded);
12956
+ }
12957
+ setSuspenseReady(true);
12948
12958
 
12949
- // 设置 properties refProperty值
12950
- if (useBrick[symbolForComputedPropsFromProxy]) {
12951
- Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref11 => {
12952
- var [propName, propValue] = _ref11;
12953
- set(brick.properties, propName, propValue);
12959
+ // Let `transform` works still.
12960
+ transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
12961
+ allowInject: true
12954
12962
  });
12955
- }
12956
- if (useBrick.lifeCycle) {
12957
- var resolver = _internalApiGetResolver();
12958
- yield resolver.resolve({
12959
- brick: useBrick.brick,
12960
- lifeCycle: useBrick.lifeCycle
12961
- }, brick, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12962
- tplContextId: useBrick[symbolForTplContextId]
12963
- }));
12964
- }
12965
- return brick;
12966
- }), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
12967
- var dispatchLifeCycleEvent = /*#__PURE__*/function () {
12968
- var _ref12 = _asyncToGenerator$3(function* (event, handlers, brick) {
12969
- for (var handler of [].concat(handlers)) {
12970
- listenerFactory(handler, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12963
+
12964
+ // 设置 properties refProperty值
12965
+ if (useBrick[symbolForComputedPropsFromProxy]) {
12966
+ Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref11 => {
12967
+ var [propName, propValue] = _ref11;
12968
+ set(brick.properties, propName, propValue);
12969
+ });
12970
+ }
12971
+ if (useBrick.lifeCycle) {
12972
+ var resolver = _internalApiGetResolver();
12973
+ yield resolver.resolve({
12974
+ brick: useBrick.brick,
12975
+ lifeCycle: useBrick.lifeCycle
12976
+ }, brick, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12971
12977
  tplContextId: useBrick[symbolForTplContextId]
12972
- }), brick)(event);
12978
+ }));
12973
12979
  }
12974
- });
12975
- return function dispatchLifeCycleEvent(_x5, _x6, _x7) {
12976
- return _ref12.apply(this, arguments);
12977
- };
12978
- }();
12979
- var updateBrick = useCallback((brick, element) => {
12980
- brick.element = element;
12981
- var {
12982
- [symbolForTplContextId]: tplContextId
12983
- } = useBrick;
12984
- if (useBrick.iid) {
12985
- element.dataset.iid = useBrick.iid;
12986
- }
12987
- setRealProperties(element, brick.properties);
12988
- unbindListeners(element);
12989
- if (useBrick.events) {
12990
- bindListeners(element, transformEvents(data, useBrick.events), _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12991
- tplContextId
12992
- }));
12993
- }
12994
- // 设置proxyEvent
12995
- handleProxyOfCustomTemplate(brick);
12996
- if (element.$$typeof !== "custom-template") {
12997
- if (!useBrick.brick.includes("-")) {
12998
- element.$$typeof = "native";
12999
- } else if (!customElements.get(useBrick.brick)) {
13000
- element.$$typeof = "invalid";
12980
+ return brick;
12981
+ }), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
12982
+ var dispatchLifeCycleEvent = /*#__PURE__*/function () {
12983
+ var _ref12 = _asyncToGenerator$3(function* (event, handlers, brick) {
12984
+ for (var handler of [].concat(handlers)) {
12985
+ listenerFactory(handler, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
12986
+ tplContextId: useBrick[symbolForTplContextId]
12987
+ }), brick)(event);
12988
+ }
12989
+ });
12990
+ return function dispatchLifeCycleEvent(_x5, _x6, _x7) {
12991
+ return _ref12.apply(this, arguments);
12992
+ };
12993
+ }();
12994
+ var updateBrick = React.useCallback((brick, element) => {
12995
+ brick.element = element;
12996
+ var {
12997
+ [symbolForTplContextId]: tplContextId
12998
+ } = useBrick;
12999
+ if (useBrick.iid) {
13000
+ element.dataset.iid = useBrick.iid;
13001
+ }
13002
+ setRealProperties(element, brick.properties);
13003
+ unbindListeners(element);
13004
+ if (useBrick.events) {
13005
+ bindListeners(element, transformEvents(data, useBrick.events), _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
13006
+ tplContextId
13007
+ }));
13001
13008
  }
13002
- }
13003
- }, [data, useBrick]);
13004
- useEffect(() => {
13005
- if (firstRunRef.current) {
13006
- firstRunRef.current = false;
13007
- return;
13008
- }
13009
- _asyncToGenerator$3(function* () {
13010
- var element = elementRef.current;
13011
- if (element) {
13009
+ // 设置proxyEvent
13010
+ handleProxyOfCustomTemplate(brick);
13011
+ if (element.$$typeof !== "custom-template") {
13012
+ if (!useBrick.brick.includes("-")) {
13013
+ element.$$typeof = "native";
13014
+ } else if (!customElements.get(useBrick.brick)) {
13015
+ element.$$typeof = "invalid";
13016
+ }
13017
+ }
13018
+ }, [data, useBrick]);
13019
+ React.useEffect(() => {
13020
+ if (firstRunRef.current) {
13021
+ firstRunRef.current = false;
13022
+ return;
13023
+ }
13024
+ _asyncToGenerator$3(function* () {
13025
+ var element = elementRef.current;
13026
+ if (element) {
13027
+ var brick;
13028
+ try {
13029
+ brick = yield runtimeBrick;
13030
+ } catch (e) {
13031
+ handleHttpError(e);
13032
+ }
13033
+ // sub-brick rendering is ignored.
13034
+ if (!brick) {
13035
+ return;
13036
+ }
13037
+ updateBrick(brick, element);
13038
+ }
13039
+ })();
13040
+ }, [runtimeBrick, updateBrick]);
13041
+ innerRefCallbackRef.current = /*#__PURE__*/function () {
13042
+ var _ref14 = _asyncToGenerator$3(function* (element) {
13043
+ elementRef.current = element;
13012
13044
  var brick;
13013
13045
  try {
13014
13046
  brick = yield runtimeBrick;
@@ -13016,61 +13048,47 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
13016
13048
  handleHttpError(e);
13017
13049
  }
13018
13050
  // sub-brick rendering is ignored.
13019
- if (!brick) {
13020
- return;
13021
- }
13022
- updateBrick(brick, element);
13023
- }
13024
- })();
13025
- }, [runtimeBrick, updateBrick]);
13026
- innerRefCallbackRef.current = /*#__PURE__*/function () {
13027
- var _ref14 = _asyncToGenerator$3(function* (element) {
13028
- elementRef.current = element;
13029
- var brick;
13030
- try {
13031
- brick = yield runtimeBrick;
13032
- } catch (e) {
13033
- handleHttpError(e);
13034
- }
13035
- // sub-brick rendering is ignored.
13036
- if (brick) {
13037
- if (element) {
13038
- var _useBrick$lifeCycle3;
13039
- updateBrick(brick, element);
13040
- if ((_useBrick$lifeCycle3 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle3 !== void 0 && _useBrick$lifeCycle3.onMount) {
13041
- dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
13042
- }
13043
- } else {
13044
- var _useBrick$lifeCycle4;
13045
- if ((_useBrick$lifeCycle4 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle4 !== void 0 && _useBrick$lifeCycle4.onUnmount) {
13046
- dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
13051
+ if (brick) {
13052
+ if (element) {
13053
+ var _useBrick$lifeCycle3;
13054
+ updateBrick(brick, element);
13055
+ if ((_useBrick$lifeCycle3 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle3 !== void 0 && _useBrick$lifeCycle3.onMount) {
13056
+ dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
13057
+ }
13058
+ } else {
13059
+ var _useBrick$lifeCycle4;
13060
+ if ((_useBrick$lifeCycle4 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle4 !== void 0 && _useBrick$lifeCycle4.onUnmount) {
13061
+ dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
13062
+ }
13047
13063
  }
13048
13064
  }
13049
- }
13050
- refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
13051
- });
13052
- return function (_x8) {
13053
- return _ref14.apply(this, arguments);
13054
- };
13055
- }();
13065
+ refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
13066
+ });
13067
+ return function (_x8) {
13068
+ return _ref14.apply(this, arguments);
13069
+ };
13070
+ }();
13056
13071
 
13057
- // ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
13058
- var innerRefCallback = React.useCallback(element => {
13059
- innerRefCallbackRef.current(element);
13060
- }, []);
13061
- var childConfs = useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
13062
- if (!isBrickAvailable || !suspenseReady) {
13063
- return null;
13064
- }
13065
- var tagName = (_expandedBrickConf$br2 = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br2 !== void 0 ? _expandedBrickConf$br2 : tplTagName || useBrick.brick;
13066
- return /*#__PURE__*/React.createElement(tagName, {
13067
- ref: innerRefCallback
13068
- }, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
13069
- key: index,
13070
- useBrick: item,
13071
- data: data
13072
- })));
13073
- }));
13072
+ // ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
13073
+ var innerRefCallback = React.useCallback(element => {
13074
+ innerRefCallbackRef.current(element);
13075
+ }, []);
13076
+ var childConfs = React.useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
13077
+ if (!isBrickAvailable || !suspenseReady) {
13078
+ return null;
13079
+ }
13080
+ var tagName = (_expandedBrickConf$br2 = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br2 !== void 0 ? _expandedBrickConf$br2 : tplTagName || useBrick.brick;
13081
+ return React.createElement(tagName, {
13082
+ ref: innerRefCallback
13083
+ }, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
13084
+ key: index,
13085
+ useBrick: item,
13086
+ data: data
13087
+ })));
13088
+ });
13089
+ return React.memo(fn);
13090
+ }
13091
+ var ForwardRefSingleBrickAsComponent = ForwardRefSingleBrickAsComponentFactory(React);
13074
13092
 
13075
13093
  var Pagination$1 = {
13076
13094
  // Options.jsx
@@ -14847,5 +14865,5 @@ function constructEventListener(handler) {
14847
14865
  });
14848
14866
  }
14849
14867
 
14850
- export { BrickAsComponent, BrickWrapper, DisplayByFeatureFlags, EasyopsEmpty, ErrorBoundary, FeatureFlagsProvider, ForwardRefSingleBrickAsComponent, ModalElement, SingleBrickAsComponent, StoryboardFunctionRegistryFactory, UpdatingElement, WebsocketMessageRequest, WebsocketMessageResponse, abortController, applyTheme, authenticate, batchSetAppsLocalTheme, checkIf, checkIfByTransform, constructEventListener, createHistory, createRuntime, createWebSocket, developHelper, doTransform, event, getAuth, getCssPropertyValue, getCurrentTheme, getHistory, getMockInfo, getRealValue, getRuntime, getRuntimeMisc, getWebSocket, handleHttpError, httpErrorToString, i18nText, initI18n, isLoggedIn, logout, looseCheckIf$1 as looseCheckIf, looseCheckIfByTransform, looseCheckIfOfComputed, method, preprocessTransformProperties, property, reTransformForDevtools, renderEasyopsEmpty, transformElementProperties, transformIntermediateData, transformProperties, useApplyPageTitle, useCurrentApp, useCurrentMode, useCurrentTheme, useFeatureFlags, useLocation, useProvider, useRecentApps };
14868
+ export { BrickAsComponent, BrickAsComponentFactory, BrickWrapper, DisplayByFeatureFlags, EasyopsEmpty, ErrorBoundary, FeatureFlagsProvider, ForwardRefSingleBrickAsComponent, ForwardRefSingleBrickAsComponentFactory, ModalElement, SingleBrickAsComponent, SingleBrickAsComponentFactory, StoryboardFunctionRegistryFactory, UpdatingElement, WebsocketMessageRequest, WebsocketMessageResponse, abortController, applyTheme, authenticate, batchSetAppsLocalTheme, checkIf, checkIfByTransform, constructEventListener, createHistory, createRuntime, createWebSocket, developHelper, doTransform, event, getAuth, getCssPropertyValue, getCurrentTheme, getHistory, getMockInfo, getRealValue, getRuntime, getRuntimeMisc, getWebSocket, handleHttpError, httpErrorToString, i18nText, initI18n, isLoggedIn, logout, looseCheckIf$1 as looseCheckIf, looseCheckIfByTransform, looseCheckIfOfComputed, method, preprocessTransformProperties, property, reTransformForDevtools, renderEasyopsEmpty, transformElementProperties, transformIntermediateData, transformProperties, useApplyPageTitle, useCurrentApp, useCurrentMode, useCurrentTheme, useFeatureFlags, useLocation, useProvider, useRecentApps };
14851
14869
  //# sourceMappingURL=index.esm.js.map