@next-core/react-runtime 1.1.42 → 1.1.44

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.
@@ -11,7 +11,9 @@ var _runtime = require("@next-core/runtime");
11
11
  // `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`
12
12
  let ReactUseBrick = exports.ReactUseBrick = function ReactUseBrick({
13
13
  useBrick,
14
- data
14
+ data,
15
+ refCallback,
16
+ ignoredCallback
15
17
  }) {
16
18
  const [renderResult, setRenderResult] = (0, _react.useState)(null);
17
19
  const mountResult = (0, _react.useRef)();
@@ -44,7 +46,7 @@ let ReactUseBrick = exports.ReactUseBrick = function ReactUseBrick({
44
46
  ignore = true;
45
47
  };
46
48
  }, [data, useBrick, initialRenderId]);
47
- const refCallback = (0, _react.useCallback)(element => {
49
+ const _refCallback = (0, _react.useCallback)(element => {
48
50
  if (element) {
49
51
  mountResult.current = _runtime.__secret_internals.mountUseBrick(
50
52
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -54,23 +56,24 @@ let ReactUseBrick = exports.ReactUseBrick = function ReactUseBrick({
54
56
  _runtime.__secret_internals.unmountUseBrick(renderResult, mountResult.current);
55
57
  mountResult.current = undefined;
56
58
  }
57
- }, [renderResult]);
59
+ refCallback === null || refCallback === void 0 || refCallback(element);
60
+ }, [refCallback, renderResult]);
58
61
  if (!renderResult) {
59
62
  // Fallback when loading/
60
63
  return null;
61
64
  // return <span>🌀 Loading...</span>;
62
65
  }
63
-
64
66
  const {
65
67
  tagName
66
68
  } = renderResult;
67
69
  if (tagName === null) {
70
+ ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();
68
71
  return null;
69
72
  }
70
73
  const WebComponent = tagName;
71
74
  return /*#__PURE__*/_react.default.createElement(WebComponent, {
72
75
  key: renderKey,
73
- ref: refCallback
76
+ ref: _refCallback
74
77
  });
75
78
  };
76
79
  function getUniqueId(ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"ReactUseBrick.js","names":["_react","_interopRequireWildcard","require","_runtime","ReactUseBrick","exports","useBrick","data","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 interface ReactUseBrickProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\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}: 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 );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (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]);\n\n const refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult!,\n element\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n },\n [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 return null;\n }\n\n const WebComponent = tagName as any;\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}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick key={index} useBrick={item} data={data} />\n ))}\n </>\n );\n }\n return <ReactUseBrick useBrick={useBrick} data={data} />;\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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"}
1
+ {"version":3,"file":"ReactUseBrick.js","names":["_react","_interopRequireWildcard","require","_runtime","ReactUseBrick","exports","useBrick","data","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 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 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 );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (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]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult!,\n element\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\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 any;\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}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick key={index} useBrick={item} data={data} />\n ))}\n </>\n );\n }\n return <ReactUseBrick useBrick={useBrick} data={data} />;\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":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,QAAA,GAAAD,OAAA;AAeA;AACA;AACA,IAAIE,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAASA,aAAaA,CAAC;EACzCE,QAAQ;EACRC,IAAI;EACJC,WAAW;EACXC;AACkB,CAAC,EAA6B;EAChD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GACnC,IAAAC,eAAQ,EAAiD,IAAI,CAAC;EAChE,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAAyC,CAAC;EACpE,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAJ,eAAQ,EAAS,CAAC;EACpD,MAAMK,YAAY,GAAG,IAAAH,aAAM,EAAC,CAAC,CAAC;EAC9B,MAAMI,eAAe,GAAG,IAAAC,cAAO,EAAC;IAAA,IAAAC,oBAAA;IAAA,QAAAA,oBAAA,GAAMC,2BAAkB,CAACC,WAAW,cAAAF,oBAAA,uBAA9BA,oBAAA,CAAAG,IAAA,CAAAF,2BAAiC,CAAC;EAAA,GAAE,EAAE,CAAC;EAE7E,IAAAG,gBAAS,EAAC,MAAM;IACd,IAAIC,MAAM,GAAG,KAAK;IAClB,eAAeC,IAAIA,CAAA,EAAG;MACpB,IAAI;QACF,MAAMC,SAAS,GAAG,MAAMN,2BAAkB,CAACO,cAAc,CACvDtB,QAAQ,EACRC,IACF,CAAC;QACD,IAAIkB,MAAM,EAAE;UACV;QACF;QACAd,eAAe,CAACgB,SAAS,CAAC;QAC1BX,YAAY,CAACa,WAAW,CAACZ,YAAY,CAAC,CAAC;MACzC,CAAC,CAAC,OAAOa,KAAK,EAAE;QACd,IAAIC,eAAe,CAACb,eAAe,CAAC,EAAE;UACpC;UACAc,OAAO,CAACF,KAAK,CACX,yBAAyB,EACzBxB,QAAQ,EACR,YAAY,EACZC,IACF,CAAC;UACD,IAAA0B,wBAAe,EAACH,KAAK,CAAC;QACxB;MACF;IACF;IACAJ,IAAI,CAAC,CAAC;IACN,OAAO,MAAM;MACXD,MAAM,GAAG,IAAI;IACf,CAAC;EACH,CAAC,EAAE,CAAClB,IAAI,EAAED,QAAQ,EAAEY,eAAe,CAAC,CAAC;EAErC,MAAMgB,YAAY,GAAG,IAAAC,kBAAW,EAC7BC,OAA2B,IAAK;IAC/B,IAAIA,OAAO,EAAE;MACXvB,WAAW,CAACwB,OAAO,GAAGhB,2BAAkB,CAACiB,aAAa;MACpD;MACA5B,YAAY,EACZ0B,OACF,CAAC;IACH,CAAC,MAAM;MACL;MACAf,2BAAkB,CAACkB,eAAe,CAAC7B,YAAY,EAAGG,WAAW,CAACwB,OAAQ,CAAC;MACvExB,WAAW,CAACwB,OAAO,GAAGG,SAAS;IACjC;IACAhC,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAG4B,OAAO,CAAC;EACxB,CAAC,EACD,CAAC5B,WAAW,EAAEE,YAAY,CAC5B,CAAC;EAED,IAAI,CAACA,YAAY,EAAE;IACjB;IACA,OAAO,IAAI;IACX;EACF;EAEA,MAAM;IAAE+B;EAAQ,CAAC,GAAG/B,YAAY;EAChC,IAAI+B,OAAO,KAAK,IAAI,EAAE;IACpBhC,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAG,CAAC;IACnB,OAAO,IAAI;EACb;EAEA,MAAMiC,YAAY,GAAGD,OAAc;EACnC,oBAAOzC,MAAA,CAAA2C,OAAA,CAAAC,aAAA,CAACF,YAAY;IAACG,GAAG,EAAE9B,SAAU;IAAC+B,GAAG,EAAEZ;EAAa,CAAE,CAAC;AAC5D,CAAC;AAED,SAASL,WAAWA,CAACiB,GAA6B,EAAU;EAC1D,OAAO,EAAEA,GAAG,CAACT,OAAO;AACtB;AAEA,SAASN,eAAeA,CAACb,eAAmC,EAAW;EAAA,IAAA6B,qBAAA;EACrE,MAAMC,WAAW,IAAAD,qBAAA,GAAG1B,2BAAkB,CAACC,WAAW,cAAAyB,qBAAA,uBAA9BA,qBAAA,CAAAxB,IAAA,CAAAF,2BAAiC,CAAC;EACtD,OAAO,CAACH,eAAe,IAAI,CAAC8B,WAAW,IAAI9B,eAAe,KAAK8B,WAAW;AAC5E;AAOA,IAAIC,sBAAsB,GAAA5C,OAAA,CAAA4C,sBAAA,GAAG,SAASA,sBAAsBA,CAAC;EAC3D3C,QAAQ;EACRC;AAC2B,CAAC,EAA6B;EACzD,IAAI2C,KAAK,CAACC,OAAO,CAAC7C,QAAQ,CAAC,EAAE;IAC3B,oBACEN,MAAA,CAAA2C,OAAA,CAAAC,aAAA,CAAA5C,MAAA,CAAA2C,OAAA,CAAAS,QAAA,QACG9C,QAAQ,CAAC+C,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,kBACxBvD,MAAA,CAAA2C,OAAA,CAAAC,aAAA,CAACxC,aAAa;MAACyC,GAAG,EAAEU,KAAM;MAACjD,QAAQ,EAAEgD,IAAK;MAAC/C,IAAI,EAAEA;IAAK,CAAE,CACzD,CACD,CAAC;EAEP;EACA,oBAAOP,MAAA,CAAA2C,OAAA,CAAAC,aAAA,CAACxC,aAAa;IAACE,QAAQ,EAAEA,QAAS;IAACC,IAAI,EAAEA;EAAK,CAAE,CAAC;AAC1D,CAAC;;AAED;AACA;AACA,MAAMiD,KAAK,GAAG,IAAAC,4BAAmB,EAAC,CAAC;AACnC;AACA,IAAID,KAAK,EAAE;EACT,MAAM;IAAEE,6BAA6B;IAAEC;EAAwB,CAAC,GAAGH,KAAK;EACxE,IAAIE,6BAA6B,IAAIC,uBAAuB,EAAE;IAC5DtD,OAAA,CAAAD,aAAA,GAAAA,aAAa,GAAGsD,6BAA6B,CAACE,cAAK,CAAC;IACpDvD,OAAA,CAAA4C,sBAAA,GAAAA,sBAAsB,GAAGU,uBAAuB,CAACC,cAAK,CAAC;EACzD;AACF"}
@@ -6,7 +6,9 @@ import { __secret_internals, handleHttpError, getV2RuntimeFromDll } from "@next-
6
6
  var ReactUseBrick = function ReactUseBrick(_ref) {
7
7
  var {
8
8
  useBrick,
9
- data
9
+ data,
10
+ refCallback,
11
+ ignoredCallback
10
12
  } = _ref;
11
13
  var [renderResult, setRenderResult] = useState(null);
12
14
  var mountResult = useRef();
@@ -45,7 +47,7 @@ var ReactUseBrick = function ReactUseBrick(_ref) {
45
47
  ignore = true;
46
48
  };
47
49
  }, [data, useBrick, initialRenderId]);
48
- var refCallback = useCallback(element => {
50
+ var _refCallback = useCallback(element => {
49
51
  if (element) {
50
52
  mountResult.current = __secret_internals.mountUseBrick(
51
53
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -55,23 +57,24 @@ var ReactUseBrick = function ReactUseBrick(_ref) {
55
57
  __secret_internals.unmountUseBrick(renderResult, mountResult.current);
56
58
  mountResult.current = undefined;
57
59
  }
58
- }, [renderResult]);
60
+ refCallback === null || refCallback === void 0 || refCallback(element);
61
+ }, [refCallback, renderResult]);
59
62
  if (!renderResult) {
60
63
  // Fallback when loading/
61
64
  return null;
62
65
  // return <span>🌀 Loading...</span>;
63
66
  }
64
-
65
67
  var {
66
68
  tagName
67
69
  } = renderResult;
68
70
  if (tagName === null) {
71
+ ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();
69
72
  return null;
70
73
  }
71
74
  var WebComponent = tagName;
72
75
  return /*#__PURE__*/React.createElement(WebComponent, {
73
76
  key: renderKey,
74
- ref: refCallback
77
+ ref: _refCallback
75
78
  });
76
79
  };
77
80
  function getUniqueId(ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","renderResult","setRenderResult","mountResult","renderKey","setRenderKey","IdCounterRef","initialRenderId","_secret_internals$ge","getRenderId","call","ignore","init","_init","apply","arguments","_asyncToGenerator","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 interface ReactUseBrickProps {\n useBrick: UseSingleBrickConf;\n data?: unknown;\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}: 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 );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (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]);\n\n const refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult!,\n element\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult!, mountResult.current!);\n mountResult.current = undefined;\n }\n },\n [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 return null;\n }\n\n const WebComponent = tagName as any;\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}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick key={index} useBrick={item} data={data} />\n ))}\n </>\n );\n }\n return <ReactUseBrick useBrick={useBrick} data={data} />;\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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"}
