@blocklet/pages-kit 0.4.32 → 0.4.34

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.
Files changed (50) hide show
  1. package/lib/cjs/api/call.js +7 -18
  2. package/lib/cjs/api/pages-kit.js +5 -17
  3. package/lib/cjs/builtin/async/react-scroll-to-bottom.js +5 -1
  4. package/lib/cjs/builtin/components/LanguageField/index.js +6 -18
  5. package/lib/cjs/builtin/iconify/react.js +1 -1
  6. package/lib/cjs/builtin/page/header.js +8 -5
  7. package/lib/cjs/builtin/session.js +6 -0
  8. package/lib/cjs/builtin/stream.js +1 -1
  9. package/lib/cjs/builtin/utils.js +3 -5
  10. package/lib/cjs/components/CustomComponentRenderer/BlockletReactComponentRenderer.js +5 -19
  11. package/lib/cjs/components/CustomComponentRenderer/DevProvider.js +2 -14
  12. package/lib/cjs/components/CustomComponentRenderer/ErrorComponent.js +2 -14
  13. package/lib/cjs/components/CustomComponentRenderer/index.js +12 -27
  14. package/lib/cjs/components/CustomComponentRenderer/state.js +121 -151
  15. package/lib/cjs/components/ResponsiveImage/index.js +3 -16
  16. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  17. package/lib/cjs/utils/inject-es-module-shims-options.js +1 -2
  18. package/lib/cjs/utils/inject-global-components-dump-json.js +1 -1
  19. package/lib/cjs/utils/inject-global-components.js +29 -20
  20. package/lib/cjs/utils/preload.js +1 -15
  21. package/lib/cjs/utils/property.js +31 -25
  22. package/lib/cjs/utils/typescript/builtin-module-transformer.js +12 -9
  23. package/lib/esm/api/call.js +7 -18
  24. package/lib/esm/api/pages-kit.js +5 -17
  25. package/lib/esm/builtin/async/react-scroll-to-bottom.js +5 -1
  26. package/lib/esm/builtin/components/LanguageField/index.js +6 -18
  27. package/lib/esm/builtin/iconify/react.js +1 -1
  28. package/lib/esm/builtin/page/header.js +8 -5
  29. package/lib/esm/builtin/session.js +5 -0
  30. package/lib/esm/builtin/stream.js +1 -1
  31. package/lib/esm/builtin/utils.js +3 -5
  32. package/lib/esm/components/CustomComponentRenderer/BlockletReactComponentRenderer.js +5 -19
  33. package/lib/esm/components/CustomComponentRenderer/DevProvider.js +2 -14
  34. package/lib/esm/components/CustomComponentRenderer/ErrorComponent.js +2 -14
  35. package/lib/esm/components/CustomComponentRenderer/index.js +12 -27
  36. package/lib/esm/components/CustomComponentRenderer/state.js +121 -151
  37. package/lib/esm/components/ResponsiveImage/index.js +3 -16
  38. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  39. package/lib/esm/utils/inject-es-module-shims-options.js +1 -2
  40. package/lib/esm/utils/inject-global-components-dump-json.js +1 -1
  41. package/lib/esm/utils/inject-global-components.js +29 -20
  42. package/lib/esm/utils/preload.js +1 -15
  43. package/lib/esm/utils/property.js +30 -25
  44. package/lib/esm/utils/typescript/builtin-module-transformer.js +10 -8
  45. package/lib/types/builtin/session.d.ts +13 -0
  46. package/lib/types/tsconfig.tsbuildinfo +1 -1
  47. package/lib/types/types/core.d.ts +11 -2
  48. package/lib/types/utils/property.d.ts +1 -0
  49. package/lib/types/utils/typescript/builtin-module-transformer.d.ts +1 -0
  50. package/package.json +1 -1
@@ -1,23 +1,12 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.preloadComponents = preloadComponents;
13
4
  const component_1 = require("@blocklet/sdk/lib/component");
