@next-core/react-runtime 1.10.4 → 1.11.1

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.
@@ -7,9 +7,28 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.ReactUseMultipleBricks = exports.ReactUseBrick = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _runtime = require("@next-core/runtime");
10
+ /**
11
+ * useBrick 的 render 函数类型。
12
+ *
13
+ * @example
14
+ *
15
+ * ```tsx
16
+ * const columns = [
17
+ * {
18
+ * key: "status",
19
+ * useBrick: (data) => <WrappedEoTag textContent={data.cellData} />
20
+ * }
21
+ * ];
22
+ * ```
23
+ */
24
+
25
+ /**
26
+ * useBrick 配置,支持配置对象或 render 函数。
27
+ */
28
+
10
29
  // Note: always synchronize code in LegacyUseBrick:
11
30
  // `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`
12
- let ReactUseBrick = exports.ReactUseBrick = function ReactUseBrick({
31
+ let ReactUseBrickInternal = function ReactUseBrickInternal({
13
32
  useBrick,
14
33
  data,
15
34
  errorBoundary,
@@ -74,6 +93,28 @@ let ReactUseBrick = exports.ReactUseBrick = function ReactUseBrick({
74
93
  ref: _refCallback
75
94
  });
76
95
  };
96
+ let ReactUseBrick = exports.ReactUseBrick = function ReactUseBrick({
97
+ useBrick,
98
+ data,
99
+ errorBoundary,
100
+ refCallback,
101
+ ignoredCallback
102
+ }) {
103
+ // 如果 useBrick 是 render 函数,直接调用返回
104
+ if (typeof useBrick === "function") {
105
+ const renderFn = useBrick;
106
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderFn(data));
107
+ }
108
+
109
+ // 否则使用原有的配置对象渲染逻辑
110
+ return /*#__PURE__*/_react.default.createElement(ReactUseBrickInternal, {
111
+ useBrick: useBrick,
112
+ data: data,
113
+ errorBoundary: errorBoundary,
114
+ refCallback: refCallback,
115
+ ignoredCallback: ignoredCallback
116
+ });
117
+ };
77
118
  function getUniqueId(ref) {
78
119
  return ++ref.current;
79
120
  }
@@ -87,6 +128,10 @@ let ReactUseMultipleBricks = exports.ReactUseMultipleBricks = function ReactUseM
87
128
  data,
88
129
  errorBoundary
89
130
  }) {
131
+ // 如果 useBrick 是 render 函数,直接调用返回
132
+ if (typeof useBrick === "function") {
133
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, useBrick(data));
134
+ }
90
135
  if (Array.isArray(useBrick)) {
91
136
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/_react.default.createElement(ReactUseBrick, {
92
137
  key: index,
@@ -1 +1 @@
1
- {"version":3,"file":"ReactUseBrick.js","names":["_react","_interopRequireWildcard","require","_runtime","ReactUseBrick","exports","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","handleHttpError","_refCallback","useCallback","element","current","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","default","createElement","key","ref","_secret_internals$ge2","newRenderId","ReactUseMultipleBricks","Array","isArray","Fragment","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","React"],"sources":["../../src/ReactUseBrick.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n __secret_internals,\n handleHttpError,\n getV2RuntimeFromDll,\n} from \"@next-core/runtime\";\n\nexport type { UseSingleBrickConf };\n\nexport interface ReactUseBrickProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickProps): React.ReactElement | null {\n const [renderResult, setRenderResult] =\n useState<__secret_internals.RenderUseBrickResult | null>(null);\n const mountResult = useRef<__secret_internals.MountUseBrickResult>();\n const [renderKey, setRenderKey] = useState<number>();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => __secret_internals.getRenderId?.(), []);\n\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(\n useBrick,\n data,\n errorBoundary\n );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\n \"Render useBrick failed:\",\n useBrick,\n \"with data:\",\n data\n );\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n renderResult!,\n element\n );\n } else {\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n refCallback?.(element);\n },\n [refCallback, renderResult]\n );\n\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n const { tagName } = renderResult;\n if (tagName === null) {\n ignoredCallback?.();\n return null;\n }\n\n const WebComponent = tagName as \"div\";\n return <WebComponent key={renderKey} ref={_refCallback} />;\n};\n\nfunction getUniqueId(ref: MutableRefObject<number>): number {\n return ++ref.current;\n}\n\nfunction isTheSameRender(initialRenderId: string | undefined): boolean {\n const newRenderId = __secret_internals.getRenderId?.();\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\n\nexport interface ReactUseMultipleBricksProps {\n useBrick: UseSingleBrickConf | UseSingleBrickConf[];\n data?: unknown;\n errorBoundary?: boolean;\n}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n errorBoundary,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick\n key={index}\n useBrick={item}\n data={data}\n errorBoundary={errorBoundary}\n />\n ))}\n </>\n );\n }\n return (\n <ReactUseBrick\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n />\n );\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const { SingleBrickAsComponentFactory, BrickAsComponentFactory } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\n\nexport { ReactUseBrick, ReactUseMultipleBricks };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ReactUseBrick.js","names":["_react","_interopRequireWildcard","require","_runtime","ReactUseBrickInternal","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","handleHttpError","_refCallback","useCallback","element","current","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","default","createElement","key","ref","ReactUseBrick","exports","renderFn","Fragment","_secret_internals$ge2","newRenderId","ReactUseMultipleBricks","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","React"],"sources":["../../src/ReactUseBrick.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n __secret_internals,\n handleHttpError,\n getV2RuntimeFromDll,\n} from \"@next-core/runtime\";\n\nexport type { UseSingleBrickConf };\n\n/**\n * useBrick 的 render 函数类型。\n *\n * @example\n *\n * ```tsx\n * const columns = [\n * {\n * key: \"status\",\n * useBrick: (data) => <WrappedEoTag textContent={data.cellData} />\n * }\n * ];\n * ```\n */\nexport type UseBrickRenderFunction<T = unknown> = (data: T) => ReactNode;\n\n/**\n * useBrick 配置,支持配置对象或 render 函数。\n */\nexport type UseBrickConfOrRenderFunction<T = unknown> =\n | UseSingleBrickConf\n | UseBrickRenderFunction<T>;\n\nexport interface ReactUseBrickProps<T = unknown> {\n useBrick: UseBrickConfOrRenderFunction<T>;\n data?: T;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\ninterface ReactUseBrickInternalProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrickInternal = function ReactUseBrickInternal({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickInternalProps): React.ReactElement | null {\n const [renderResult, setRenderResult] =\n useState<__secret_internals.RenderUseBrickResult | null>(null);\n const mountResult = useRef<__secret_internals.MountUseBrickResult>();\n const [renderKey, setRenderKey] = useState<number>();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => __secret_internals.getRenderId?.(), []);\n\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(\n useBrick,\n data,\n errorBoundary\n );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\n \"Render useBrick failed:\",\n useBrick,\n \"with data:\",\n data\n );\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n renderResult!,\n element\n );\n } else {\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n refCallback?.(element);\n },\n [refCallback, renderResult]\n );\n\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n const { tagName } = renderResult;\n if (tagName === null) {\n ignoredCallback?.();\n return null;\n }\n\n const WebComponent = tagName as \"div\";\n return <WebComponent key={renderKey} ref={_refCallback} />;\n};\n\nlet ReactUseBrick = function ReactUseBrick({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickProps): React.ReactElement | null {\n // 如果 useBrick 是 render 函数,直接调用返回\n if (typeof useBrick === \"function\") {\n const renderFn = useBrick;\n return <>{renderFn(data)}</>;\n }\n\n // 否则使用原有的配置对象渲染逻辑\n return (\n <ReactUseBrickInternal\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n refCallback={refCallback}\n ignoredCallback={ignoredCallback}\n />\n );\n};\n\nfunction getUniqueId(ref: MutableRefObject<number>): number {\n return ++ref.current;\n}\n\nfunction isTheSameRender(initialRenderId: string | undefined): boolean {\n const newRenderId = __secret_internals.getRenderId?.();\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\n\nexport interface ReactUseMultipleBricksProps<T = unknown> {\n useBrick:\n | UseSingleBrickConf\n | UseSingleBrickConf[]\n | UseBrickRenderFunction<T>;\n data?: T;\n errorBoundary?: boolean;\n}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n errorBoundary,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n // 如果 useBrick 是 render 函数,直接调用返回\n if (typeof useBrick === \"function\") {\n return <>{useBrick(data)}</>;\n }\n\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick\n key={index}\n useBrick={item}\n data={data}\n errorBoundary={errorBoundary}\n />\n ))}\n </>\n );\n }\n return (\n <ReactUseBrick\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n />\n );\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const { SingleBrickAsComponentFactory, BrickAsComponentFactory } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\n\nexport { ReactUseBrick, ReactUseMultipleBricks };\n"],"mappings":"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","ignoreList":[]}
package/dist/cjs/index.js CHANGED
@@ -212,4 +212,15 @@ Object.keys(_useControlledState).forEach(function (key) {
212
212
  }
213
213
  });
214
214
  });
215
+ var _useMessage = require("./useMessage.js");
216
+ Object.keys(_useMessage).forEach(function (key) {
217
+ if (key === "default" || key === "__esModule") return;
218
+ if (key in exports && exports[key] === _useMessage[key]) return;
219
+ Object.defineProperty(exports, key, {
220
+ enumerable: true,
221
+ get: function () {
222
+ return _useMessage[key];
223
+ }
224
+ });
225
+ });
215
226
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_ReactUseBrick","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useCurrentTheme","_useCurrentApp","_useRecentApps","_useRouteRender","_useProvider","_asyncWrapBrick","_useNavConfig","_useLazyWrapBrick","_usePathParams","_useSearchParams","_useParams","_useHistory","_useAuth","_useLocation","_useFeatureFlags","_useSystemInfo","_useCheckPermissions","_useControlledState"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\nexport * from \"./useFeatureFlags.js\";\nexport * from \"./useSystemInfo.js\";\nexport * from \"./useCheckPermissions.js\";\nexport * from \"./useControlledState.js\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_ReactUseBrick","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useCurrentTheme","_useCurrentApp","_useRecentApps","_useRouteRender","_useProvider","_asyncWrapBrick","_useNavConfig","_useLazyWrapBrick","_usePathParams","_useSearchParams","_useParams","_useHistory","_useAuth","_useLocation","_useFeatureFlags","_useSystemInfo","_useCheckPermissions","_useControlledState","_useMessage"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\nexport * from \"./useFeatureFlags.js\";\nexport * from \"./useSystemInfo.js\";\nexport * from \"./useCheckPermissions.js\";\nexport * from \"./useControlledState.js\";\nexport * from \"./useMessage.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useMessage = useMessage;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _runtime = require("@next-core/runtime");
10
+ /**
11
+ * 获取 message 对象的 React hooks,用于显示通知消息。
12
+ *
13
+ * **注意**: 使用 useMemo 确保返回的 message 对象引用稳定,
14
+ * 避免不必要的组件重渲染。这在对象被用于依赖数组或传递给记忆化组件时尤为重要。
15
+ *
16
+ * @example
17
+ *
18
+ * ```tsx
19
+ * function MyReactComponent() {
20
+ * const message = useMessage();
21
+ * const handleSuccess = () => {
22
+ * message.success("操作成功!");
23
+ * };
24
+ * const handleError = () => {
25
+ * message.error("操作失败!");
26
+ * };
27
+ * return (
28
+ * <div>
29
+ * <button onClick={handleSuccess}>成功</button>
30
+ * <button onClick={handleError}>失败</button>
31
+ * </div>
32
+ * );
33
+ * }
34
+ * ```
35
+ *
36
+ * @returns message 对象,包含 success、error、info、warn 四个方法。
37
+ */
38
+ function useMessage() {
39
+ return _react.default.useMemo(() => ({
40
+ success: message => {
41
+ _runtime.Notification.show({
42
+ type: "success",
43
+ message
44
+ });
45
+ },
46
+ error: message => {
47
+ _runtime.Notification.show({
48
+ type: "error",
49
+ message
50
+ });
51
+ },
52
+ info: message => {
53
+ _runtime.Notification.show({
54
+ type: "info",
55
+ message
56
+ });
57
+ },
58
+ warn: message => {
59
+ _runtime.Notification.show({
60
+ type: "warn",
61
+ message
62
+ });
63
+ }
64
+ }), []);
65
+ }
66
+ //# sourceMappingURL=useMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMessage.js","names":["_react","_interopRequireDefault","require","_runtime","useMessage","React","useMemo","success","message","Notification","show","type","error","info","warn"],"sources":["../../src/useMessage.ts"],"sourcesContent":["import React from \"react\";\nimport { Notification } from \"@next-core/runtime\";\n\nexport interface Message {\n /**\n * 显示成功消息。\n * @param message - 要显示的消息内容\n */\n success: (message: string) => void;\n\n /**\n * 显示错误消息。\n * @param message - 要显示的消息内容\n */\n error: (message: string) => void;\n\n /**\n * 显示信息消息。\n * @param message - 要显示的消息内容\n */\n info: (message: string) => void;\n\n /**\n * 显示警告消息。\n * @param message - 要显示的消息内容\n */\n warn: (message: string) => void;\n}\n\n/**\n * 获取 message 对象的 React hooks,用于显示通知消息。\n *\n * **注意**: 使用 useMemo 确保返回的 message 对象引用稳定,\n * 避免不必要的组件重渲染。这在对象被用于依赖数组或传递给记忆化组件时尤为重要。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const message = useMessage();\n * const handleSuccess = () => {\n * message.success(\"操作成功!\");\n * };\n * const handleError = () => {\n * message.error(\"操作失败!\");\n * };\n * return (\n * <div>\n * <button onClick={handleSuccess}>成功</button>\n * <button onClick={handleError}>失败</button>\n * </div>\n * );\n * }\n * ```\n *\n * @returns message 对象,包含 success、error、info、warn 四个方法。\n */\nexport function useMessage(): Message {\n return React.useMemo(\n () => ({\n success: (message: string) => {\n Notification.show({ type: \"success\", message });\n },\n error: (message: string) => {\n Notification.show({ type: \"error\", message });\n },\n info: (message: string) => {\n Notification.show({ type: \"info\", message });\n },\n warn: (message: string) => {\n Notification.show({ type: \"warn\", message });\n },\n }),\n []\n );\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AA4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,UAAUA,CAAA,EAAY;EACpC,OAAOC,cAAK,CAACC,OAAO,CAClB,OAAO;IACLC,OAAO,EAAGC,OAAe,IAAK;MAC5BC,qBAAY,CAACC,IAAI,CAAC;QAAEC,IAAI,EAAE,SAAS;QAAEH;MAAQ,CAAC,CAAC;IACjD,CAAC;IACDI,KAAK,EAAGJ,OAAe,IAAK;MAC1BC,qBAAY,CAACC,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEH;MAAQ,CAAC,CAAC;IAC/C,CAAC;IACDK,IAAI,EAAGL,OAAe,IAAK;MACzBC,qBAAY,CAACC,IAAI,CAAC;QAAEC,IAAI,EAAE,MAAM;QAAEH;MAAQ,CAAC,CAAC;IAC9C,CAAC;IACDM,IAAI,EAAGN,OAAe,IAAK;MACzBC,qBAAY,CAACC,IAAI,CAAC;QAAEC,IAAI,EAAE,MAAM;QAAEH;MAAQ,CAAC,CAAC;IAC9C;EACF,CAAC,CAAC,EACF,EACF,CAAC;AACH","ignoreList":[]}
@@ -1,8 +1,28 @@
1
1
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
2
  import { __secret_internals, handleHttpError, getV2RuntimeFromDll } from "@next-core/runtime";
3
+
4
+ /**
5
+ * useBrick 的 render 函数类型。
6
+ *
7
+ * @example
8
+ *
9
+ * ```tsx
10
+ * const columns = [
11
+ * {
12
+ * key: "status",
13
+ * useBrick: (data) => <WrappedEoTag textContent={data.cellData} />
14
+ * }
15
+ * ];
16
+ * ```
17
+ */
18
+
19
+ /**
20
+ * useBrick 配置,支持配置对象或 render 函数。
21
+ */
22
+
3
23
  // Note: always synchronize code in LegacyUseBrick:
4
24
  // `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`
5
- let ReactUseBrick = function ReactUseBrick(_ref) {
25
+ let ReactUseBrickInternal = function ReactUseBrickInternal(_ref) {
6
26
  let {
7
27
  useBrick,
8
28
  data,
@@ -68,6 +88,29 @@ let ReactUseBrick = function ReactUseBrick(_ref) {
68
88
  ref: _refCallback
69
89
  });
70
90
  };
91
+ let ReactUseBrick = function ReactUseBrick(_ref2) {
92
+ let {
93
+ useBrick,
94
+ data,
95
+ errorBoundary,
96
+ refCallback,
97
+ ignoredCallback
98
+ } = _ref2;
99
+ // 如果 useBrick 是 render 函数,直接调用返回
100
+ if (typeof useBrick === "function") {
101
+ const renderFn = useBrick;
102
+ return /*#__PURE__*/React.createElement(React.Fragment, null, renderFn(data));
103
+ }
104
+
105
+ // 否则使用原有的配置对象渲染逻辑
106
+ return /*#__PURE__*/React.createElement(ReactUseBrickInternal, {
107
+ useBrick: useBrick,
108
+ data: data,
109
+ errorBoundary: errorBoundary,
110
+ refCallback: refCallback,
111
+ ignoredCallback: ignoredCallback
112
+ });
113
+ };
71
114
  function getUniqueId(ref) {
72
115
  return ++ref.current;
73
116
  }
@@ -76,12 +119,16 @@ function isTheSameRender(initialRenderId) {
76
119
  const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);
77
120
  return !initialRenderId || !newRenderId || initialRenderId === newRenderId;
78
121
  }
79
- let ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {
122
+ let ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref3) {
80
123
  let {
81
124
  useBrick,
82
125
  data,
83
126
  errorBoundary
84
- } = _ref2;
127
+ } = _ref3;
128
+ // 如果 useBrick 是 render 函数,直接调用返回
129
+ if (typeof useBrick === "function") {
130
+ return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick(data));
131
+ }
85
132
  if (Array.isArray(useBrick)) {
86
133
  return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {
87
134
  key: index,
@@ -1 +1 @@
1
- {"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","mountResult","renderKey","setRenderKey","IdCounterRef","initialRenderId","_secret_internals$ge","getRenderId","call","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","_refCallback","element","current","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","createElement","key","ref","_secret_internals$ge2","newRenderId","ReactUseMultipleBricks","_ref2","Array","isArray","Fragment","map","item","index","v2Kit","SingleBrickAsComponentFactory","BrickAsComponentFactory"],"sources":["../../src/ReactUseBrick.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n __secret_internals,\n handleHttpError,\n getV2RuntimeFromDll,\n} from \"@next-core/runtime\";\n\nexport type { UseSingleBrickConf };\n\nexport interface ReactUseBrickProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickProps): React.ReactElement | null {\n const [renderResult, setRenderResult] =\n useState<__secret_internals.RenderUseBrickResult | null>(null);\n const mountResult = useRef<__secret_internals.MountUseBrickResult>();\n const [renderKey, setRenderKey] = useState<number>();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => __secret_internals.getRenderId?.(), []);\n\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(\n useBrick,\n data,\n errorBoundary\n );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\n \"Render useBrick failed:\",\n useBrick,\n \"with data:\",\n data\n );\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n renderResult!,\n element\n );\n } else {\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n refCallback?.(element);\n },\n [refCallback, renderResult]\n );\n\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n const { tagName } = renderResult;\n if (tagName === null) {\n ignoredCallback?.();\n return null;\n }\n\n const WebComponent = tagName as \"div\";\n return <WebComponent key={renderKey} ref={_refCallback} />;\n};\n\nfunction getUniqueId(ref: MutableRefObject<number>): number {\n return ++ref.current;\n}\n\nfunction isTheSameRender(initialRenderId: string | undefined): boolean {\n const newRenderId = __secret_internals.getRenderId?.();\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\n\nexport interface ReactUseMultipleBricksProps {\n useBrick: UseSingleBrickConf | UseSingleBrickConf[];\n data?: unknown;\n errorBoundary?: boolean;\n}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n errorBoundary,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick\n key={index}\n useBrick={item}\n data={data}\n errorBoundary={errorBoundary}\n />\n ))}\n </>\n );\n }\n return (\n <ReactUseBrick\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n />\n );\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const { SingleBrickAsComponentFactory, BrickAsComponentFactory } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\n\nexport { ReactUseBrick, ReactUseMultipleBricks };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrickInternal","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","mountResult","renderKey","setRenderKey","IdCounterRef","initialRenderId","_secret_internals$ge","getRenderId","call","ignore","init","newRender","renderUseBrick","getUniqueId","error","isTheSameRender","console","_refCallback","element","current","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","createElement","key","ref","ReactUseBrick","_ref2","renderFn","Fragment","_secret_internals$ge2","newRenderId","ReactUseMultipleBricks","_ref3","Array","isArray","map","item","index","v2Kit","SingleBrickAsComponentFactory","BrickAsComponentFactory"],"sources":["../../src/ReactUseBrick.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n __secret_internals,\n handleHttpError,\n getV2RuntimeFromDll,\n} from \"@next-core/runtime\";\n\nexport type { UseSingleBrickConf };\n\n/**\n * useBrick 的 render 函数类型。\n *\n * @example\n *\n * ```tsx\n * const columns = [\n * {\n * key: \"status\",\n * useBrick: (data) => <WrappedEoTag textContent={data.cellData} />\n * }\n * ];\n * ```\n */\nexport type UseBrickRenderFunction<T = unknown> = (data: T) => ReactNode;\n\n/**\n * useBrick 配置,支持配置对象或 render 函数。\n */\nexport type UseBrickConfOrRenderFunction<T = unknown> =\n | UseSingleBrickConf\n | UseBrickRenderFunction<T>;\n\nexport interface ReactUseBrickProps<T = unknown> {\n useBrick: UseBrickConfOrRenderFunction<T>;\n data?: T;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\ninterface ReactUseBrickInternalProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\n errorBoundary?: boolean;\n refCallback?: (element: HTMLElement | null) => void;\n ignoredCallback?: () => void;\n}\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrickInternal = function ReactUseBrickInternal({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickInternalProps): React.ReactElement | null {\n const [renderResult, setRenderResult] =\n useState<__secret_internals.RenderUseBrickResult | null>(null);\n const mountResult = useRef<__secret_internals.MountUseBrickResult>();\n const [renderKey, setRenderKey] = useState<number>();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => __secret_internals.getRenderId?.(), []);\n\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(\n useBrick,\n data,\n errorBoundary\n );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\n \"Render useBrick failed:\",\n useBrick,\n \"with data:\",\n data\n );\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n renderResult!,\n element\n );\n } else {\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n refCallback?.(element);\n },\n [refCallback, renderResult]\n );\n\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n const { tagName } = renderResult;\n if (tagName === null) {\n ignoredCallback?.();\n return null;\n }\n\n const WebComponent = tagName as \"div\";\n return <WebComponent key={renderKey} ref={_refCallback} />;\n};\n\nlet ReactUseBrick = function ReactUseBrick({\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback,\n}: ReactUseBrickProps): React.ReactElement | null {\n // 如果 useBrick 是 render 函数,直接调用返回\n if (typeof useBrick === \"function\") {\n const renderFn = useBrick;\n return <>{renderFn(data)}</>;\n }\n\n // 否则使用原有的配置对象渲染逻辑\n return (\n <ReactUseBrickInternal\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n refCallback={refCallback}\n ignoredCallback={ignoredCallback}\n />\n );\n};\n\nfunction getUniqueId(ref: MutableRefObject<number>): number {\n return ++ref.current;\n}\n\nfunction isTheSameRender(initialRenderId: string | undefined): boolean {\n const newRenderId = __secret_internals.getRenderId?.();\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\n\nexport interface ReactUseMultipleBricksProps<T = unknown> {\n useBrick:\n | UseSingleBrickConf\n | UseSingleBrickConf[]\n | UseBrickRenderFunction<T>;\n data?: T;\n errorBoundary?: boolean;\n}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n errorBoundary,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n // 如果 useBrick 是 render 函数,直接调用返回\n if (typeof useBrick === \"function\") {\n return <>{useBrick(data)}</>;\n }\n\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick\n key={index}\n useBrick={item}\n data={data}\n errorBoundary={errorBoundary}\n />\n ))}\n </>\n );\n }\n return (\n <ReactUseBrick\n useBrick={useBrick}\n data={data}\n errorBoundary={errorBoundary}\n />\n );\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const { SingleBrickAsComponentFactory, BrickAsComponentFactory } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\n\nexport { ReactUseBrick, ReactUseMultipleBricks };\n"],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -17,4 +17,5 @@ export * from "./useFeatureFlags.js";
17
17
  export * from "./useSystemInfo.js";
18
18
  export * from "./useCheckPermissions.js";
19
19
  export * from "./useControlledState.js";
20
+ export * from "./useMessage.js";
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\nexport * from \"./useFeatureFlags.js\";\nexport * from \"./useSystemInfo.js\";\nexport * from \"./useCheckPermissions.js\";\nexport * from \"./useControlledState.js\";\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,yBAAyB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\nexport * from \"./useFeatureFlags.js\";\nexport * from \"./useSystemInfo.js\";\nexport * from \"./useCheckPermissions.js\";\nexport * from \"./useControlledState.js\";\nexport * from \"./useMessage.js\";\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,yBAAyB;AACvC,cAAc,iBAAiB","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ import React from "react";
2
+ import { Notification } from "@next-core/runtime";
3
+ /**
4
+ * 获取 message 对象的 React hooks,用于显示通知消息。
5
+ *
6
+ * **注意**: 使用 useMemo 确保返回的 message 对象引用稳定,
7
+ * 避免不必要的组件重渲染。这在对象被用于依赖数组或传递给记忆化组件时尤为重要。
8
+ *
9
+ * @example
10
+ *
11
+ * ```tsx
12
+ * function MyReactComponent() {
13
+ * const message = useMessage();
14
+ * const handleSuccess = () => {
15
+ * message.success("操作成功!");
16
+ * };
17
+ * const handleError = () => {
18
+ * message.error("操作失败!");
19
+ * };
20
+ * return (
21
+ * <div>
22
+ * <button onClick={handleSuccess}>成功</button>
23
+ * <button onClick={handleError}>失败</button>
24
+ * </div>
25
+ * );
26
+ * }
27
+ * ```
28
+ *
29
+ * @returns message 对象,包含 success、error、info、warn 四个方法。
30
+ */
31
+ export function useMessage() {
32
+ return React.useMemo(() => ({
33
+ success: message => {
34
+ Notification.show({
35
+ type: "success",
36
+ message
37
+ });
38
+ },
39
+ error: message => {
40
+ Notification.show({
41
+ type: "error",
42
+ message
43
+ });
44
+ },
45
+ info: message => {
46
+ Notification.show({
47
+ type: "info",
48
+ message
49
+ });
50
+ },
51
+ warn: message => {
52
+ Notification.show({
53
+ type: "warn",
54
+ message
55
+ });
56
+ }
57
+ }), []);
58
+ }
59
+ //# sourceMappingURL=useMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMessage.js","names":["React","Notification","useMessage","useMemo","success","message","show","type","error","info","warn"],"sources":["../../src/useMessage.ts"],"sourcesContent":["import React from \"react\";\nimport { Notification } from \"@next-core/runtime\";\n\nexport interface Message {\n /**\n * 显示成功消息。\n * @param message - 要显示的消息内容\n */\n success: (message: string) => void;\n\n /**\n * 显示错误消息。\n * @param message - 要显示的消息内容\n */\n error: (message: string) => void;\n\n /**\n * 显示信息消息。\n * @param message - 要显示的消息内容\n */\n info: (message: string) => void;\n\n /**\n * 显示警告消息。\n * @param message - 要显示的消息内容\n */\n warn: (message: string) => void;\n}\n\n/**\n * 获取 message 对象的 React hooks,用于显示通知消息。\n *\n * **注意**: 使用 useMemo 确保返回的 message 对象引用稳定,\n * 避免不必要的组件重渲染。这在对象被用于依赖数组或传递给记忆化组件时尤为重要。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const message = useMessage();\n * const handleSuccess = () => {\n * message.success(\"操作成功!\");\n * };\n * const handleError = () => {\n * message.error(\"操作失败!\");\n * };\n * return (\n * <div>\n * <button onClick={handleSuccess}>成功</button>\n * <button onClick={handleError}>失败</button>\n * </div>\n * );\n * }\n * ```\n *\n * @returns message 对象,包含 success、error、info、warn 四个方法。\n */\nexport function useMessage(): Message {\n return React.useMemo(\n () => ({\n success: (message: string) => {\n Notification.show({ type: \"success\", message });\n },\n error: (message: string) => {\n Notification.show({ type: \"error\", message });\n },\n info: (message: string) => {\n Notification.show({ type: \"info\", message });\n },\n warn: (message: string) => {\n Notification.show({ type: \"warn\", message });\n },\n }),\n []\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,oBAAoB;AA4BjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAAA,EAAY;EACpC,OAAOF,KAAK,CAACG,OAAO,CAClB,OAAO;IACLC,OAAO,EAAGC,OAAe,IAAK;MAC5BJ,YAAY,CAACK,IAAI,CAAC;QAAEC,IAAI,EAAE,SAAS;QAAEF;MAAQ,CAAC,CAAC;IACjD,CAAC;IACDG,KAAK,EAAGH,OAAe,IAAK;MAC1BJ,YAAY,CAACK,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEF;MAAQ,CAAC,CAAC;IAC/C,CAAC;IACDI,IAAI,EAAGJ,OAAe,IAAK;MACzBJ,YAAY,CAACK,IAAI,CAAC;QAAEC,IAAI,EAAE,MAAM;QAAEF;MAAQ,CAAC,CAAC;IAC9C,CAAC;IACDK,IAAI,EAAGL,OAAe,IAAK;MACzBJ,YAAY,CAACK,IAAI,CAAC;QAAEC,IAAI,EAAE,MAAM;QAAEF;MAAQ,CAAC,CAAC;IAC9C;EACF,CAAC,CAAC,EACF,EACF,CAAC;AACH","ignoreList":[]}
@@ -1,17 +1,36 @@
1
- import React from "react";
1
+ import React, { ReactNode } from "react";
2
2
  import type { UseSingleBrickConf } from "@next-core/types";
3
3
  export type { UseSingleBrickConf };
4
- export interface ReactUseBrickProps {
5
- useBrick: UseSingleBrickConf;
6
- data?: unknown;
4
+ /**
5
+ * useBrick 的 render 函数类型。
6
+ *
7
+ * @example
8
+ *
9
+ * ```tsx
10
+ * const columns = [
11
+ * {
12
+ * key: "status",
13
+ * useBrick: (data) => <WrappedEoTag textContent={data.cellData} />
14
+ * }
15
+ * ];
16
+ * ```
17
+ */
18
+ export type UseBrickRenderFunction<T = unknown> = (data: T) => ReactNode;
19
+ /**
20
+ * useBrick 配置,支持配置对象或 render 函数。
21
+ */
22
+ export type UseBrickConfOrRenderFunction<T = unknown> = UseSingleBrickConf | UseBrickRenderFunction<T>;
23
+ export interface ReactUseBrickProps<T = unknown> {
24
+ useBrick: UseBrickConfOrRenderFunction<T>;
25
+ data?: T;
7
26
  errorBoundary?: boolean;
8
27
  refCallback?: (element: HTMLElement | null) => void;
9
28
  ignoredCallback?: () => void;
10
29
  }
11
30
  declare let ReactUseBrick: ({ useBrick, data, errorBoundary, refCallback, ignoredCallback, }: ReactUseBrickProps) => React.ReactElement | null;
12
- export interface ReactUseMultipleBricksProps {
13
- useBrick: UseSingleBrickConf | UseSingleBrickConf[];
14
- data?: unknown;
31
+ export interface ReactUseMultipleBricksProps<T = unknown> {
32
+ useBrick: UseSingleBrickConf | UseSingleBrickConf[] | UseBrickRenderFunction<T>;
33
+ data?: T;
15
34
  errorBoundary?: boolean;
16
35
  }
17
36
  declare let ReactUseMultipleBricks: ({ useBrick, data, errorBoundary, }: ReactUseMultipleBricksProps) => React.ReactElement | null;
@@ -17,3 +17,4 @@ export * from "./useFeatureFlags.js";
17
17
  export * from "./useSystemInfo.js";
18
18
  export * from "./useCheckPermissions.js";
19
19
  export * from "./useControlledState.js";
20
+ export * from "./useMessage.js";
@@ -0,0 +1,51 @@
1
+ export interface Message {
2
+ /**
3
+ * 显示成功消息。
4
+ * @param message - 要显示的消息内容
5
+ */
6
+ success: (message: string) => void;
7
+ /**
8
+ * 显示错误消息。
9
+ * @param message - 要显示的消息内容
10
+ */
11
+ error: (message: string) => void;
12
+ /**
13
+ * 显示信息消息。
14
+ * @param message - 要显示的消息内容
15
+ */
16
+ info: (message: string) => void;
17
+ /**
18
+ * 显示警告消息。
19
+ * @param message - 要显示的消息内容
20
+ */
21
+ warn: (message: string) => void;
22
+ }
23
+ /**
24
+ * 获取 message 对象的 React hooks,用于显示通知消息。
25
+ *
26
+ * **注意**: 使用 useMemo 确保返回的 message 对象引用稳定,
27
+ * 避免不必要的组件重渲染。这在对象被用于依赖数组或传递给记忆化组件时尤为重要。
28
+ *
29
+ * @example
30
+ *
31
+ * ```tsx
32
+ * function MyReactComponent() {
33
+ * const message = useMessage();
34
+ * const handleSuccess = () => {
35
+ * message.success("操作成功!");
36
+ * };
37
+ * const handleError = () => {
38
+ * message.error("操作失败!");
39
+ * };
40
+ * return (
41
+ * <div>
42
+ * <button onClick={handleSuccess}>成功</button>
43
+ * <button onClick={handleError}>失败</button>
44
+ * </div>
45
+ * );
46
+ * }
47
+ * ```
48
+ *
49
+ * @returns message 对象,包含 success、error、info、warn 四个方法。
50
+ */
51
+ export declare function useMessage(): Message;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/react-runtime",
3
- "version": "1.10.4",
3
+ "version": "1.11.1",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/react-runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -38,9 +38,9 @@
38
38
  "test:ci": "cross-env NODE_ENV='test' CI=true test-next"
39
39
  },
40
40
  "dependencies": {
41
- "@next-core/easyops-runtime": "^0.15.32",
41
+ "@next-core/easyops-runtime": "^0.15.33",
42
42
  "@next-core/react-element": "^1.0.40",
43
- "@next-core/runtime": "^1.72.7",
43
+ "@next-core/runtime": "^1.72.8",
44
44
  "@next-core/types": "^1.19.0",
45
45
  "react": "0.0.0-experimental-ee8509801-20230117",
46
46
  "react-dom": "0.0.0-experimental-ee8509801-20230117"
@@ -50,5 +50,5 @@
50
50
  "@next-core/test-next": "^2.0.1",
51
51
  "jest-fetch-mock": "^3.0.3"
52
52
  },
53
- "gitHead": "8ed4c20ef030e55a3dfdf5cac03bc554b4ab6bbc"
53
+ "gitHead": "6f770693e9786f976e05509b9cba8e993a5f97f1"
54
54
  }