1
+ {"version":3,"file":"ReactUseBrick.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","__secret_internals","handleHttpError","getV2RuntimeFromDll","ReactUseBrick","_ref","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","mountResult","renderKey","setRenderKey","IdCounterRef","initialRenderId","_secret_internals$ge","getRenderId","call","ignore","init","_init","apply","arguments","_asyncToGenerator","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 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 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 );\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (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]);\n\n const _refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult!,\n element\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\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 any;\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}\n\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks({\n useBrick,\n data,\n}: ReactUseMultipleBricksProps): React.ReactElement | null {\n if (Array.isArray(useBrick)) {\n return (\n <>\n {useBrick.map((item, index) => (\n <ReactUseBrick key={index} useBrick={item} data={data} />\n ))}\n </>\n );\n }\n return <ReactUseBrick useBrick={useBrick} data={data} />;\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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"}
@@ -1,10 +1,13 @@
1
1
  import React from "react";
2
2
  import type { UseSingleBrickConf } from "@next-core/types";
3
+ export type { UseSingleBrickConf };
3
4
  export interface ReactUseBrickProps {
4
5
  useBrick: UseSingleBrickConf;
5
6
  data?: unknown;
7
+ refCallback?: (element: HTMLElement | null) => void;
8
+ ignoredCallback?: () => void;
6
9
  }