14
- function preloadComponents(input) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- return (0, component_1.call)({
17
- name: 'pages-kit',
18
- method: 'POST',
19
- path: '/api/components/preload',
20
- data: input,
21
- }).then((res) => res.data);
22
- });
5
+ async function preloadComponents(input) {
6
+ return (0, component_1.call)({
7
+ name: 'pages-kit',
8
+ method: 'POST',
9
+ path: '/api/components/preload',
10
+ data: input,
11
+ }).then((res) => res.data);
23
12
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -16,12 +7,9 @@ exports.preloadComponents = preloadComponents;
16
7
  const axios_1 = __importDefault(require("axios"));
17
8
  const ufo_1 = require("ufo");
18
9
  const PAGES_KIT_DID = 'z8iZiDFg3vkkrPwsiba1TLXy3H9XHzFERsP8o';
19
- function preloadComponents(input) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- var _a, _b, _c;
22
- const prefix = ((_b = (_a = window.blocklet) === null || _a === void 0 ? void 0 : _a.componentMountPoints.find((i) => i.did === PAGES_KIT_DID && i.status === 'running')) === null || _b === void 0 ? void 0 : _b.mountPoint) ||
23
- ((_c = window === null || window === void 0 ? void 0 : window.blocklet) === null || _c === void 0 ? void 0 : _c.prefix) ||
24
- '/';
25
- return axios_1.default.post((0, ufo_1.joinURL)(prefix, '/api/components/preload'), input).then((res) => res.data);
26
- });
10
+ async function preloadComponents(input) {
11
+ const prefix = window.blocklet?.componentMountPoints.find((i) => i.did === PAGES_KIT_DID && i.status === 'running')?.mountPoint ||
12
+ window?.blocklet?.prefix ||
13
+ '/';
14
+ return axios_1.default.post((0, ufo_1.joinURL)(prefix, '/api/components/preload'), input).then((res) => res.data);
27
15
  }
@@ -29,4 +29,8 @@ exports.default = () => Promise.all([
29
29
  ? // @ts-ignore
30
30
  Promise.resolve().then(() => __importStar(require('react-scroll-to-bottom/lib/esm/hooks/internal/useInternalContext'))) : // @ts-ignore
31
31
  Promise.resolve().then(() => __importStar(require('react-scroll-to-bottom/lib/hooks/internal/useInternalContext'))),
32
- ]).then(([mod, { default: useInternalContext }]) => (Object.assign(Object.assign({}, mod), { Composer: mod.Composer, useInternalContext })));
32
+ ]).then(([mod, { default: useInternalContext }]) => ({
33
+ ...mod,
34
+ Composer: mod.Composer,
35
+ useInternalContext,
36
+ }));
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
@@ -30,18 +19,17 @@ const filter = (options, state) => {
30
19
  return true;
31
20
  });
32
21
  };
33
- const LanguageField = (0, react_2.forwardRef)((_a, ref) => {
34
- var { readOnly, parameter, onChange } = _a, props = __rest(_a, ["readOnly", "parameter", "onChange"]);
22
+ const LanguageField = (0, react_2.forwardRef)(({ readOnly, parameter, onChange, ...props }, ref) => {
35
23
  const { locale } = (0, context_1.useLocaleContext)();
36
- const value = (props === null || props === void 0 ? void 0 : props.value) ? languages_1.languages.find((o) => o.en === props.value) : null;
37
- return ((0, jsx_runtime_1.jsx)(material_1.Autocomplete, Object.assign({ size: "small", ref: ref }, (0, pick_1.default)(props, 'autoFocus', 'fullWidth', 'sx', 'className', 'style'), { renderInput: (params) => ((0, jsx_runtime_1.jsx)(material_1.TextField, Object.assign({}, (0, pick_1.default)(props, 'inputRef', 'size', 'hiddenLabel', 'helperText', 'error', 'placeholder', 'InputProps', 'inputProps'), params))), options: languages_1.languages, getOptionKey: (i) => i.en, getOptionLabel: (o) => {
24
+ const value = props?.value ? languages_1.languages.find((o) => o.en === props.value) : null;
25
+ return ((0, jsx_runtime_1.jsx)(material_1.Autocomplete, { size: "small", ref: ref, ...(0, pick_1.default)(props, 'autoFocus', 'fullWidth', 'sx', 'className', 'style'), renderInput: (params) => ((0, jsx_runtime_1.jsx)(material_1.TextField, { ...(0, pick_1.default)(props, 'inputRef', 'size', 'hiddenLabel', 'helperText', 'error', 'placeholder', 'InputProps', 'inputProps'), ...params })), options: languages_1.languages, getOptionKey: (i) => i.en, getOptionLabel: (o) => {
38
26
  return locale === 'zh' ? o.cn : o.en;
39
27
  }, autoHighlight: true, value: value, filterOptions: filter, onChange: (_e, newValue) => {
40
- onChange === null || onChange === void 0 ? void 0 : onChange(newValue === null || newValue === void 0 ? void 0 : newValue.en);
28
+ onChange?.(newValue?.en);
41
29
  }, renderOption: (props, option) => {
42
- return ((0, react_1.createElement)(material_1.MenuItem, Object.assign({}, props, { key: option.name }),
30
+ return ((0, react_1.createElement)(material_1.MenuItem, { ...props, key: option.name },
43
31
  (0, jsx_runtime_1.jsx)(material_1.ListItemIcon, { children: (0, jsx_runtime_1.jsx)(option.flag, {}) }),
44
32
  (0, jsx_runtime_1.jsx)(material_1.ListItemText, { primary: `${option.name} ${locale === 'zh' ? option.cn : option.en} (${option.abbr})` })));
45
- } })));
33
+ } }));
46
34
  });
47
35
  exports.default = LanguageField;
@@ -5,6 +5,6 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("@iconify/react");
6
6
  const material_1 = require("@mui/material");
7
7
  function Icon(props) {
8
- return (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ component: react_1.Icon }, props));
8
+ return (0, jsx_runtime_1.jsx)(material_1.Box, { component: react_1.Icon, ...props });
9
9
  }
10
10
  exports.default = Icon;
@@ -26,12 +26,15 @@ exports.useHeaderState = (0, zustand_1.create)()((0, immer_2.immer)((set, get) =
26
26
  for (const i of get().stack) {
27
27
  widgets.push(i());
28
28
  }
29
- const r = widgets.reduce((res, i) => (Object.assign(Object.assign(Object.assign({}, res), i), { addons: (exists) => {
30
- var _a, _b, _c, _d;
31
- const a = (_b = (_a = res.addons) === null || _a === void 0 ? void 0 : _a.call(res, exists)) !== null && _b !== void 0 ? _b : exists;
32
- const b = (_d = (_c = i.addons) === null || _c === void 0 ? void 0 : _c.call(i, a)) !== null && _d !== void 0 ? _d : a;
29
+ const r = widgets.reduce((res, i) => ({
30
+ ...res,
31
+ ...i,
32
+ addons: (exists) => {
33
+ const a = res.addons?.(exists) ?? exists;
34
+ const b = i.addons?.(a) ?? a;
33
35
  return b;
34
- } })), {});
36
+ },
37
+ }), {});
35
38
  set((state) => {
36
39
  state.logo = r.logo;
37
40
  state.description = r.description;
@@ -14,4 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.useSessionContext = useSessionContext;
18
+ const Session_1 = require("@arcblock/did-connect/lib/Session");
19
+ const react_1 = require("react");
17
20
  __exportStar(require("@arcblock/did-connect/lib/Session"), exports);
21
+ function useSessionContext() {
22
+ return (0, react_1.useContext)(Session_1.SessionContext);
23
+ }
@@ -24,7 +24,7 @@ class EventSourceParserStream extends TransformStream {
24
24
  });
25
25
  },
26
26
  transform(chunk) {
27
- parser === null || parser === void 0 ? void 0 : parser.feed(chunk);
27
+ parser?.feed(chunk);
28
28
  },
29
29
  });
30
30
  }
@@ -9,18 +9,16 @@ Object.defineProperty(exports, "joinURL", { enumerable: true, get: function () {
9
9
  Object.defineProperty(exports, "withQuery", { enumerable: true, get: function () { return ufo_2.withQuery; } });
10
10
  Object.defineProperty(exports, "getQuery", { enumerable: true, get: function () { return ufo_2.getQuery; } });
11
11
  function getComponentMountPoint(name) {
12
- var _a, _b;
13
12
  if (typeof window === 'undefined') {
14
13
  // eslint-disable-next-line global-require
15
14
  return require('@blocklet/sdk/lib/component').getComponentMountPoint(name);
16
15
  }
17
- return (_b = (_a = globalThis.blocklet) === null || _a === void 0 ? void 0 : _a.componentMountPoints.find((i) => i.name === name || i.did === name)) === null || _b === void 0 ? void 0 : _b.mountPoint;
16
+ return globalThis.blocklet?.componentMountPoints.find((i) => i.name === name || i.did === name)?.mountPoint;
18
17
  }
19
18
  function getMediaKitAbsoluteUrl(url) {
20
- var _a, _b;
21
- const PREFIX = ((_a = window.blocklet) === null || _a === void 0 ? void 0 : _a.prefix) || '/';
19
+ const PREFIX = window.blocklet?.prefix || '/';
22
20
  const IMAGE_BIN_DID = 'z8ia1mAXo8ZE7ytGF36L5uBf9kD2kenhqFGp9';
23
- const IMAGE_BIN_PREFIX = ((_b = blocklet === null || blocklet === void 0 ? void 0 : blocklet.componentMountPoints.find((i) => i.did === IMAGE_BIN_DID)) === null || _b === void 0 ? void 0 : _b.mountPoint) || (0, ufo_1.joinURL)(PREFIX, '/image-bin');
21
+ const IMAGE_BIN_PREFIX = blocklet?.componentMountPoints.find((i) => i.did === IMAGE_BIN_DID)?.mountPoint || (0, ufo_1.joinURL)(PREFIX, '/image-bin');
24
22
  if (url && url.startsWith('mediakit://')) {
25
23
  return window.location.origin + (0, ufo_1.joinURL)(IMAGE_BIN_PREFIX, 'uploads', url.replace('mediakit://', ''));
26
24
  }
@@ -22,28 +22,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __rest = (this && this.__rest) || function (s, e) {
26
- var t = {};
27
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
- t[p] = s[p];
29
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
- t[p[i]] = s[p[i]];
33
- }
34
- return t;
35
- };
36
25
  Object.defineProperty(exports, "__esModule", { value: true });
37
26
  exports.default = BlockletReactComponentRenderer;
38
27
  const jsx_runtime_1 = require("react/jsx-runtime");
39
28
  const react_1 = __importStar(require("react"));
40
29
  const utils_1 = require("../../builtin/utils");
41
- function BlockletReactComponentRenderer(_a) {
42
- var props = __rest(_a, []);
30
+ function BlockletReactComponentRenderer({ ...props }) {
43
31
  const url = (0, react_1.useMemo)(() => {
44
- var _a, _b, _c, _d;
45
- const did = (_b = (_a = props.properties) === null || _a === void 0 ? void 0 : _a.blockletDid) === null || _b === void 0 ? void 0 : _b.value;
46
- const path = (_d = (_c = props.properties) === null || _c === void 0 ? void 0 : _c.componentPath) === null || _d === void 0 ? void 0 : _d.value;
32
+ const did = props.properties?.blockletDid?.value;
33
+ const path = props.properties?.componentPath?.value;
47
34
  if (!did || !path)
48
35
  return null;
49
36
  return (0, utils_1.joinURL)(window.location.origin, (0, utils_1.getComponentMountPoint)(did), path);
@@ -52,11 +39,10 @@ function BlockletReactComponentRenderer(_a) {
52
39
  throw new Error('Missing required properties `blockletDid` or `componentPath`');
53
40
  }
54
41
  const C = loadComponent(url);
55
- return (0, jsx_runtime_1.jsx)(C, Object.assign({}, props.props));
42
+ return (0, jsx_runtime_1.jsx)(C, { ...props.props });
56
43
  }
57
44
  const COMPONENTS_CACHE = {};
58
45
  function loadComponent(url) {
59
- var _a;
60
- (_a = COMPONENTS_CACHE[url]) !== null && _a !== void 0 ? _a : (COMPONENTS_CACHE[url] = react_1.default.lazy(() => Promise.resolve(`${url}`).then(s => __importStar(require(s)))));
46
+ COMPONENTS_CACHE[url] ??= react_1.default.lazy(() => Promise.resolve(`${url}`).then(s => __importStar(require(s))));
61
47
  return COMPONENTS_CACHE[url];
62
48
  }
@@ -1,24 +1,12 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.DevProvider = DevProvider;
15
4
  exports.useDev = useDev;
16
5
  const jsx_runtime_1 = require("react/jsx-runtime");
17
6
  const react_1 = require("react");
18
7
  const devContext = (0, react_1.createContext)(undefined);
19
- function DevProvider(_a) {
20
- var { dev } = _a, props = __rest(_a, ["dev"]);
21
- return (0, jsx_runtime_1.jsx)(devContext.Provider, Object.assign({ value: dev }, props));
8
+ function DevProvider({ dev, ...props }) {
9
+ return (0, jsx_runtime_1.jsx)(devContext.Provider, { value: dev, ...props });
22
10
  }
23
11
  function useDev() {
24
12
  return (0, react_1.useContext)(devContext);
@@ -1,21 +1,9 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.ComponentError = void 0;
15
4
  const jsx_runtime_1 = require("react/jsx-runtime");
16
5
  const material_1 = require("@mui/material");
17
- const ComponentError = (_a) => {
18
- var { title = 'Component Failed to Load', message, componentId, componentName, blockletId, blockletTitle, showHints = false, error, resetErrorBoundary } = _a, rest = __rest(_a, ["title", "message", "componentId", "componentName", "blockletId", "blockletTitle", "showHints", "error", "resetErrorBoundary"]);
6
+ const ComponentError = ({ title = 'Component Failed to Load', message, componentId, componentName, blockletId, blockletTitle, showHints = false, error, resetErrorBoundary, ...rest }) => {
19
7
  // 如果提供了error但没有message,使用error.message
20
8
  const displayMessage = message || (error ? error.message : 'Unknown error');
21
9
  console.warn(rest);
@@ -35,6 +23,6 @@ const ComponentError = (_a) => {
35
23
  fontSize: '0.75rem',
36
24
  overflow: 'auto',
37
25
  maxHeight: '200px',
38
- }, children: error.stack })), showHints && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", sx: { color: 'text.secondary' }, children: "Please try the following:" }), (0, jsx_runtime_1.jsxs)(material_1.Box, { component: "ul", sx: { m: 0, pl: 2 }, children: [componentId && ((0, jsx_runtime_1.jsxs)(material_1.Typography, { component: "li", variant: "body2", sx: { color: 'text.secondary' }, children: ["Select component", ' ', (0, jsx_runtime_1.jsx)(material_1.Box, { component: "span", sx: { fontWeight: 500 }, children: componentName !== null && componentName !== void 0 ? componentName : componentId }), ' ', "in settings or create this component."] })), (blockletId || blockletTitle) && ((0, jsx_runtime_1.jsxs)(material_1.Typography, { component: "li", variant: "body2", sx: { color: 'text.secondary' }, children: ["Contact administrator to install", ' ', (0, jsx_runtime_1.jsx)(material_1.Box, { component: "span", sx: { fontWeight: 500 }, children: blockletTitle !== null && blockletTitle !== void 0 ? blockletTitle : blockletId }), ' ', "Blocklet"] }))] })] })), resetErrorBoundary && ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { mt: 2 }, children: (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", color: "error", size: "small", onClick: resetErrorBoundary, children: "Try Again" }) }))] }));
26
+ }, children: error.stack })), showHints && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", sx: { color: 'text.secondary' }, children: "Please try the following:" }), (0, jsx_runtime_1.jsxs)(material_1.Box, { component: "ul", sx: { m: 0, pl: 2 }, children: [componentId && ((0, jsx_runtime_1.jsxs)(material_1.Typography, { component: "li", variant: "body2", sx: { color: 'text.secondary' }, children: ["Select component", ' ', (0, jsx_runtime_1.jsx)(material_1.Box, { component: "span", sx: { fontWeight: 500 }, children: componentName ?? componentId }), ' ', "in settings or create this component."] })), (blockletId || blockletTitle) && ((0, jsx_runtime_1.jsxs)(material_1.Typography, { component: "li", variant: "body2", sx: { color: 'text.secondary' }, children: ["Contact administrator to install", ' ', (0, jsx_runtime_1.jsx)(material_1.Box, { component: "span", sx: { fontWeight: 500 }, children: blockletTitle ?? blockletId }), ' ', "Blocklet"] }))] })] })), resetErrorBoundary && ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { mt: 2 }, children: (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", color: "error", size: "small", onClick: resetErrorBoundary, children: "Try Again" }) }))] }));
39
27
  };