7
- declare let ReactUseBrick: ({ useBrick, data, }: ReactUseBrickProps) => React.ReactElement | null;
10
+ declare let ReactUseBrick: ({ useBrick, data, refCallback, ignoredCallback, }: ReactUseBrickProps) => React.ReactElement | null;
8
11
  export interface ReactUseMultipleBricksProps {
9
12
  useBrick: UseSingleBrickConf | UseSingleBrickConf[];
10
13
  data?: unknown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/react-runtime",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/react-runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -37,14 +37,14 @@
37
37
  "test:ci": "cross-env NODE_ENV='test' CI=true test-next"
38
38
  },
39
39
  "dependencies": {
40
- "@next-core/runtime": "^1.28.1",
40
+ "@next-core/runtime": "^1.29.0",
41
41
  "@next-core/types": "^1.7.3",
42
42
  "react": "0.0.0-experimental-ee8509801-20230117",
43
43
  "react-dom": "0.0.0-experimental-ee8509801-20230117"
44
44
  },
45
45
  "devDependencies": {
46
- "@next-core/build-next-libs": "^1.0.9",
47
- "@next-core/test-next": "^1.0.12"
46
+ "@next-core/build-next-libs": "^1.0.10",
47
+ "@next-core/test-next": "^1.0.13"
48
48
  },
49
- "gitHead": "80b204c847ad2318af1955fb6c1e9e56f4c78eda"
49
+ "gitHead": "a2c1b507277378261f2ab1c9a0445e60f497aa37"
50
50
  }