40
28
  exports.ComponentError = ComponentError;
@@ -13,17 +13,6 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
- var __rest = (this && this.__rest) || function (s, e) {
17
- var t = {};
18
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
19
- t[p] = s[p];
20
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
21
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
22
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
23
- t[p[i]] = s[p[i]];
24
- }
25
- return t;
26
- };
27
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
28
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
29
18
  };
@@ -40,40 +29,36 @@ const state_1 = require("./state");
40
29
  __exportStar(require("./state"), exports);
41
30
  __exportStar(require("./context"), exports);
42
31
  const MAXIMUM_RENDER_STACK_SIZE = 20;
43
- function CustomComponentRenderer(_a) {
44
- var _b;
45
- var { dev } = _a, props = __rest(_a, ["dev"]);
32
+ function CustomComponentRenderer({ dev, ...props }) {
46
33
  const inheritedDev = (0, DevProvider_1.useDev)();
47
34
  const BuiltinComponent = BuiltinComponents[props.componentId];
48
- return ((0, jsx_runtime_1.jsx)(react_error_boundary_1.ErrorBoundary, { FallbackComponent: (props === null || props === void 0 ? void 0 : props.fallbackRender) || ErrorComponent_1.ComponentError, resetKeys: [Date.now()], children: (0, jsx_runtime_1.jsx)(DevProvider_1.DevProvider, { dev: dev !== null && dev !== void 0 ? dev : inheritedDev, children: BuiltinComponent ? ((0, jsx_runtime_1.jsx)(BuiltinComponent, Object.assign({}, props))) : ((0, jsx_runtime_1.jsx)(ComponentRenderer, Object.assign({}, props, { instanceId: (_b = props.instanceId) !== null && _b !== void 0 ? _b : props.componentId, renderType: props.renderType }))) }) }));
35
+ return ((0, jsx_runtime_1.jsx)(react_error_boundary_1.ErrorBoundary, { FallbackComponent: props?.fallbackRender || ErrorComponent_1.ComponentError, resetKeys: [Date.now()], children: (0, jsx_runtime_1.jsx)(DevProvider_1.DevProvider, { dev: dev ?? inheritedDev, children: BuiltinComponent ? ((0, jsx_runtime_1.jsx)(BuiltinComponent, { ...props })) : ((0, jsx_runtime_1.jsx)(ComponentRenderer, { ...props, instanceId: props.instanceId ?? props.componentId, renderType: props.renderType })) }) }));
49
36
  }
50
37
  const BuiltinComponents = {
51
38
  'blocklet-react-component': BlockletReactComponentRenderer_1.default,
52
39
  };
53
- function ComponentRenderer(_a) {
54
- var _b;
55
- var { renderCount = 0, blockletId, blockletTitle, componentName, renderType = 'view' } = _a, props = __rest(_a, ["renderCount", "blockletId", "blockletTitle", "componentName", "renderType"]);
40
+ function ComponentRenderer({ renderCount = 0, blockletId, blockletTitle, componentName, renderType = 'view', ...props }) {
56
41
  const dev = (0, DevProvider_1.useDev)();
57
42
  if (renderCount > MAXIMUM_RENDER_STACK_SIZE) {
58
43
  throw new Error('Maximum render stack size exceeded');
59
44
  }
60
- const component = (0, state_1.useComponent)(Object.assign(Object.assign({}, props), { dev }));
45
+ const component = (0, state_1.useComponent)({ ...props, dev });
61
46
  const ctx = (0, context_1.useCustomComponentRenderer)();
62
- if (component === null || component === void 0 ? void 0 : component.error) {
47
+ if (component?.error) {
63
48
  throw component.error;
64
49
  }
65
50
  const renderComponentChildren = (Component) => {
66
- const children = ((0, jsx_runtime_1.jsx)(Renderer, Object.assign({ renderCount: renderCount + 1 }, props, { Component: Component, props: Object.assign(Object.assign({}, component === null || component === void 0 ? void 0 : component.props), props.props) })));
67
- return (ctx === null || ctx === void 0 ? void 0 : ctx.customRendererComponent) ? ((0, jsx_runtime_1.jsx)(ctx.customRendererComponent, { Component: Component, children: children })) : (children);
51
+ const children = ((0, jsx_runtime_1.jsx)(Renderer, { renderCount: renderCount + 1, ...props, Component: Component, props: { ...component?.props, ...props.props } }));
52
+ return ctx?.customRendererComponent ? ((0, jsx_runtime_1.jsx)(ctx.customRendererComponent, { Component: Component, children: children })) : (children);
68
53
  };
69
- if ((component === null || component === void 0 ? void 0 : component.Component) && renderType === 'view') {
54
+ if (component?.Component && renderType === 'view') {
70
55
  return renderComponentChildren(component.Component);
71
56
  }
72
- if ((component === null || component === void 0 ? void 0 : component.EditComponent) && renderType === 'setting') {
57
+ if (component?.EditComponent && renderType === 'setting') {
73
58
  return renderComponentChildren(component.EditComponent);
74
59
  }
75
60
  // if the component is not in the dev.components, it means the component is not loaded
76
- if ((dev === null || dev === void 0 ? void 0 : dev.mode) === 'draft' && dev && ((_b = dev.components) === null || _b === void 0 ? void 0 : _b[props.componentId]) === undefined) {
61
+ if (dev?.mode === 'draft' && dev && dev.components?.[props.componentId] === undefined) {
77
62
  return ((0, jsx_runtime_1.jsx)(ErrorComponent_1.ComponentError, { componentId: props.componentId, componentName: componentName, blockletId: blockletId, blockletTitle: blockletTitle, message: "Component not found in available components", showHints: true }));
78
63
  }
79
64
  return null;
@@ -82,8 +67,8 @@ function Renderer({ renderCount, Component, locale, props, }) {
82
67
  const componentProps = Object.fromEntries(Object.entries(props).map(([key, val]) => {
83
68
  return [
84
69
  key,
85
- (val === null || val === void 0 ? void 0 : val.type) === property_1.RenderNestedComponent ? ((0, jsx_runtime_1.jsx)(ComponentRenderer, { locale: locale, renderCount: renderCount, componentId: val.componentId, properties: val.properties, props: val.props })) : (val),
70
+ val?.type === property_1.RenderNestedComponent ? ((0, jsx_runtime_1.jsx)(ComponentRenderer, { locale: locale, renderCount: renderCount, componentId: val.componentId, properties: val.properties, props: val.props })) : (val),
86
71
  ];
87
72
  }));
88
- return (0, jsx_runtime_1.jsx)(Component, Object.assign({ locale: locale }, componentProps));
73
+ return (0, jsx_runtime_1.jsx)(Component, { locale: locale, ...componentProps });
89
74
  }